【问题标题】:Using contours in OpenCV?在 OpenCV 中使用轮廓?
【发布时间】:2011-11-19 04:56:00
【问题描述】:

我有各种各样的轮廓,我需要从中绘制蒙版。为此,我需要在绘制轮廓时使用 CV_FILLED。但是,我的轮廓没有闭合——因为它们不是完整的多边形,所以 CV_FILLED 东西不起作用。有人对我如何“关闭”我的轮廓有任何建议吗?

PS:为澄清起见,关闭我的意思是所有段都没有加入。与封闭的多边形不同,我的形状是开放的。

【问题讨论】:

  • 制作凸包怎么样?轮廓必须有多精确?
  • Convex Hull 不能提供足够高的准确度。我需要它与轮廓的形状完全相同。

标签: c++ opencv polygon shape contour


【解决方案1】:

除了尝试convexHull,还可以看看尝试形态运算符erodedilate。您可以使用iterations 参数多次应用腐蚀或膨胀运算符。

另外,您能否发布带有您尝试分割的对象的图像?

【讨论】:

  • 使用convexHull 不能提供我需要的精度水平,并且使用erode 和dilate 不起作用,因为间隙通常非常大。即使我确实使用了侵蚀和扩张,它也会影响我的其他形象,这是我无法承受的。我不能发布对象的图像,因为我的程序不会处理任何特定的对象。相反,它将处理数百条不同形状和大小的随机折线/多边形。还有其他建议吗?
  • 你到底想做什么?
  • 我正在尝试为每个轮廓创建一个遮罩,以便专门处理轮廓中的像素。
  • 您能否发布一些您正在使用的示例代码,以及您尝试解决的具体案例。这将对我和其他试图帮助您的人有所帮助。
猜你喜欢
  • 2014-07-12
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 2021-06-16
  • 1970-01-01
  • 2011-12-25
  • 2021-09-07
  • 2020-06-14
相关资源
最近更新 更多