無人駕駛 OpenCV (3) 識別車道線


直線的方程可以用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)的直線就是穿過這些點的直線,也就是這些點的共線。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容