使用鼠标单击检测opencv中的轮廓

时间:2015-12-01 05:54:07

标签: c opencv image-processing image-segmentation watershed

我在图像中有各种轮廓/片段。现在我使用键盘输入我想从图像中提取的部分(如下所示)

enter image description here

将粉红色区域视为段1,将白色区域视为段2.我使用键盘输入我想要提取的段(1或2)。在绘制轮廓时我得到

enter image description here

我已经保存了数组中每个段的颜色,并使用该数组来提取特定的段。

现在我想知道是否可以使用鼠标点击来识别片段/轮廓,这样我就可以绘制多个轮廓并使用鼠标识别片段,而不是使用键盘输入片段编号。

1 个答案:

答案 0 :(得分:2)

我知道这个问题刚才被问过,但这就是我解决问题的方法。我是在python中做的,但它应该是类似的。

我使用OpenCV floodfill 算法填充我点击的位置,使用二进制图像上绘制的轮廓作为填充遮罩,其中轮廓为白色,背景为黑色。这样填充物就无法通过轮廓边缘。

使用某种颜色填充轮廓后,可以使用某种阈值来轻松提取轮廓。

希望这有帮助。