高孟杰+胡曉燕
摘 要 智能車技術(shù)的研究是一項綜合性的研究,其中包括機(jī)械、傳感器檢測、電機(jī)控制、模式識別、圖像分析、信號處理、嵌入式系統(tǒng)等多個學(xué)科融合。本文以智能車控制系統(tǒng)的圖像信號采集與圖像處理為研究對象,分析了圖像傳感器OV7620的工作原理,并且提出了圖像信號采集與圖像處理的方法,圖像處理中使用了二值化和中值濾波算法,在提取黑線上采用邊沿提取法。
關(guān)鍵詞 圖像傳感器OV7620 二值化 中值濾波 邊沿提取法
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
1圖像傳感器OV7620的工作原理
攝像頭 OV7620 是一款數(shù)字的 CMOS 型、NTSC 制式的攝像頭,每秒能夠輸出 30 幀圖像,OV7620 攝像頭是隔行掃描圖像的,即在每行掃描點數(shù)不變的情況下,將圖像分成奇偶兩場分別傳送,奇場圖像傳送 1、3、5、7……奇數(shù)行,偶場圖像則傳送與之相對應(yīng)的偶數(shù)行,這兩場圖像的效果是一樣的。圖像在低電平的時候傳輸給的單片機(jī),采用下降沿捕捉,既在每場圖像開始時候采集,采用這種方法采集的圖像更為準(zhǔn)確些。行中斷的周期為 63.6us,圖像在高電平時輸出像素點,低電是換行時間,所以一定要捕捉上升沿將來觸發(fā)行中斷,因為下降沿后的數(shù)據(jù)是無效的。
要操作攝像頭,首先進(jìn)行初始化,傳統(tǒng)的中斷觸發(fā)方式都是上升沿觸發(fā),而本文研究的行、場中斷都是下降沿觸發(fā),在這里需要解釋一下。由于OV7620的圖像大小是640'480,而單片機(jī)不需要這么多的列,由于使用了DMA功能,而DMA只能連續(xù)采集,因此我們選用硬件四分頻,因此實際采集到的列數(shù)為640/4=160列,而行數(shù)我們采用隔行采集的思想。
做攝像頭信號采集一定要做好時序的分析工作,一幀分為兩場圖像,即奇場和偶場,將圖像處理放在偶場進(jìn)行處理,而奇場進(jìn)行采集圖像。其中AcqAryy[50]中存入需要采集的行,由于攝像頭一幀有480行,一場有240行,因此,需要在這240行中挑選50行,具體操作為在賽道上放一根黑條,每2cm采集一次(理論距離為250=100cm,但實際最遠(yuǎn)端的行采集不清楚,不得不每兩行采集一次,調(diào)整一次黑條,也可在賽道上粘50根黑條,直接采集240行圖像,發(fā)送到上位機(jī)上,從中挑選50行,最終能夠達(dá)到圖1的圖像效果。
3.1二值化處理
將圖像導(dǎo)入matlab進(jìn)行分析,發(fā)現(xiàn)原始圖像像素值均在0-255內(nèi),而白色區(qū)域像素值一般在 160以上,黑色區(qū)域一般在 70以下。為了提取出黑線,檢測像素值的跳變是最直觀的方案,但是實際中一般黑白線邊沿的像素值不是突然跳變的,而有一個過渡過程。所以,將原始圖像進(jìn)行二值化處理不但有清晰邊沿線的功能,還能方便后續(xù)路徑識別部分算法的設(shè)計與處理。
二值化處理就是對于輸入圖像的各個像素,先確定某個亮度值,當(dāng)像素的亮度超過該閾值時,則將對應(yīng)輸出圖像的像素值設(shè)為 1,否則為 0,原理公式如下:
其中, f ( x, y), g ( x, y)分別為處理前 、處理后的圖像中處于( x, y)位置上的某個像素的濃度值,t為閾值 。圖 2為二值化后的效果, 0為黑點, 1為白點 。
二值化后的賽道狀況已經(jīng)非常明了,但是仍有干擾存在,這樣對賽道的識別及接下來的算法設(shè)計會造成一定的困難。 因而,選擇對圖像進(jìn)行中值濾波。該方法是一種局部平均的平滑技術(shù), 對脈沖干擾和椒鹽噪聲的抑制效果好,能有效保護(hù)圖像的邊緣 。
1x3窗口中值濾波是非常簡單的一種去噪方法,是將某個像素點和相鄰兩個像素點的像素值按大小順序排列,取出中間值作為該點的像素值。這種方法能夠有效地抑制隨機(jī)噪聲,并且計算量相比去噪常用的 3x3模板要小得多 。減小計算量能夠有效地提高單片機(jī)識別道路的速度,這一點對時間要求較高的實時處理是非常重要的。
為了說明此方案的適用性,隨機(jī)在圖像數(shù)組中加入噪聲點,如圖3。為了使接下來的驗證過程更為方便,設(shè)計中將實際圖像用matlab進(jìn)行二值化,導(dǎo)出一個二維數(shù)組,在驗證算法時不同的道路狀況只需修改數(shù)組中的值即可。
3.2黑線提取
這里的黑色引導(dǎo)線以白色為襯底,因黑線和白色底板存在很多大灰度比,在圖像信號上會形成相應(yīng)高低不同的電壓值。當(dāng)檢測到黑線時,圖像信號中將形成一個“ 凹”形槽,凹槽處即是黑線在一行數(shù)據(jù)中的相對位置。
對圖像每行數(shù)據(jù)的處理將得到每行圖像中黑線的相對位置,即下面的行數(shù)據(jù)處理;而對每行圖像中黑線的位置的綜合分析將再現(xiàn)黑線的形狀,即下面的幀數(shù)據(jù)處理。本設(shè)計將采集的模擬量數(shù)據(jù)存放在一個二維數(shù)組中,當(dāng)完成對一行數(shù)據(jù)的采集后,就可以對該行的數(shù)據(jù)進(jìn)行處理,即提取黑線的算法。 在提取黑線上采用邊沿提取法。該算法具有對黑線反應(yīng)靈敏、準(zhǔn)確度高、抗干擾能力強(qiáng)等特點。
圖4表示的是光線比較好的情況下,A/D采集一幀中一行像的數(shù)值結(jié)果,即二維數(shù)組中的某一行數(shù)據(jù)。小圓點的縱坐標(biāo)表示 A/D采集值,橫坐標(biāo)表示采集點在二維數(shù)組該行中的相對位置。
邊沿提取法,即通過程序檢測到上述圖形的上升沿和下降沿 ,然后通過上升沿和下降沿的位置求出黑線的位置。邊沿提取算法流程,其提取流程如圖5所示:
通過判斷下降沿位置和上升沿位置,來計算黑線的相對位置,并通過判斷上升沿之后的數(shù)據(jù)是否滿足相差不大于閾值來減小誤差,以精確計算黑線的相對位置。
參考文獻(xiàn)
[1] (日)井上誠喜,等.C語言實用數(shù)字圖像處理[M].白玉林譯.北京:科學(xué)出版社,2003.
[2] 王榮本,游峰,崔高健,郭列.基于計算機(jī)視覺高速智能車輛的道路識別[J].計算機(jī)工程與應(yīng)用,2004(26).
[3] 張曉飛,袁祥輝.基于 DSP成像系統(tǒng)的視頻圖像采集部分的實現(xiàn)[J].壓電與聲光,2002, 24(3).