OpenCV图像颜色反转算法详解


Posted in Python onMay 13, 2019

前言

图像颜色的反转,比较简单的思路就是使用255减去当前值,从而得到反转后的图像.原始图片:

OpenCV图像颜色反转算法详解

1.灰度图像的颜色反转

import cv2
import numpy as np

# 灰度 0-255 255-当前灰度值
img = cv2.imread('image0.jpg', 1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

dst = np.zeros((height, width, 1), np.uint8)

for i in range(height):
  for j in range(width):
    grayPixel = 255 - gray[i, j]
    dst[i, j] = grayPixel

cv2.imshow('image', dst)
cv2.waitKey(0)

用255减去当前灰度值,得到反转后的图像.图像如下:

OpenCV图像颜色反转算法详解

2.BGR图像的反转

import cv2
import numpy as np

img = cv2.imread('image0.jpg', 1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]

dst = np.zeros((height, width, 3), np.uint8)

for i in range(height):
  for j in range(width):
    (b, g, r) = img[i, j]
    b = 255 - b
    g = 255 - g
    r = 255 - r
    dst[i, j] = (b, g, r)


cv2.imshow('image', dst)
cv2.waitKey(0)

BGR图像反转也是一样,同样是使用255减去每一个通道的当前值.效果如下:

OpenCV图像颜色反转算法详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python用于url解码和中文解析的小脚本(python url decoder)
Aug 11 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
python实现学生信息管理系统
Apr 05 Python
Python subprocess模块常见用法分析
Jun 12 Python
让你Python到很爽的加速递归函数的装饰器
May 26 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 Python
python数据分析工具之 matplotlib详解
Apr 09 Python
python实现五子棋程序
Apr 24 Python
Python如何用wx模块创建文本编辑器
Jun 07 Python
Python filter()及reduce()函数使用方法解析
Sep 05 Python
通过代码实例了解Python异常本质
Sep 16 Python
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 14 Python
搞清楚 Python traceback的具体使用方法
May 13 #Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 #Python
Python 通过打码平台实现验证码的实现
May 13 #Python
利用python和百度地图API实现数据地图标注的方法
May 13 #Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 #Python
为什么你还不懂得怎么使用Python协程
May 13 #Python
Python玩转加密的技巧【推荐】
May 13 #Python
You might like
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
修改或扩展jQuery原生方法的代码实例
2015/01/13 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
python递归函数绘制分形树的方法
2018/06/22 Python
Python IDLE清空窗口的实例
2018/06/25 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
关于django 1.10 CSRF验证失败的解决方法
2019/08/31 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
HTML5等待加载动画效果
2017/07/27 HTML / CSS
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
美国最大点评网站:Yelp
2018/02/14 全球购物
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
会计毕业生自我鉴定
2013/11/04 职场文书
大学生自我鉴定范文
2013/12/28 职场文书
买房子个人收入证明
2014/01/16 职场文书
整改通知书
2015/04/20 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
OpenCV实现反阈值二值化
2021/11/17 Java/Android