我正在尝试实施Hough transform算法。
我在图片的左上角设置了cartesian plane的原点。
theta的范围(rho和X轴之间的角度) 1..180 ,步长 1 度。 rho 的最大大小是图像对角线的大小。 我想计算累加器矩阵。鉴于上面的信息,其大小应为 Y :rho, X :180( theta )。
算法对我来说似乎很简单,但 rho 存在问题。它会有负值。对于从 0 到 PI / 2 的theta,rho将只是正数,因为 sin 和 cos 是正数。然而对于从 PI / 2 到 PI 的theta,因为 cos 在这里是负的,而 sin 是正的,取决于点的x,y坐标,rho可能具有负值。
我的问题是:在计算累加器矩阵时,我应该如何处理 rho 的负值?我应该把它们放在哪里?
答案 0 :(得分:0)
在rho-theta空格线L1 = (rho, theta)
和L2 = (rho, theta + 180)
是相同的,因为线没有选定的方向。
所以只需将theta
(你是怎么得到的?)更改为theta + 180