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对比C语言的编程思想差异
Aug 30 Python
Python抓取手机号归属地信息示例代码
Nov 28 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
python如何实现一个刷网页小程序
Nov 27 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
使用Python的SymPy库解决数学运算问题的方法
Mar 27 Python
python如何统计代码运行的时长
Jul 24 Python
Python接口开发实现步骤详解
Apr 26 Python
python+requests接口自动化框架的实现
Aug 31 Python
Pytorch1.5.1版本安装的方法步骤
Dec 31 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 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
laravel 解决crontab不执行的问题
2019/10/22 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
JS函数实现动态添加CSS样式表文件
2012/12/15 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
js实现页面a向页面b传参的方法
2016/05/29 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
AngularJS表单验证功能
2017/10/19 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
vue中post请求以a=a&b=b 的格式写遇到的问题
2018/04/27 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
python获取一组数据里最大值max函数用法实例
2015/05/26 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
scrapy头部修改的方法详解
2020/12/06 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
临床医学应届生求职信
2013/11/06 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
社区宣传标语口号
2015/12/26 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书