变换原理
g(x,y) = 255 - f(x,y)
- f(x,y) 为原图像素值
- g(x,y) 为转换后的图的像素值
灰度图反色
import cv2 as cv
import numpy as np
img = cv.imread('D:/Pictures/OpenCVusing/lena.jpg',0) #读取图像并转换为灰度图
cv.imshow('img', img)
cv.imshow('reverse_img',255-img)
cv.waitKey()
cv.destroyAllWindows()
彩色图反色
import cv2 as cv
import numpy as np
img = cv.imread('D:/Pictures/OpenCVusing/lena.jpg')
cv.imshow('img',img)
b, g, r = cv.split(img) # 注意顺序不是 r,g,b
rgb = cv.merge([255-b, 255-g, 255-r]) #反转并融合通道
cv.imshow('reverse_rgb', rgb)
cv.waitKey()
cv.destroyAllWindows()
也可以直接反转图片,不需要拆分通道:
img = cv2.imread('c:/Users/74452/Pictures/OpenCVusing/lena.jpg')
reverse_img = 255 - img #直接反转
cv2.imshow('reverse_img',reverse_img)
结果与上面一样