按位与运算
OpenCV提供bitwise_and()方法来对图像做与运算,该方法的语法 如下:
dst = cv2.bitwise_and(src1, src2, mask)
参数说明: src1:第一幅图像。 src2:第二幅图像。
mask:可选参数,掩模。 返回值说明: dst:与运算之后的图像。
import cv2
import numpy as np
flower = cv2.imread("amygdalus triloba.png") # 花原始图像
mask = np.zeros(flower.shape, np.uint8) # 与花图像大小相等的掩模图像
mask[120:180, :, :] = 255 # 横着的白色区域
mask[:, 80:180, :] = 255 # 竖着的白色区域
img = cv2.bitwise_and(flower, mask) # 与运算
cv2.imshow("flower", flower) # 展示花图像
cv2.imshow("mask", mask) # 展示掩模图像
cv2.imshow("img", img) # 展示与运算结果
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体
按位或运算
花图像与十字掩模做或运算
import cv2
import numpy as np
flower = cv2.imread("amygdalus triloba.png") # 花原始图像
mask = np.zeros(flower.shape, np.uint8) # 与花图像大小相等的掩模图像
mask[120:180, :, :] = 255 # 横着的白色区域
mask[:, 80:180, :] = 255 # 竖着的白色区域
img = cv2.bitwise_or(flower, mask) # 或运算
cv2.imshow("flower", flower) # 展示花图像
cv2.imshow("mask", mask) # 展示掩模图像
cv2.imshow("img", img) # 展示或运算结果
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 释放所有窗体