新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于攝像頭的AD黑線提取算法

基于攝像頭的AD黑線提取算法

作者: 時(shí)間:2012-09-18 來源:網(wǎng)絡(luò) 收藏
R-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MAX-WIDTH: 90%; BORDER-RIGHT-WIDTH: 0px; border-image: initial" height=448 alt=22.jpg src="/uploadfile/mndz/uploadfile/201209/20120918053339153.jpg" width=600 border=0>

  圖2 三行相加提取黑線示意圖

  加了以上的濾波以后真?zhèn)€搜索賽道程序會(huì)顯得十分復(fù)雜,而且也不是十分可靠。

  第二種做法: 利用若干行相加,取最黑點(diǎn)。

  這種做法是我們上屆的學(xué)長提出來的算法。但是我利用起來不是很可靠。它的頭點(diǎn)始終采不穩(wěn)定。它的三行相加的理由是若中間一行右黑點(diǎn)丟失,它可以利用自己設(shè)定的閾值把它找回,如三行相加的黑點(diǎn)閾值可以定義為1個(gè)白點(diǎn)與2個(gè)黑點(diǎn)的和。帶有些中值濾波的味道。 但是,由于遠(yuǎn)處的黑白不是很清楚,本來黑白的閾值就難以設(shè)定,三行相加的閾值就更難設(shè)定。而且在彎道上由于遠(yuǎn)方的點(diǎn)本來就少,大約只有一兩個(gè)黑點(diǎn)而且又不在同一列上,很容易將這些點(diǎn)丟失,導(dǎo)致頭部的點(diǎn)不穩(wěn)定。為了盡可能地將遠(yuǎn)方的黑線提取出來,從軟件上將唯一的方法就是增大閾值,比如將三行相加的閾值設(shè)置為一黑二白相加,但是問題是遠(yuǎn)方的黑白不是很明顯,白點(diǎn)比較黑,黑點(diǎn)比較白,這種閾值的選取很容易造成把遠(yuǎn)方的那些比較黑的白點(diǎn)也一并歸入黑線之中,這使得小車的轉(zhuǎn)向發(fā)生混亂。

  

33.jpg

  圖3 逐行找黑點(diǎn)

  第三種做法: 找出每行的最黑點(diǎn),把它作為道路。

  由于每行搜索的是最黑點(diǎn),因此可以將黑點(diǎn)的閾值稍稍擴(kuò)大一點(diǎn),即使遠(yuǎn)方的黑白不清,由于找的是最黑點(diǎn)因此還是可以提取出真確的黑線的。它的主要問題是,不一定每行都有符合要求的點(diǎn),會(huì)造成一行丟失而失去后面的黑點(diǎn)。解決的方法是當(dāng)發(fā)現(xiàn)一行丟失以后,不立即退出搜索,而是置一個(gè)丟失計(jì)數(shù)器,只有當(dāng)丟失計(jì)數(shù)器的值連續(xù)累加到一定的閾值后才退出。當(dāng)每次搜索到一行的黑線后看看丟失計(jì)數(shù)器是否為非零。若不是,則說明前面沒有丟失行。若是,則說明前面有幾行丟失了。我們可以根據(jù)這一行與上以有效行對(duì)中間的丟失行對(duì)中間的丟失行做一個(gè)線性化處理。然后清零丟失計(jì)數(shù)器。有了丟失計(jì)數(shù)器,我們可以對(duì)賽道的提取條件加以嚴(yán)格的限制,而不必?fù)?dān)心黑線的漏檢。比如我們可以嚴(yán)格限制黑線的寬度,這樣我們可以很容易濾除看到大塊的黑斑帶來的干擾;對(duì)于上述的斜看十字交叉線的問題我們只要根據(jù)上一行的黑線嚴(yán)格限制下一行黑線出現(xiàn)范圍便可輕松濾除。當(dāng)然在發(fā)現(xiàn)丟失行以后對(duì)于下一行的搜索必需加大黑線搜索的范圍,允許的連續(xù)丟失行越多則再次找回的黑線的可信度也就越低,在實(shí)際的提取過程中必須把握好這一閾值,使得即可以順利找到前方的道路,又不至于誤提取黑線。實(shí)際證明這種方法實(shí)現(xiàn)簡單,可靠性也最高,黑線提取十分穩(wěn)定。

硬件濾波(電壓跳變比較)

  

44.jpg

  圖4 的視頻輸出信號(hào)

  從的視頻輸出信號(hào),我們可以看出在黑線與白線之間有一個(gè)明顯的電壓跳變過程,我們可以利用這一特點(diǎn)來作為黑線的提取標(biāo)志。利用合理的硬件電路我們變可以實(shí)現(xiàn)在電壓跳變以前輸出邏輯1,在電壓跳變后輸出邏輯0.這樣單片機(jī)要做的就是不停地讀取引腳的電平狀態(tài)。由于不需要AD轉(zhuǎn)化,這使得單片機(jī)在每個(gè)視頻的行中斷中讀取比AD多得多的點(diǎn),黑點(diǎn)的個(gè)數(shù)自然也很多。在提取黑線是軟件要做的就是區(qū)分0與1而已,實(shí)現(xiàn)起來非常方便。下面是一幅由這種



關(guān)鍵詞: 攝像頭 AD黑線 提取算法

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉