4-5 颜色反转

#0-255 灰度图片的取值范围  颜色反转就是255-当前的灰度值
import cv2
import numpy as np
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,3),np.uint8)#深度deep=3 如果我们想进行灰度图片的话,可以把3改成1
#表明我们1个像素只有1种颜色来构成 np.uint8定义一个无符号int类型
for i in range(0,height):# for循环遍历图片中的每一个元素
    for j in range(0,width):
        grayPixel = gray[i,j]#定义一个像素 这个像素就是我们当前的每一个灰度值
        dst[i,j] = 255-grayPixel
cv2.imshow('dst',dst)
cv2.waitKey(0)

#0-255 灰度图片的取值范围  颜色反转就是255-当前的灰度值
import cv2
import numpy as np
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)#深度deep=3 如果我们想进行灰度图片的话,可以把3改成1
#表明我们1个像素只有1种颜色来构成 np.uint8定义一个无符号int类型
for i in range(0,height):# for循环遍历图片中的每一个元素
    for j in range(0,width):
        grayPixel = gray[i,j]#定义一个像素 这个像素就是我们当前的每一个灰度值
        dst[i,j] = 255-grayPixel
cv2.imshow('dst',dst)
cv2.waitKey(0)

这一行是彩色图片的灰度处理,我们不需要进行灰度处理,我们需要处理的就是彩色图片。

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

这是彩色图片的颜色反转,有点类似于我们照相机上的底板效果。分成两种:灰度图像的颜色反转和彩色图像的颜色反转。二者都是用当前的最大值减去当前的像素值。

#RGB 255-R=newR
#0-255 灰度图片的取值范围  颜色反转就是255-当前的灰度值
import cv2
import numpy as np
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,3),np.uint8)#深度deep=3 如果我们想进行灰度图片的话,可以把3改成1
#表明1个像素值是由3个颜色来进行组成的 np.uint8定义一个无符号int类型
for i in range(0,height):# for循环遍历图片中的每一个元素
    for j in range(0,width):
        (b,g,r) = img[i,j]#定义一个像素 这个像素就是我们当前的每一个灰度值 彩色图片的数据放到img中
        dst[i,j] = (255-b,255-g,255-r)#颜色读取进来之后,我们可以以元组的形式把数据装载进去
cv2.imshow('dst',dst)
cv2.waitKey(0)
原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/9690928.html