如何对霍夫变换图像进行去霍夫处理?


Answers:


9

您正在查找峰的坐标,然后使用该轴将其缩放为[θ,ρ]坐标。

根据数据的嘈杂程度,期望的虚假峰数量和拥有的时间,有几种处理方法。最简单的方法是选择某个水平,该水平是一个真正的峰,将所有数据削减到该峰以下,然后在每个峰上进行重心定位,以得到其中心。

您也可以腐蚀/重影图像,直到每个峰都是单个像素。


1
+1为精确答案。您如何定义/计算center of gravity
Dipan Mehta 2012年

为了获得更高的精度,请找到最大值,然后将抛物面拟合到该点及其相邻点,然后找到抛物面的峰值,该峰值通常在像素之间。
endlith 2012年

2
@endolith-通常使用霍夫变换,其精度受到初始图像中边缘的识别以及霍夫空间中结果的“离散化”的限制。如果您需要更精确的结果,通常可以返回并重新进行变换,以在[θ,ρ]坐标的更有限范围内获得更高分辨率的霍夫空间(找到的
航迹

@DipanMehta-简单地求和(每个像素的 x 值)和(y ..),然后除以您要搜索的框的X,Y宽度-但请参见对内石的评论
Martin Beckett


2

您可以找到给定半径的局部最大值。例如,您扫描霍夫图像,仅在窗口中最大的峰时才将峰作为最大值。3×3

第二步可能是将峰值位置细化为亚像素精度。这可以通过抛物线拟合来完成。

FXXpFX+p

FX+pFX+pŤFX+1个2pŤF''X+p

校正向量是

p=-F''X-1个FX

可以通过有限差分从霍夫图像计算导数。

注意F''X2×2FXp

上面的公式有时可能会产生大于1个像素的偏移。在这种情况下,最大化器邻域不具有抛物线形状,您可能不想进行校正,甚至应该删除候选最大化器。


0

Gerig和Klein在80年代中期开发了一种非常好的技术。这是一个回映射过程,它分析霍夫空间以识别与每个边缘点关联的最可能点,然后构造第二个霍夫空间,其中边缘点到参数的映射是一对一的,而不是一对多的。是通常的第一阶段。我没有手头的参考资料,而是在Illingworth和Kittler的开创性Hough评论文章中找到(大约1987年?)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.