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入门之三角函数全解【收藏】
Nov 08 Python
python导入csv文件出现SyntaxError问题分析
Dec 15 Python
使用python实现ANN
Dec 20 Python
python+selenium实现自动抢票功能实例代码
Nov 23 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 Python
python 中如何获取列表的索引
Jul 02 Python
python障碍式期权定价公式
Jul 19 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
Aug 20 Python
python实现图片横向和纵向拼接
Mar 05 Python
在Windows下安装配置CPU版的PyTorch的方法
Apr 02 Python
Python中的xlrd模块使用整理
Jun 15 Python
python神经网络Xception模型
May 06 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操作Memcache实例介绍
2013/06/14 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
浅谈JavaScript函数节流
2014/12/09 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
对node.js中render和send的用法详解
2018/05/14 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
python同步windows和linux文件
2019/08/29 Python
Python API自动化框架总结
2019/11/12 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
有机童装:Toby Tiger
2018/05/23 全球购物
师范生教师实习自我鉴定
2013/09/27 职场文书
环境工程求职简历的自我评价范文
2013/10/24 职场文书
大学生职业生涯规划书模板
2014/01/03 职场文书
国际贸易求职信
2014/07/05 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书