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 中的列表解析和生成表达式
Mar 10 Python
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
May 05 Python
python登录pop3邮件服务器接收邮件的方法
Apr 30 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
深入理解python中的闭包和装饰器
Jun 12 Python
老生常谈python之鸭子类和多态
Jun 13 Python
Python编程给numpy矩阵添加一列方法示例
Dec 04 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
Python自动化导出zabbix数据并发邮件脚本
Aug 16 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
python中rc1什么意思
Jun 19 Python
浅谈python 类方法/静态方法
Sep 18 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
PHP 开源AJAX框架14种
2009/08/24 PHP
PHP实现多条件查询实例代码
2010/07/17 PHP
PHP 验证登陆类分享
2015/03/13 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
详解Python的Twisted框架中reactor事件管理器的用法
2016/05/25 Python
使用Turtle画正螺旋线的方法
2017/09/22 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
Python操作MySQL模拟银行转账
2018/03/12 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
python构造IP报文实例
2020/05/05 Python
Python __slots__的使用方法
2020/11/15 Python
详解Html5原生拖拽操作
2018/01/12 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
客服服务心得体会
2013/12/30 职场文书
祖国在我心中演讲稿
2014/01/15 职场文书
人力资源主管的岗位职责
2014/03/15 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis
MySQL 原理与优化之Update 优化
2022/08/14 MySQL