python图像处理之反色实现方法


Posted in Python onMay 30, 2015

本文实例讲述了python图像处理之反色实现方法。分享给大家供大家参考。具体如下:

我们先加载一个8位灰度图像

每一个像素对应的灰度值从0-255

则只需要读取每个像素的灰度值A,再将255-A写入

这样操作一遍后,图像就会反色了

这里运行环境为:

Python为:Python2.7.6
OpenCV2.4.10版(可到http://sourceforge.net/projects/opencvlibrary/files/opencv-win/下载)
numpy为:numpy-1.9.1-win32-superpack-python2.7(可到http://sourceforge.net/projects/numpy/files/NumPy/1.9.1/下载)

具体python代码如下:

import cv2.cv as cv
image = cv.LoadImage('angelababy.jpg',0)
size = (image.width,image.height)
iTmp = cv.CreateImage(size,image.depth,image.nChannels)
for i in range(image.height):
  for j in range(image.width):
    iTmp[i,j] = 255 - image[i,j]
cv.NamedWindow('image')
cv.NamedWindow('iTmp')
cv.ShowImage('image',image)
cv.ShowImage('iTmp',iTmp)
cv.WaitKey(0)

运行结果如下图所示:

python图像处理之反色实现方法

我们再稍微改动一下上面的代码

对于彩色图片,对于每个像素点,OpenCV在Python中是以tuple(R,G,B)的形式存储的

所以对于彩色图片的反色,只需要获得tuple(255-R,255-G,255-B)就行了

代码如下:

import cv2.cv as cv
image = cv.LoadImage('angelababy.jpg',1)
size = (image.width,image.height)
iTmp = cv.CreateImage(size,image.depth,image.nChannels)
for i in range(image.height):
  for j in range(image.width):
    iTmp[i,j] = (255-image[i,j][0],255-image[i,j][1],255-image[i,j][2])
cv.NamedWindow('image')
cv.NamedWindow('iTmp')
cv.ShowImage('image',image)
cv.ShowImage('iTmp',iTmp)
cv.WaitKey(0)

运行效果如下图所示:

python图像处理之反色实现方法

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
几个提升Python运行效率的方法之间的对比
Apr 03 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
May 25 Python
python脚本爬取字体文件的实现方法
Apr 29 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
python机器学习实战之最近邻kNN分类器
Dec 20 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
python如何将图片转换为字符图片
Aug 19 Python
Python Requests库基本用法示例
Aug 20 Python
pandas DataFrame索引行列的实现
Jun 04 Python
Django集成CAS单点登录的方法示例
Jun 10 Python
python实现七段数码管和倒计时效果
Nov 23 Python
基于Python实现视频的人脸融合功能
Jun 12 Python
python中字典(Dictionary)用法实例详解
May 30 #Python
python集合用法实例分析
May 30 #Python
基于wxpython实现的windows GUI程序实例
May 30 #Python
python简单实现旋转图片的方法
May 30 #Python
Python实现控制台输入密码的方法
May 29 #Python
python删除过期文件的方法
May 29 #Python
Python的Django框架中TEMPLATES项的设置教程
May 29 #Python
You might like
给初学PHP的5个入手程序
2006/11/23 PHP
用PHP与XML联手进行网站编程代码实例
2008/07/10 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
Yii模型操作之criteria查找数据库的方法
2016/07/15 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
JS获取父节点方法
2009/08/20 Javascript
jquery 插件学习(五)
2012/08/06 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
用Node.js通过sitemap.xml批量抓取美女图片
2015/05/28 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
Python编程修改MP3文件名称的方法
2017/04/19 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
python计算两个数的百分比方法
2018/06/29 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
中国最大的名表商城:万表网
2016/08/29 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
介绍一下Ruby的多线程处理
2013/02/01 面试题
医学生求职自荐信
2013/10/25 职场文书
小学国庆节活动方案
2014/02/11 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
小学新学期寄语
2014/04/02 职场文书
毕业生评语大全
2015/01/04 职场文书