速成建站,墨猴seo排名公司,游戏制作编辑器,湛江网站制作推广专栏地址#xff1a;『youcans 的 OpenCV 例程 200 篇』 文章目录#xff1a;『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】19. 图像的圆形遮罩 图像掩模#xff08;image mask#xff09;#xff0c;也常被写成 “图像掩膜”#xff0c;是…专栏地址『youcans 的 OpenCV 例程 200 篇』 文章目录『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】19. 图像的圆形遮罩 图像掩模image mask也常被写成 “图像掩膜”是用特定的图像或函数对另一图像进行覆盖或遮蔽以控制图像处理的区域或图像处理的过程。图像掩模常用于提取感兴趣区域ROI、提取结构特征或制作特殊形状的图像。
函数 cv2.add() 用于图像的加法运算可以使用掩模图像进行遮蔽。
cv2.add(src1, src2 [, dst[, mask[, dtype]]) → dst掩模图像中的黑色区域数值为 0cv2.add 的输出也为黑色数值为 0掩模图像中的非黑色区域非 0 值cv2.add 的输出为加法输出。换句话说函数 cv2.add 进行加法运算对被掩模图像遮蔽的黑色区域不进行处理保持黑色。
注意事项
掩模图像 mask 为 8位灰度格式遮蔽区域为黑色数值为 0非遮蔽区域为白色数值为 255也称为开窗区域、窗口。掩模图像与进行加法运算的图像 src1, src2 的形状必须相同。
扩展例程1.28 圆形和其它形状的图像遮罩 # 1.28 图像的加法 (圆形和其它形状的遮罩)img1 cv2.imread(../images/imgLena.tif) # 读取彩色图像(BGR)img2 cv2.imread(../images/imgB3.jpg) # 读取彩色图像(BGR)Mask1 np.zeros((img1.shape[0], img1.shape[1]), dtypenp.uint8) # 返回与图像 img1 尺寸相同的全零数组Mask2 Mask1.copy()cv2.circle(Mask1, (285, 285), 110, (255, 255, 255), -1) # -1 表示实心cv2.ellipse(Mask2, (285, 285), (100, 150), 0, 0, 360, 255, -1) # -1 表示实心imgAddMask1 cv2.add(img1, np.zeros(np.shape(img1), dtypenp.uint8), maskMask1) # 提取圆形 ROIimgAddMask2 cv2.add(img1, np.zeros(np.shape(img1), dtypenp.uint8), maskMask2) # 提取椭圆 ROIcv2.imshow(circularMask, Mask1) # 显示掩模图像 Maskcv2.imshow(circularROI, imgAddMask1) # 显示掩模加法结果 imgAddMask1cv2.imshow(ellipseROI, imgAddMask2) # 显示掩模加法结果 imgAddMask2key cv2.waitKey(0) # 等待按键命令本例程运行结果如下。
通过设计圆形、椭圆形或其它形状的图像遮罩可以从一张图像中提取不同形状的区域。 本节完 【第2章图像的数值运算】 18. 图像的掩模加法 19. 图像的圆形遮罩 20. 图像的按位运算 版权声明 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/125112487) Copyright 2022 youcans, XUPT Crated2021-11-18 欢迎关注专栏 『youcans 的 OpenCV 例程 200 篇』 更多内容请见『youcans 的 OpenCV 例程200篇 - 总目录』(https://blog.csdn.net/youcans/article/details/125112487)