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 获取 Linux 系统信息的代码
Jul 13 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
Python的requests网络编程包使用教程
Jul 11 Python
浅析python中的分片与截断序列
Aug 09 Python
Python探索之URL Dispatcher实例详解
Oct 28 Python
Python内置函数—vars的具体使用方法
Dec 04 Python
Python实现的读写json文件功能示例
Jun 05 Python
python使用response.read()接收json数据的实例
Dec 19 Python
简单了解python代码优化小技巧
Jul 08 Python
python实现录屏功能(亲测好用)
Mar 02 Python
PyTorch中的C++扩展实现
Apr 02 Python
Python图片验证码降噪和8邻域降噪
Aug 30 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
实现树状结构的两种方法
2006/10/09 PHP
PHP中uploaded_files函数使用方法详解
2011/03/09 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
php中rename函数用法分析
2014/11/15 PHP
js自动生成对象的属性示例代码
2013/10/28 Javascript
JavaScript前端图片加载管理器imagepool使用详解
2014/12/29 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
jquery表单验证插件formValidator使用方法
2016/04/01 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
下载糗事百科的内容_python版
2008/12/07 Python
Linux下编译安装MySQL-Python教程
2015/02/02 Python
Python3实现从文件中读取指定行的方法
2015/05/22 Python
python语言使用技巧分享
2016/05/31 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
CSS3制作文字半透明倒影效果的两种实现方式
2014/08/08 HTML / CSS
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
逻辑链路控制协议
2016/10/01 面试题
成人大专自我鉴定范文
2013/10/19 职场文书
物业管理专业个人的自我评价
2013/11/19 职场文书
优秀英语专业毕业生求职信
2013/11/23 职场文书
大一期末自我鉴定
2013/12/13 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
公关活动策划方案
2014/05/25 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
2015新学期家长寄语
2015/02/26 职场文书
python爬虫框架feapde的使用简介
2021/04/20 Python
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript