2016-12-01 43 views
0

我試圖實現Hough transform算法。霍夫變換:在負責的矩陣中放置負向矩陣的位置

我在圖像的左上角設置了cartesian plane的原點。

THETA(rho和X軸之間的角度)的範圍是1..180,具有度的步驟。 rho的最大尺寸是圖像對角線的大小。 我想計算累加器矩陣。鑑於其大小以上的信息應該是Y:rho,X:180(theta)。

該算法對我來說似乎很簡單,但是rho存在問題。它會有負面的價值。對於從THETA 0 PI /2 RHO將只有正的,因爲COS都是正的。然而,從PI/2PI THETA,因爲COS爲負這裏,而積極的,這取決於X,該點的y座標,RHO可能爲負值。

我的問題是:在計算累加器矩陣時,我應該如何處理負值rho?我應該在哪裏放置它們?

回答

0

在rho-theta空間行L1 = (rho, theta)L2 = (rho, theta + 180)是相同的,因爲行沒有選定的方向。

因此,只要改變消極theta(你怎麼了?獲得),以theta + 180

+0

所以我想我已經改用(THETA + 180),只要r爲陰性(THETA),反之亦然。這是正確的嗎?我舉了一個例子,theta = 2PI/3,和(x,y)=(9,4)。 'r'在這種情況下爲負數(-1.03)。但是對於theta = PI + 2PI/3它是正數(1.03)。 –

+0

你不應該得到負面的價值。對於每個非零點,您將索引範圍爲0..179(或1..180)和0..diagonal – MBo