**
OpenCV入门之图像颜色反转
**
图像颜色反转分为两种:一种是灰度图片的颜色反转,另一种是彩色图像的颜色反转.
原图片:
一、灰度图像颜色反转
灰度图像每个像素点只有一个像素值来表示,色彩范围在0-255之间,反转方法255-当前像素值,具体代码如下:
import cv2
import numpy as np
img = cv2.imread('image0.jpg', 1)
cv2.imshow('img', img)
height, width, deep = img.shape
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 将图片转换成灰度图片
dst = np.zeros((height,width,1), np.uint8)
for i in range(0, height):
for j in range(0, width):
grayPixel = gray[i, j]
dst[i, j] = 255-grayPixel
cv2.imshow('dst', dst)
cv2.waitKey(0)
灰度图片的颜色反转效果如下:
二、彩色图像颜色反转
彩色图像的每个像素点由RGB三个元素组成,所以反转的时候需要用255分别减去b,g,r三个值,具体代码如下:
import cv2
import numpy as np
img = cv2.imread('image0.jpg', 1)
cv2.imshow('img', img)
height, width, deep = img.shape
# 彩色图像颜色反转 NewR = 255-R
dst1 = np.zeros((height, width, deep), np.uint8)
for i in range(0, height):
for j in range(0,width):
(b, g, r) = img[i, j]
dst1[i, j] = (255-b,255-g,255-r)
cv2.imshow("dst1", dst1)
cv2.waitKey(0)
彩色图像颜色反转后效果如下:
版权声明:本文为wwq114原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。