【问题标题】:How to approximate line segments in a grayscale image?如何近似灰度图像中的线段?
【发布时间】:2011-07-06 14:32:12
【问题描述】:

有没有人知道如何从线段检测器产生的灰度图像中近似线:使用opencv或C语言!在所附图片中,您会看到每个手指由多条线组成,我需要做的是让每个手指恰好由两条平行线组成(即近似的小线只适合一条线),如果有人帮助我,我会很感激的。 注:我是stackocerflow的新手,因此我不允许发布图片,所以为了更清楚,这是图片的链接。

http://www.2shared.com/photo/Ff7mFtV3/Optimal.html

线段检测器 (LSD) 得到的灰度图像

【问题讨论】:

  • 亲爱的 Karlphillip,为了更清楚,我想要做的是让每个手指由两条直线组成(例如铁路线)下面链接中的图像包含两条射线,一个指向一条直线并用一个圆圈标记,另一个指向一条非直线并用一个矩形标记,我想要两个有所有的手指线,比如由圆圈标记的射线指向的直线,提前谢谢。 2shared.com/photo/jf2xNbIz/DISTANCE_ONLY.html
  • 不知道为什么你的回答被取消了??
  • 我删除了它,因为它与您的问题无关。我了解您要做什么,但我现在没有任何想法。当我这样做时,我会回来告诉你。

标签: c opencv


【解决方案1】:

到目前为止,您做了什么?您可能需要一些启发式方法。首先将所有段添加到表中,尝试计算每个段的倾斜度,然后以此作为索引对其进行排序。然后,考虑所有倾斜度接近 5% 或具有完全相同倾斜度的部分。这将导致表中的分区。您可能希望使用不同的颜色来绘制它们,以便找到完美的参数值。

现在您需要“合并”所有具有相同倾斜度且靠得很近的路段。我会尝试测量段之间的距离(谷歌算法)并根据这个对每个分区的段进行排序。考虑合并小于例如总图像高度的 3%(以像素为单位)或其他值的片段(凭经验找到)。

最后一步,与其他部分相比,合并段应该非常容易。

如果你真的想找到手指,你可以早点停下来,比较相同倾向的组,看看是否有两个几乎(7%左右)平行。最接近的 5 对倾角应该是手指 :-)

【讨论】:

  • 感谢乔瓦尼的关心,我稍后再试。
猜你喜欢
  • 2018-03-09
  • 2020-03-07
  • 2020-07-20
  • 2015-06-08
  • 2020-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-29
相关资源
最近更新 更多