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 11 Python
Python Nose框架编写测试用例方法
Oct 26 Python
python通过socket实现多个连接并实现ssh功能详解
Nov 08 Python
在Pycharm中对代码进行注释和缩进的方法详解
Jan 20 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 Python
Pytorch 神经网络—自定义数据集上实现教程
Jan 07 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 Python
python中threading开启关闭线程操作
May 02 Python
python opencv肤色检测的实现示例
Dec 21 Python
flask框架中的cookie和session使用
Jan 31 Python
Python 实现绘制子图及子图刻度的变换等问题
May 31 Python
基于Python实现nc批量转tif格式
Aug 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
深入php函数file_get_contents超时处理的方法详解
2013/06/03 PHP
php之curl设置超时实例
2014/11/03 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
50款非常棒的 jQuery 插件分享
2012/03/29 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
原生js二级联动效果
2017/06/20 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
使用Python脚本将文字转换为图片的实例分享
2015/08/29 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
Python socket模块实现的udp通信功能示例
2019/04/10 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
应届生英语教师求职信
2013/11/05 职场文书
如何写你的创业计划书
2014/01/07 职场文书
股东协议书
2014/04/14 职场文书
2015年端午节国旗下演讲稿
2015/03/19 职场文书