OpenCV+python3 入门之图像颜色反转

**

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版权协议,转载请附上原文出处链接和本声明。