張 超,彭金璋,劉純鴿,何宇樺
(吉首大學(xué)信息科學(xué)與工程學(xué)院,湖南 吉首 416000)
智能車跑道圖像的大津閾值分割算法*1
張 超,彭金璋,劉純鴿,何宇樺
(吉首大學(xué)信息科學(xué)與工程學(xué)院,湖南 吉首 416000)
智能車跑道環(huán)境復(fù)雜多變,傳統(tǒng)的大津閾值分割法無法完成跑道圖像的準(zhǔn)確分割.在分析傳統(tǒng)大津法二值化的基礎(chǔ)上,提出了適合智能車跑道圖像處理的分塊大津法二值化,準(zhǔn)確快速地完成了跑道閾值的分割,并有效地完成路徑的識(shí)別.
智能車;圖像采集;圖像處理;大津法
智能車是一個(gè)對(duì)實(shí)時(shí)性要求非常高的自動(dòng)控制系統(tǒng),圖像采集與處理、路徑識(shí)別、車體控制等一系列過程必須嚴(yán)格按照攝像頭的時(shí)序完成[1].準(zhǔn)確、及時(shí)的路徑識(shí)別是智能車自動(dòng)行駛的關(guān)鍵,這對(duì)跑道圖像采集處理的效率和準(zhǔn)確性提出了更高的要求.文中所述智能車控制系統(tǒng)采用飛思卡爾K60系列的MK60DN512ZVLQ10處理器,圖像采集采用OV7620數(shù)字式攝像頭實(shí)現(xiàn).為提高采集效率,圖像數(shù)據(jù)采集采用DMA模式傳輸[2-3],智能車跑道環(huán)境千變?nèi)f化,靜態(tài)閾值法和傳統(tǒng)的大津閾值算法二值化不能準(zhǔn)確地分割跑道信息[4-5].本文提出了分塊大津算法,分割效果明顯.
數(shù)字化攝像頭OV7620采用NTSC制式,幀頻為30幀/s,場頻60幀/s.攝像頭數(shù)據(jù)輸出由垂直同步VSYN、水平同步HREF、像素時(shí)鐘PCLK控制[6].VSYN的周期是16.64 ms,高電平為換場時(shí)間,低電平為數(shù)據(jù)輸出時(shí)間;HREF的周期是63.6 μs,高電平為數(shù)據(jù)輸出時(shí)間,低電平為換行時(shí)間;PCLK的周期是73 ns,高電平像素輸出,低電平無效.攝像頭時(shí)序如圖1所示.
圖1 OV7620攝像頭的時(shí)序圖
采用攝像頭的中斷信號(hào)觸發(fā)K60系列MK60DN512ZVLQ10處理器的I/O口外部中斷,實(shí)現(xiàn)時(shí)序同步,場中斷時(shí)間作為智能車的控制周期.場中斷的優(yōu)先級(jí)須高于行中斷,否則采集到的圖像會(huì)發(fā)生混亂.OV7620的圖像分辨率為640×480,設(shè)置QVGA格式輸出,大小為320×240.在實(shí)際的智能車系統(tǒng)中,1個(gè)周期無法處理這么大的數(shù)據(jù)量,分辨率為80×60已足夠滿足提取路徑信息.在程序中設(shè)置2個(gè)二維數(shù)組:320×60作為圖像接收數(shù)組,80×60作為圖像處理數(shù)組.攝像頭在采集圖像時(shí),容易發(fā)生梯形失真[7-8],為校正梯形失真,圖像接收數(shù)組從攝像頭采集的240行數(shù)據(jù)中按照遠(yuǎn)密近疏的方法接收60行.
K60系列MK60DN512ZVLQ10處理器采用DMA方式接收圖像數(shù)據(jù),DMA每傳輸一行數(shù)據(jù)存入接收數(shù)組.當(dāng)一場圖像接收完成之后,接收數(shù)組的數(shù)據(jù)每4列取1列存入處理數(shù)組,處理數(shù)組的圖像像素變成80×60.圖像采集流程圖如圖2所示.
圖2 圖像采集流程
數(shù)字式攝像頭輸出的是8位灰度數(shù)據(jù),灰度級(jí)別為256,每場待處理的圖像是一個(gè)80×60像素的灰度數(shù)據(jù).圖像二值化處理是路徑信息提取的基礎(chǔ),其閾值的選取是關(guān)鍵.閾值選取方法可分為靜態(tài)閾值法和動(dòng)態(tài)閾值法,前者事先設(shè)定一個(gè)灰度值,圖像按此值進(jìn)行二值化分割;后者在待處理圖像中進(jìn)行數(shù)學(xué)運(yùn)算,得到一個(gè)合適的值,再按這個(gè)值進(jìn)行二值化分割.靜態(tài)閾值法效率高,但抗干擾能力差;動(dòng)態(tài)閾值法適應(yīng)能力強(qiáng),但算法復(fù)雜,效率低.
智能車跑道環(huán)境瞬息萬變,采用靜態(tài)閾值法無法完成跑道所有圖像的準(zhǔn)確分割,實(shí)驗(yàn)中采用該法的圖像二值化在不同光照條件下的分割效果如圖3所示.K60處理器主頻可超頻至200 MHz,處理能力強(qiáng)大.實(shí)踐測試:采用動(dòng)態(tài)閾值二值化,K60處理器能在規(guī)定時(shí)間內(nèi)完成圖像處理.
圖3 靜態(tài)閾值二值化效果 圖4 傳統(tǒng)大津法二值化結(jié)果
通常情況下,一幅圖像由前景和背景構(gòu)成,方差灰度區(qū)分由方差描述.當(dāng)前景和背景被錯(cuò)分時(shí),類間方差將會(huì)變小,取最大類間方差的灰度值意味著被錯(cuò)分的概率變小.大津法(又稱最大類間方差法OTSU法)是一種自適應(yīng)閾值分割方法,非常適用于前景和背景區(qū)分度較大的圖像分割.大津法的原理如下:
通過全國智能車競賽實(shí)驗(yàn)發(fā)現(xiàn),圖像不同部分灰度差別較大,勢必造成大津法閾值分割不準(zhǔn)確.筆者將一幅圖像分成很多小塊,每個(gè)小塊再用大津法進(jìn)行閾值分割,可以明顯改善二值化效果.圖像分塊的大小和方法需要根據(jù)實(shí)際情況來確定.
智能車跑道由白底和邊緣黑線組成,白底是背景色,黑線是前景色.二值化的目的是把白底判為1,黑線判為0,從而提取黑線信息,所以劃分的每一個(gè)小塊必須包含白底和邊緣黑線.
大津算法的偽代碼如下:
int otsu (unsigned char *image,int rows,int cols,int x0,int y0,int dx,int dy)
{
/* image:圖像指針;rows:圖像高度;cols:圖像寬度;*/
/* x0:起始行;y0:起始列;dx:處理行大小;dy:處理列大小 */
for循環(huán)初始化灰度直方圖pixel[k];
for循環(huán)生成直方圖,統(tǒng)計(jì)每一級(jí)灰度的像素個(gè)數(shù);
for (k = 0;k <= 255;k++)
{
sum_gray+=(double)k*(double)pixel[k];
/*灰度直方圖質(zhì)量矩*/
sum_pix_num+=pixel[k];/*總像素個(gè)數(shù)*/
}
for(k=0;k<255;k++)
{
p1_pix_num+=pixel[k];
/*第一部分像素個(gè)數(shù)*/
p2_pix_num=sum_pix_num-p1_pix_num;
/*第二部分像素個(gè)數(shù)*/
p1_sum_gray+=(double)k*pixel[k];
/*第一部分質(zhì)量矩*/
第二,設(shè)立SPV。建立SPV是證券化的關(guān)鍵所在,也是整個(gè)流程的核心部分。它的目的在于降低發(fā)起人破產(chǎn)風(fēng)險(xiǎn)對(duì)證券化的影響,實(shí)現(xiàn)風(fēng)險(xiǎn)隔離。
m1=p1_sum_gray/p1_pix_num;
/*第一部分灰度均值*/
m2=(sum_gray-p1_sum_gray)/p2_pix_num;
/*第二部分灰度均值*/
V=p1_pix_num*p2_pix_num*(m1-m2)*(m1-m2);
/*求類間方差*/
if(V>variance)
{
threshold Value=k;
/*將類間方差較大時(shí)的灰度值作為閾值*/
}
}
return(thresholdValue);/*求出閾值*/
}
圖5 改進(jìn)的大津法二值化結(jié)果
一幅圖像分塊越多,二值化效果越好.但是,分塊二值化會(huì)降低圖像處理的效率,如果劃分太細(xì),圖像處理無法在規(guī)定時(shí)間內(nèi)完成.經(jīng)大量實(shí)驗(yàn)發(fā)現(xiàn),將一場圖像的60行數(shù)據(jù)分為3個(gè)小塊,1~20行作為遠(yuǎn)場,21~40行作為中場,41~60行作為近場,每個(gè)小塊用大津法提取閾值,整場圖像用3個(gè)閾值二值化,既能在一個(gè)周期內(nèi)完成圖像處理,又能取得較好的二值化效果.改進(jìn)后的大津算法二值化效果如圖5所示.
筆者通過對(duì)傳統(tǒng)大津算法的分析,指出了其在智能車跑道圖像二值化上的不足,闡述了改進(jìn)的分塊大津算法.實(shí)驗(yàn)結(jié)果表明:改進(jìn)后的大津算法能更好地實(shí)現(xiàn)智能車跑道圖像二值化.
[1] 卓 晴,黃開勝,邵貝貝,等.學(xué)做智能車[M].北京:北京航空航天大學(xué)出版社,2007.
[2] 曹宗凱,胡 晨,姚國良.DMA在內(nèi)存間數(shù)據(jù)拷貝中的應(yīng)用及其性能分析[J].電子器件,2007,30(1):311-317.
[3] 楊福廣,李貽斌,尹占芳,等.ARM中基于DMA的高效UART通訊及其應(yīng)用[J].微計(jì)算機(jī)信息,2008,24(1/2):161-162.
[4] RAFAEL C G,RICHARD E W.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2005.
[5] 孫少林,馬志強(qiáng),湯 偉. 灰度圖像二值化算法研究[J].價(jià)值工程,2010(5):142-143.
[6] 岱默科技.新手入門攝像頭:第4篇——OV7620數(shù)字?jǐn)z像頭時(shí)序剖析[EB/OL].[2014-04-21].http://www.znczz.com/forum.php?mod=viewthread&tid=111728.
[7] 王 建,張曉煒,楊 錦,等.基于視覺傳感器的智能車攝像頭標(biāo)定技術(shù)研究(上) [J].電子產(chǎn)品世界,2010(6):48-49.
(責(zé)任編輯 陳炳權(quán))
SegmentationAlgorithmofOtsuThresholdAbouttheRunwayImageofIntelligentCar
ZHANG Chao,PENG Jin-zhang,LIU Chun-ge,HE Yu-hua
(College of Information Science and Engineering,Jishou University,Jishou 416000,Hunan China)
The environment of the runway of intelligent car is complicated,and the traditional otsu thresholed segmentation method can not achieve mecise segmentation of the runway image.On the basis of the analysis on the birnarization of the tradtional otsu method,the block otsu binarization for intelligent runway image processing is proposed.This algorithm can achieve fast and precise segmentation of runway threshold and effective runway recognition,effectively copmplete path identification.
intelligent car;image acquisition;image processing;otsu method
1007-2985(2014)04-0027-04
2013-10-02
吉首大學(xué)大學(xué)生研究性學(xué)習(xí)和創(chuàng)新性實(shí)驗(yàn)計(jì)劃課題資助項(xiàng)目(JSU-CX-2013-09)
張 超(1991-),男,湖南懷化人,吉首大學(xué)信息科學(xué)與工程學(xué)院學(xué)生,主要從事嵌入式系統(tǒng)研究
彭金璋(1963-),男,湖南張家界人,吉首大學(xué)信息科學(xué)與工程學(xué)院教授,主要從事材料電子結(jié)構(gòu)研究.
TP391
A
10.3969/j.issn.1007-2985.2014.04.007