0
我试图实现Hough transform算法。霍夫变换:在负责的矩阵中放置负向矩阵的位置
我在图像的左上角设置了cartesian plane的原点。
THETA(rho和X轴之间的角度)的范围是1..180,具有度的步骤。 rho的最大尺寸是图像对角线的大小。 我想计算累加器矩阵。鉴于其大小以上的信息应该是Y:rho,X:180(theta)。
该算法对我来说似乎很简单,但是rho存在问题。它会有负面的价值。对于从THETA 0 到 PI /2 RHO将只有正的,因为罪和COS都是正的。然而,从PI/2至PI THETA,因为COS为负这里,而罪积极的,这取决于X,该点的y坐标,RHO可能为负值。
我的问题是:在计算累加器矩阵时,我应该如何处理负值rho?我应该在哪里放置它们?
所以我想我已经改用(THETA + 180),只要r为阴性(THETA),反之亦然。这是正确的吗?我举了一个例子,theta = 2PI/3,和(x,y)=(9,4)。 'r'在这种情况下为负数(-1.03)。但是对于theta = PI + 2PI/3它是正数(1.03)。 –
你不应该得到负面的价值。对于每个非零点,您将索引范围为0..179(或1..180)和0..diagonal – MBo