图像是由一个一个的像素组成的,每个像素又是由一个个不同的颜色值(OpenCV中为bgr模式)组成,其中每个颜色通道的值均为0-255。
所谓图像的颜色反转,就是将每个颜色通道值用255减去原通道值,得到一个新的颜色通道值,再重新组合成新的bgr颜色通道产生新像素而形成新的图像。举个极端的例子,比如一个纯白色像素点的值为(255,255,255),它经过颜色反转变换后形成的新的像素点为(0,0,0),也就是变成了纯黑色像素点。
灰度图的图像颜色反转:
import cv2 import numpy as np img = cv2.imread("3.jpg",0) #读取一张图片,灰度 height,width=img.shape dst=np.zeros((height,width,1),np.uint8) for i in range(height): for j in range(width): dst[i,j]=255-img[i,j] cv2.imshow('img',img) cv2.imshow('dst',dst) cv2.waitKey() #窗口等待任意键盘按键输入,0为一直等待,其他数字为毫秒数
效果图:
来源:https://www.cnblogs.com/liming19680104/p/12220566.html