OpenCV图像颜色反转示例
OpenCV图像颜色反转示例
图像颜色的反转,比较简单的思路就是使用255减去当前值,从而得到反转后的图像。原始图片:
原始图片
1、灰度图像的颜色反转
import cv2
import numpy as np
# 灰度 0-255 255-当前灰度值
img = cv2.imread('linuxboy.net.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('linuxboy.net', dst)
cv2.waitKey(0)
用255减去当前灰度值,得到反转后的图像。图像如下:
2、BGR图像的反转
import cv2
import numpy as np
img = cv2.imread('linuxboy.net.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('www.linuxboy.net', dst)
cv2.waitKey(0)
BGR图像反转也是一样,同样是使用255减去每一个通道的当前值。效果如下:
https://www.linuxboy.net/topicnews.aspx?tid=17
linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx
本文永久更新链接地址:https://www.linuxboy.net/Linux/2019-05/158621.htm
评论暂时关闭