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 相关文章推荐
Django admin美化插件suit使用示例
Dec 12 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
python ---lambda匿名函数介绍
Mar 13 Python
Python通用函数实现数组计算的方法
Jun 13 Python
python+rsync精确同步指定格式文件
Aug 29 Python
django xadmin中form_layout添加字段显示方式
Mar 30 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 Python
python实现四人制扑克牌游戏
Apr 22 Python
Django封装交互接口代码
Jul 12 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
Sep 21 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 Python
python基础之爬虫入门
May 10 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
用文本文件制作留言板提示(下)
2006/10/09 PHP
PHP以及MYSQL日期比较方法
2012/11/29 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
javascript中length属性的探索
2011/07/31 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
javascript/jquery获取地址栏url参数的方法
2014/03/05 Javascript
jQuery链使用指南
2015/01/20 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
js对字符串进行编码的方法总结(推荐)
2016/11/10 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
详解Python字符串对象的实现
2015/12/24 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
婚礼证婚人证婚词
2014/01/08 职场文书
《日月潭》教学反思
2014/02/28 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
TV动画《史上最强大魔王转生为村民A》番宣CM公布
2022/04/01 日漫
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers