像素运算大体上可以分为两种 : 1 算数运算, 2 逻辑运算
首先来看一下算术运算, 即加, 减, 乘, 除
应用它可以调节图像的亮度, 或者是调整图像的对比度
import cv2
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
img1_path = r'D:\tf36\opencv_learn\input1.jpg'
img2_path = r'D:\tf36\opencv_learn\input2.jpg'
def pixel_add(input1, input2):
result = cv2.add(input1, input2)
cv2.namedWindow('add_space', cv2.WINDOW_AUTOSIZE)
cv2.imshow('add_space', result)
return 0
def pixel_sub(input1, input2):
result = cv2.subtract(input1, input2)
cv2.namedWindow('sub_space', cv2.WINDOW_AUTOSIZE)
cv2.imshow('sub_space', result)
return 0
my_image1 = cv2.imread(r'D:\tf36\opencv_learn\input1.jpg')
cv2.namedWindow('input image1', cv2.WINDOW_AUTOSIZE)
cv2.imshow('input image1', my_image1)
my_image2 = cv2.imread(img2_path)
cv2.namedWindow('input image2', cv2.WINDOW_AUTOSIZE)
cv2.imshow('input image2', my_image2)
# pixel_add(input1=my_image1, input2=my_image2)
pixel_sub(input1=my_image1, input2=my_image2)
cv2.waitKey()
cv2.destroyAllWindows()
add 操作
除去加减乘除还可以算一些其他的, 比如均值(cv2.mean), 和 方差(cv2.meanStdDev)等
再来看一下逻辑运算, 其主要的应用是 - 》遮罩层控制