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 set集合类型操作总结
Nov 07 Python
初步解析Python下的多进程编程
Apr 28 Python
Python删除空文件和空文件夹的方法
Jul 14 Python
python的mysqldb安装步骤详解
Aug 14 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
python数据结构之线性表的顺序存储结构
Sep 28 Python
python使用PIL模块获取图片像素点的方法
Jan 08 Python
Python 列表去重去除空字符的例子
Jul 20 Python
python实现扫雷小游戏
Apr 24 Python
用sleep间隔进行python反爬虫的实例讲解
Nov 30 Python
python 自动识别并连接串口的实现
Jan 19 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 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
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
2014/07/29 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
2015/06/30 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
python如何实现int函数的方法示例
2018/02/19 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
Python partial函数原理及用法解析
2019/12/11 Python
python logging添加filter教程
2019/12/24 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
关于环保的建议书400字
2014/03/12 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
校园环境卫生倡议书
2015/04/29 职场文书
太行山上观后感
2015/06/05 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
毕业生入职感言
2015/07/31 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
MySQL创建管理子分区
2022/04/13 MySQL
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技