问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

OpenCV图像颜色反转算法详解

创作时间:
作者:
@小白创作中心

OpenCV图像颜色反转算法详解

引用
1
来源
1.
https://www.zhangshengrong.com/p/AvN6Bm6WNm/

前言
图像颜色的反转,比较简单的思路就是使用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减去每一个通道的当前值.效果如下:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号