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中asyncore的用法实例
Sep 29 Python
python实现神经网络感知器算法
Dec 20 Python
Python设计模式之工厂模式简单示例
Jan 09 Python
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 Python
Python使用统计函数绘制简单图形实例代码
May 15 Python
python使用Qt界面以及逻辑实现方法
Jul 10 Python
Django  ORM 练习题及答案
Jul 19 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
Linux下升级安装python3.8并配置pip及yum的教程
Jan 02 Python
简单了解python filter、map、reduce的区别
Jan 14 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
Opencv求取连通区域重心实例
Jun 04 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中上传大体积文件时需要的设置
2006/10/09 PHP
在IIS上安装PHP4.0正式版
2006/10/09 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
关于include标签导致js路径找不到的问题分析及解决
2013/07/09 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
js实现右键菜单功能
2016/11/28 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
js中的闭包学习心得
2018/02/06 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
谈谈Python中的while循环语句
2019/03/10 Python
python为什么要安装到c盘
2020/07/20 Python
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
Booking.com德国:预订最好的酒店和住宿
2020/02/16 全球购物
军训 自我鉴定
2014/02/03 职场文书
二手房买卖协议书
2014/04/10 职场文书
施工安全汇报材料
2014/08/17 职场文书
顶岗实习协议书
2015/01/29 职场文书