有人知道如何用opencv或C语言从线段检测器得到的灰度图像中近似线条吗?在附图中,你可以看到每个手指由许多线组成,我需要做的是使每个手指由两条平行线组成(即近似的小线,只适合一条线),如果有任何人帮助我,我将不胜感激。注:我刚接触stackocerflow,所以我不允许发布图片,所以为了更多的澄清,这是图片的链接。
http://www.2shared.com/photo/Ff7mFtV3/Optimal.html
线段检测器(LSD)产生的灰度图像
发布于 2011-07-06 14:32:13
到目前为止,你做了什么?您可能需要一些启发式方法。首先添加表格上的所有分段,尝试计算每个分段的倾斜度,然后按此作为索引对它们进行排序。然后,考虑所有具有倾斜度的分段,例如接近5%或更接近的部分具有完全相同的倾斜度。这将在表中引入分区。您可能希望使用不同的颜色绘制它们,以便找到完美的参数值。
现在,您需要“合并”所有具有相同倾斜度且距离较近的线段。我会尝试测量分段之间的距离(google提供了一个算法),并根据此对每个分区的分段进行排序。考虑合并接近的片段,例如,小于总图像高度的3%的像素或其他(根据经验可以找到)。
最后一步,与其他步骤相比,合并分段应该非常容易。
如果你真的想找到手指,你可以早点停下来,比较相同倾斜度的组,看看是否有两个几乎(大约7% )平行。最接近的5对倾斜度应该是手指:-)
https://stackoverflow.com/questions/6574107
复制相似问题