应用于颜色OpenIMAG CV遮罩

2024-10-01 11:24:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我在试着给彩色图像加上一个彩色蒙版。色板是我要应用于彩色图像的轮廓。除了粉红色的轮廓外,遮罩都是黑色的(BGR=[180, 105,255])。奇怪的是,我可以使用以下方法应用青色的轮廓:

让彩色图像为imgColor,青色轮廓为maskCyan。{{cd2>所有的像素都是cd2}的轮廓。然后我可以通过做imgColor_with_cyan_outline = cv2.bitwise_or(imgColor, maskCyan)将其应用到图像上。当我对maskPink做同样的处理时,它使用imgColor_with_pink_outline = cv2.bitwise_or(imgColor, maskPink)使用粉色像素而不是青色,然后返回原始图像,而没有对其应用任何遮罩或轮廓。我想我只是误解了cv2.bitwise_or()是如何工作的,但我不确定。在

有没有其他方法可以将色罩应用于彩色图像?在


Tags: or方法图像with像素cv2彩色图像轮廓
2条回答

我想您误解了按位OR操作的属性。cv2.bitwise_or获取两个源图像和一个可选的掩码。在

cv2.bitwise_or(src1, src2, dst, mask)

因此,如果src1有一个值为1的像素,src2有一个值为2的像素,那么{}是:

^{pr2}$

这使得生成的像素值为3。对于8位无符号字符图像,生成的最大像素值将为255(135 | 235为255)。在

如果您有过滤功能,可以使用cv2.inrange函数进行屏蔽。将以下代码修改为您的值。根据opencv版本检查语法

Pink=cv2.inrange(pink baundary)
Black=cv2.inrange(black baundary)
Mask= Pink+Black

欲了解更多信息,请阅读

https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_colorspaces/py_colorspaces.html

相关问题 更多 >