我从python中的opencv开始,我对如何应用
的掩码有疑问 bitwise_and(src1, src2, mask=mask)
其中哪些描述了实施:
一个。所有按位,首先掩码
B中。所有按位,图像首先
℃。条件AND
我认为每种产品的性能特征可能略有不同。
实际实施中的哪些(或其他方式)? (以及为什么,如果我可能会问)
我试图查看来源,但无法弄清楚他们做了什么: https://github.com/opencv/opencv/blob/ca0b6fbb952899a1c7de91b909d3acd8e682cedf/modules/core/src/arithm.cpp
答案 0 :(得分:2)
我使用彩色图像和二进制图像计算了cv2.bitwise_and()
的两个实现。
<强> 1。使用二进制图像
我们假设我们有以下二进制图像:
屏幕1:
屏幕2:
按位执行:
fin = cv2.bitwise_and(screen1, screen2)
cv2.imwrite("Final image.jpg", fin)
我们获得以下内容:
<强> 2。对彩色图像执行屏蔽:
您也可以使用相同的功能屏蔽特定彩色图像的某个区域。
考虑以下图片:
并考虑 Screen 1 (上面给出)作为面具
fin = cv2.bitwise_and(image, image, mask = screen1)
cv2.imwrite("Masked image.jpg", fin)
给你:
注意: 执行按位AND操作时,图像必须具有相同的大小
答案 1 :(得分:0)
如果查看文档,第3个参数是您错过的目标图像。
此操作仅在掩码显示时才更改目标图像的值(在这种情况下,它将按位和两个源图像执行)。对于不在掩码中的像素,目标将包含之前包含的相同值。