【问题标题】:using mouse click to detect contour in opencv使用鼠标单击来检测opencv中的轮廓
【发布时间】:2015-12-01 05:54:07
【问题描述】:

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

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

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

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

【问题讨论】:

  • 例如看看here。您可以使用回调获取鼠标点击位置
  • 我对鼠标回调很熟悉,但是有没有知道我点击的点是在轮廓内还是轮廓外?

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


【解决方案1】:

我知道这个问题是不久前提出的,但这就是我为解决我的问题所做的。我是用python做的,应该差不多吧。

我使用 OpenCV floodfill 算法来填充我单击的位置,使用在二进制图像上绘制的轮廓作为填充蒙版,其中轮廓为白色,背景为黑色。这样填充就不能通过轮廓边缘。

用某种颜色填充轮廓后,使用某种阈值处理很容易将其提取出来。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多