OpenCV图像颜色反转算法详解
作者:我是小蚂蚁 发布时间:2022-04-25 16:19:31
标签:OpenCV,颜色,反转
前言
图像颜色的反转,比较简单的思路就是使用255减去当前值,从而得到反转后的图像.原始图片:
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减去当前灰度值,得到反转后的图像.图像如下:
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减去每一个通道的当前值.效果如下:
来源:https://blog.csdn.net/missyougoon/article/details/81133070
0
投稿
猜你喜欢
- 前言props指父组件往子组件中传入参数,我们来介绍下如何理解vue3的props的原理介绍了解其原理之前我们要清楚vue的虚拟节点是什么,
- 写这个的目地,主要是系统理下目前产品设计的流程,提醒自己尽量去避免一些常见的问题,也能让大家系统的了解天极网的产品设计流程。当然,不保证任何
- 今天给一个客户巡检的情况下发从库没有业务的情况mysqld的cpu的一个core占用100%.查主库慢查询也没有关于写的SQL.可以说是典的
- 最近做项目需要我们前端对金额进行千分位格式化(也就是说每三位用逗号隔开),代码已经做了修改 之前的版本是本人疏忽 真对不住大家了
- 使用drop函数删除dataframe的某列或某行数据:drop(labels, axis=0, level=None, inplace=F
- 大家好,我是海拥,在今天的博客中,我们将讨论 Python 中简化代码的技巧。我清楚地记得当我选择学习 python 时,最令我震惊的是它的
- 完美的渐变透明效果。支持IE,Firefox渐变,自己写的JS框架中用的东西,发出来了。修正完全隐藏时,偶尔不display = "
- 本文实例讲述了Python实现Windows上气泡提醒效果的方法。分享给大家供大家参考。具体实现方法如下:# -*- encoding: g
- 系统:ubuntu18.04 x64GitHub:https://github.com/xingjidemimi/DjangoAPI.git
- 导言结束前面的几节,我们已经探讨过了如何使用GridView、DetailsView和FormView控件来显示数据。这些控件简单地操作提供
- python3版本的Scapy--Scapy3k来实现一个简单的DDos。首先实现SYN泛洪攻击(SYN Flood,是一直常用的DOS方式
- 本文实现的原理很简单,优化方法是用的梯度下降。后面有测试结果。先来看看实现的示例代码:# coding=utf-8from math imp
- 源码及注释:import pygamefrom sys import exitfrom random import randintimpor
- 本文实例讲述了python使用BeautifulSoup分析网页信息的方法。分享给大家供大家参考。具体如下:这段python代码查找网页上的
- 最最简单的操作import numpy as npimport matplotlib.pyplot as pltfig = plt.figu
- 我就废话不多说了,直接上代码吧!import subprocessdef excuteCommand(com): ex = subproce
- 前言最近尝试重新封装XMLHttpRequest,在发post请求的时候,发现express通过req.body获取不到数据,req.bod
- 本文实例讲述了js中火星坐标、百度坐标、WGS84坐标转换实现方法。分享给大家供大家参考,具体如下://定义一些常量var x_PI = 3
- 在SQL Server数据库中,有min server memory与max server memory两个内存选项。数据库管理员合理设置这
- 引言从他人的错误中学习,通过本指南避免常见陷阱和坏习惯,提高你的 Go 编程技巧在 Go 语言中,就像在任何编程语言中一样,了解常见陷阱和坏