基于CCD攝像頭的黑線(xiàn)提取算法
第三種做法: 找出每行的最黑點(diǎn),把它作為道路。
本文引用地址:http://dyxdggzs.com/article/91257.htm由于每行搜索的是最黑點(diǎn),因此可以將黑點(diǎn)的閾值稍稍擴大一點(diǎn),即使遠方的黑白不清,由于找的是最黑點(diǎn)因此還是可以提取出真確的黑線(xiàn)的.它的主要問(wèn)題是,不一定每行都有符合要求的點(diǎn),會(huì )造成一行丟失而失去后面的黑點(diǎn).解決的方法是當發(fā)現一行丟失以后,不立即退出搜索,而是置一個(gè)丟失計數器,只有當丟失計數器的值連續累加到一定的閾值后才退出.當每次搜索到一行的黑線(xiàn)后看看丟失計數器是否為非零.若不是,則說(shuō)明前面沒(méi)有丟失行.若是,則說(shuō)明前面有幾行丟失了.我們可以根據這一行與上以有效行對中間的丟失行對中間的丟失行做一個(gè)線(xiàn)性化處理.然后清零丟失計數器.有了丟失計數器,我們可以對賽道的提取條件加以嚴格的限制,而不必擔心黑線(xiàn)的漏檢.比如我們可以嚴格限制黑線(xiàn)的寬度,這樣我們可以很容易濾除看到大塊的黑斑帶來(lái)的干擾;對于上述的斜看十字交叉線(xiàn)的問(wèn)題我們只要根據上一行的黑線(xiàn)嚴格限制下一行黑線(xiàn)出現范圍便可輕松濾除.當然在發(fā)現丟失行以后對于下一行的搜索必需加大黑線(xiàn)搜索的范圍,允許的連續丟失行越多則再次找回的黑線(xiàn)的可信度也就越低,在實(shí)際的提取過(guò)程中必須把握好這一閾值,使得即可以順利找到前方的道路,又不至于誤提取黑線(xiàn).實(shí)際證明這種方法實(shí)現簡(jiǎn)單,可靠性也最高,黑線(xiàn)提取十分穩定.
硬件濾波(電壓跳變比較)
圖4攝像頭的視頻輸出信號
從攝像頭的視頻輸出信號,我們可以看出在黑線(xiàn)與白線(xiàn)之間有一個(gè)明顯的電壓跳變過(guò)程,我們可以利用這一特點(diǎn)來(lái)作為黑線(xiàn)的提取標志.利用合理的硬件電路我們變可以實(shí)現在電壓跳變以前輸出邏輯1,在電壓跳變后輸出邏輯0.這樣單片機要做的就是不停地讀取引腳的電平狀態(tài).由于不需要AD轉化,這使得單片機在每個(gè)視頻的行中斷中讀取比AD多得多的點(diǎn),黑點(diǎn)的個(gè)數自然也很多.在提取黑線(xiàn)是軟件要做的就是區分0與1而已,實(shí)現起來(lái)非常方便.下面是一幅由這種方法提取出的圖像與AD采樣圖像的對比.
圖5 AD采樣圖
圖6 硬件采樣圖
可以看到它的黑線(xiàn)非常明顯,效果很好。
但是這種方法也存在著(zhù)它的很多局限性:
首先,它對環(huán)境的要求很苛刻,不能有縫,不能有反光.由于縫的顏色明顯易于周?chē)念伾?因此在圖像上它就表現為一條黑線(xiàn)。其次由于反光的作用使得反光區域光線(xiàn)異常強烈。反光區在圖像上也是一片黑,使得白變黑。
其次,它對橫向的分辨能力很弱。使得它對起始道的區分非常困難。比如起始道在圖像上往往會(huì )把中間的黑道變成白道,使得起始道的辨別以及黑線(xiàn)的提取困難。
最后,對于十字交叉道,由于一行全是黑線(xiàn),電壓無(wú)跳變,因此在圖像上它是一條白線(xiàn),使得賽道出現斷點(diǎn).出現黑變白.更糟糕的情況是稍微斜看十字叉時(shí),它會(huì )出現起始道的特征.使得賽車(chē)亂停機.
上述的黑變白以及白變黑的出現,很大程度上抵消了它所帶來(lái)的方便性,軟件必須對于采到的黑線(xiàn)加以認真判別它是否是真的黑線(xiàn),這就涉及到許多方面的濾波.再則,由于單片機讀取的僅僅是0-1信號,丟失了每個(gè)點(diǎn)的之間細微的黑白程度,這給濾波也帶來(lái)極大的難處.為了正確提取黑線(xiàn)它涉及到本文所提到過(guò)的所有濾波方式,包括線(xiàn)寬設置,黑線(xiàn)的連續性等等.
但是它帶來(lái)的最大困難還是起始道的判別問(wèn)題.起始道的干擾不僅來(lái)自十字交叉線(xiàn),而且還來(lái)自一般賽道,因為很有可能在賽道的兩側由于光線(xiàn)反射的不均衡導致電壓的跳變,使得在黑線(xiàn)的旁邊隔著(zhù)一段白斑出現幾段的黑線(xiàn),很容易誤認起始道,最終導致起始道根本無(wú)法識別.
基于以上的分析,最后我們還是選用了AD的第三種方法,它簡(jiǎn)單,實(shí)用,效果很理想.
它的流程圖以及程序代碼如下:
圖7 流程圖
參考文獻:
[1] 卓晴,黃開(kāi)勝,邵貝貝等. 學(xué)做智能車(chē)—挑戰“飛思卡爾”杯. 北京航空航天大學(xué)出版社. 2007
[2] 第二屆全國大學(xué)生“飛思卡爾”杯智能汽車(chē)競賽浙江大學(xué)捷豹II隊技術(shù)文檔
[3] 第二屆全國大學(xué)生“飛思卡爾”杯智能汽車(chē)競賽上海交大speedstar隊技術(shù)文檔
攝像頭相關(guān)文章:攝像頭原理
評論