【问题标题】:Detect if contour is simple curve without complex pattern or detect starting and ending points of contour检测轮廓是否为没有复杂图案的简单曲线或检测轮廓的起点和终点
【发布时间】:2014-12-21 21:01:19
【问题描述】:

我在检测轮廓是简单曲线还是直线时遇到问题。我需要过滤尽可能多的对象,只为我留下有趣的对象。但过滤所有不需要的对象并不是目标。稍后我有更多的逻辑来检测所需的对象,但这会花费很多时间。所以我正在寻找一些低成本的解决方案,在主算法参与之前过滤不需要的对象。

我的应用中有两个示例。

所以我想删除黄色标记的对象。并留下绿色标记的对象。我没有圈出所有内容,因为它们太多了:]。我的想法是,如果我可以检测到线是否在边界框的角落开始和结束,但我不知道如何检测线的开始和结束位置。或者,如果我能够检测到轮廓的起点和终点,我可以通过它们的距离来决定它。

我使用精明的边缘检测并找到轮廓。而且我根据对象的大小对对象进行了一些基本过滤。

我没有想法并停留在这部分。我会很高兴您的帮助或想法。

【问题讨论】:

  • 你可以假设一条线,然后测试像素位置离这条线有多远。如果太多像素太远或类似的东西你不删除对象。或者,您可以拟合一条曲线并测试与该曲线的平均距离,而不是假设一条线。

标签: opencv feature-detection


【解决方案1】:

我发现 HoughLinesP 可以胜任。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多