
圖

圖
直線的方程可以用y=m*x+b 來表示,其中k和b是參數(shù),分別是斜率(m)和截距(b)。通過一點(x,y)的所有直線的參數(shù)都會滿足方程y=mx+b。即點(x,y)確定了一組直線。

圖
通過圖我們可以找到 m 和 b 區(qū)域,如果直線通過這個區(qū)域就等于給這個區(qū)域進行投票。

圖
在坐標系中存在問題,就是如果我們直線如果與坐標軸并行,這樣斜率也就是 w 值趨近于無窮。我們無法 hough space 通過點表示該直線。

圖
在實際中,有 y = c 這樣情況,或者是 x = c 這樣方程為一個常數(shù),也就是斜率為無窮大。所以在實際中采用極坐標 p = xcos(theta) + ysin(theta) 平面上點對應(yīng)極坐標上的一條曲線。

圖
我們看一看如何在極坐標根據(jù) theta 和 p 確定一條直線,從原點引一條垂直直線的線段,線段距離就是 p 。theta 和 p 帶入 x = 5 y = 2

圖
如果 theta 為 0 那么在極坐標上表示為 x 截距為 5 也就是 p = 5 值

圖
如果 theta = 90 表示 p =2 在 y 軸上線段。

圖

圖
在極坐標中一點的直線集,現(xiàn)在 hough 空間表示如右圖,這些點也會連接成一條曲線

圖
在坐標系列點中,在 hough 空間曲線如圖,這些點在 hough 空間所對應(yīng)曲線交于一點,這一點在坐標軸所對應(yīng)的直線就是穿過這些點的直線,也就是這些點的共線。

圖