一、图像逻辑运算
1.1 add—subtract—图像矩阵加减运算
"""
cv2.add(src1, src2, dst=None, mask=None, dtype=None) 加运算函数
cv2.subtract(src1, src2, dst=None, mask=None, dtype=None) 减运算函数
src1:图像矩阵1
src1:图像矩阵2
dst: 默认选项
mask:默认选项
dtype:默认选项
"""
import cv2
import numpy as np
image = cv2.imread("F:\\img\\cat.jpg")
"""
图像image各像素加50
与image大小一样的矩阵
"""
M = np.ones(image.shape,dtype="uint8")*50
added = cv2.add(image,M)
subtracted = cv2.subtract(image,M)
cv2.imshow("Original_img",image)
cv2.imshow("Added",added)
cv2.imshow("subtracted",subtracted)
cv2.waitKey(0)
cv2.destroyAllWindows()

1.2 bitwise_and ,bitwise_or 图像(与、或)运算
"""
cv2.bitwise_and(src1, src2, dst=None, mask=None) 取交集
cv2.bitwise_or(src1, src2, dst=None, mask=None) 取并集
src1:图像矩阵1
src1:图像矩阵2
dst: 默认选项
mask:默认选项
"""
1.3、bitwise_xor、bitwise_not 图像(异或、非)运算
"""
cv2.bitwise_xor(src1, src2, dst=None, mask=None) 取不重叠的区域
cv2.bitwise_not(src1, src2, dst=None, mask=None) 取反
src1:图像矩阵1
src1:图像矩阵2
dst: 默认选项
mask:默认选项
"""
import cv2
img = cv2.imread("original_fapiao.png")
img2 = cv2.imread("extract_fapiao.png")
bitwiseNot = cv2.bitwise_not(img2)
bitwiseXor = cv2.bitwise_xor(img,bitwiseNot)
cv2.imshow("extract_fapiao_Not取反运算:",bitwiseNot)
cv2.imshow("bitwiseXor异或运算:",bitwiseXor)
cv2.imwrite("./extract_fapiao_Not.png",bitwiseNot)
cv2.imwrite("./fapiao_Not_Xor.png",bitwiseXor)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2
img = cv2.imread("original_fapiao.png")
img2 = cv2.imread("extract_fapiao.png")
bitwiseXor = cv2.bitwise_xor(img,img2 )
cv2.imshow("bitwiseXor异或运算:",bitwiseXor)
cv2.imwrite("./img_xor.png",bitwiseXor)
cv2.waitKey(0)
cv2.destroyAllWindows()
