想通过掩膜得到特定区域的图像,在识别时只得到关键部分的图像信息,忽略其他部分的影响。
原图
通过numpy构建掩膜
构建黑色的像素矩阵
mask = np.zeros(img.shape, dtype=np.uint8)
选择掩膜区域
选择(白色无黑色掩膜的区域)即需要显示的位置
mask[100:480, 140:500] =255 # 高起始:高结束, 长起始:长结束 ,且左上角为起始点
合成图像
将两个图像做and操作:
res = cv2.bitwise_and(img, mask)
完整代码
img = cv2.imread("opencv/ball.png")
cv2.imshow("img", img)
print(img.shape)
mask = np.zeros(img.shape, dtype=np.uint8)
cv2.imshow("mask", mask)
mask[100:480, 140:500] =255 # 高起始:高结束, 长起始:长结束 ,且左上角为起始点
cv2.imshow("masked", mask)
res = cv2.bitwise_and(img, mask)
while True:
cv2.imshow("res", res)
if cv2.waitKey(1) & 0xFF == ord("q"):
break