# mask:图像掩膜,用选定的图像、图形或物体,对待处理的图像(局部或全部)进行遮挡来控制图像处理的区域或处理过程。
# 由于覆盖的特定图像或物体称为掩模(mask)
import cv2
import numpy as np
# 创建掩膜,方形
mask = np.zeros([img.shape[0], img.shape[1]], dtype=np.uint8) # shape[0]代表在图片属性中取第一个元素,即高度
mask[10:170, 50:220] = 255 # 切片
# 创建掩膜,圆形
x = 140
y = 100
r = 80
mask = np.zeros(img.shape[:2], dtype=np.uint8)
mask = cv2.circle(mask, (x, y), r, (255, 255, 255), -1)
image = cv2.add(img, np.zeros(np.shape(img), dtype=np.uint8), mask=mask)
# 原始图像 img 与空白图像相加,通过设置 mask=mask,函数会根据掩膜 mask 来决定哪些像素将受到控制,仅在掩膜区域内的像素会受到影响
# 展示原图
cv2.imshow("img", img)
# 展示掩膜图片
cv2.imshow("mask", mask)
# 展示添加掩膜效果图片
cv2.imshow("image", image)