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