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

 更新时间:2024年07月11日 17:01:16   作者:xiatwhu  
这篇文章主要介绍了python图像处理之反色实现方法,涉及Python结合OpenCV与numpy操作图片的相关技巧,需要的朋友可以参考下

本文实例讲述了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)

运行结果如下图所示:

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

对于彩色图片,对于每个像素点,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按行读取文件的简单实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • Python应用领域和就业形势分析总结

    Python应用领域和就业形势分析总结

    在本篇文章总我们给大家整理了关于Python应用领域和就业形势分析以及图文介绍,需要的朋友们可以参考下。
    2019-05-05
  • Python实现删除文件中含“指定内容”的行示例

    Python实现删除文件中含“指定内容”的行示例

    这篇文章主要介绍了Python实现删除文件中含“指定内容”的行功能,涉及Python针对文件读取及字符串遍历、判断等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • PyTorch权值初始化原理解析

    PyTorch权值初始化原理解析

    这篇文章主要为大家介绍了PyTorch权值初始化原理示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 解读python cvxpy下SDP问题编程

    解读python cvxpy下SDP问题编程

    这篇文章主要介绍了解读python cvxpy下SDP问题编程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • python对excel文档去重及求和的实例

    python对excel文档去重及求和的实例

    下面小编就为大家分享一篇python对excel文档去重及求和的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python高级用法总结

    Python高级用法总结

    Python很棒,它有很多高级用法值得细细思索,学习使用。本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式、迭代器和生成器、装饰器
    2018-05-05
  • 使用Python实现插入100万条数据到MySQL数据库

    使用Python实现插入100万条数据到MySQL数据库

    这篇文章主要为大家详细介绍了如何使用Python实现插入100万条数据到MySQL数据库,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2024-04-04
  • Python新手入门之解释器的安装

    Python新手入门之解释器的安装

    相信有很多小伙伴还不会安装Python解释器,今天特地整理了本篇文章,文章有非常详细的图文示例,对不会安装的小伙伴很有帮助,需要的朋友可以参考下
    2021-06-06
  • python数据结构之二叉树的统计与转换实例

    python数据结构之二叉树的统计与转换实例

    这篇文章主要介绍了python数据结构之二叉树的统计与转换实例,例如统计二叉树的叶子、分支节点,以及二叉树的左右两树互换等,需要的朋友可以参考下
    2014-04-04

最新评论