我正在使用Rosetta Code上的代码来创建Hough变换。我现在想查找图像中的所有线条。为此,我需要霍夫空间中每个峰的ρ和θ值。五边形的示例输出如下所示:
如何为霍夫空间中可见的每个“热点”找到一个单一的[θ,ρ]坐标?
我正在使用Rosetta Code上的代码来创建Hough变换。我现在想查找图像中的所有线条。为此,我需要霍夫空间中每个峰的ρ和θ值。五边形的示例输出如下所示:
如何为霍夫空间中可见的每个“热点”找到一个单一的[θ,ρ]坐标?
Answers:
您正在查找峰的坐标,然后使用该轴将其缩放为[θ,ρ]坐标。
根据数据的嘈杂程度,期望的虚假峰数量和拥有的时间,有几种处理方法。最简单的方法是选择某个水平,该水平是一个真正的峰,将所有数据削减到该峰以下,然后在每个峰上进行重心定位,以得到其中心。
您也可以腐蚀/重影图像,直到每个峰都是单个像素。
File Exchange上的这段代码将帮助您找到所有本地最大值。 http://www.mathworks.com/matlabcentral/fileexchange/14498-local-maxima-minima
如果您知道要查找多少行(在本例中为五行),则只需选择霍夫分数最高的五个局部最大值。
center of gravity
?