文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)10-0109-03
車牌識(shí)別系統(tǒng)是智能交通系統(tǒng)(ITS)關(guān)鍵技術(shù)之一,主要由車牌定位、字符分割及字符識(shí)別三部分組成。字符分割是下一步字符識(shí)別的前提,因此字符分割的好壞將直接影響下一步字符的識(shí)別率。
為了提高字符分割的效果,人們專注研究各種分割方法,提出了許多好的分割字符方法。同時(shí),字符分割前車牌預(yù)處理的研究也十分重要,通過預(yù)處理可以消除車牌邊框、鉚釘?shù)仍肼暤母蓴_,突出字符,使車牌字符可以方便精確地被分割出來。目前最常用的方法是將車牌區(qū)域像素投影并去除邊框[1]。但由于該方法對(duì)傾斜車牌投影,尋找不到準(zhǔn)確的邊框分割線,因而容易把字符誤切出去,并且車牌邊框中經(jīng)常含有一些廠家、公司等標(biāo)示字符,投影法不能精確地把邊框等完全去除掉。鑒于此,本文提出了一種基于水平垂直結(jié)構(gòu)元素開運(yùn)算的數(shù)學(xué)形態(tài)學(xué)方法,實(shí)現(xiàn)字符分割前的車牌預(yù)處理。該方法能夠在車牌定位不精確的情況下有效去除車牌邊框、鉚釘及其他噪聲,消除干擾突出字符。在此基礎(chǔ)上運(yùn)用傳統(tǒng)的水平和垂直投影法以及車牌的先驗(yàn)知識(shí)進(jìn)行字符間的分割,有效地改進(jìn)了字符分割的效果。
1 車牌傾斜矯正
通常采集到的車牌往往有一定的傾斜角度,不利于車牌的字符分割,影響最終的識(shí)別率。因此,在預(yù)處理中首先要對(duì)傾斜的車牌進(jìn)行矯正,采用Hough變換檢測(cè)直線獲得傾斜角度[2]。
Hough變換的基本思想是利用點(diǎn)-線對(duì)偶性,即圖像空間共線的點(diǎn)對(duì)應(yīng)在參數(shù)空間相交的線。反過來在參數(shù)空間中交與同一個(gè)點(diǎn)的所有直線在圖像空間里都有共線的點(diǎn)與之對(duì)應(yīng),該交點(diǎn)就對(duì)應(yīng)所要檢測(cè)的直線。極坐標(biāo)中直線方程為:
其中,ρ為原點(diǎn)距直線的法線距離,θ為該法線與x軸的夾角。找到參數(shù)空間中最多直線相交的那個(gè)點(diǎn)(ρ,θ),就檢測(cè)到了圖像空間中的對(duì)應(yīng)直線。此時(shí)θ即為車牌的傾斜角度。
由于通常的Hough變換只適用于黑白二值圖片,所以在Hough變換前需要先對(duì)車牌進(jìn)行邊緣檢測(cè)。本文選用Sobel邊緣檢測(cè)算子,利用像素點(diǎn)上下、左右鄰點(diǎn)的灰度加權(quán)差算法,根據(jù)在邊緣點(diǎn)處達(dá)到極值這一現(xiàn)象進(jìn)行邊緣檢測(cè)。Sobel算子受噪聲的影響較小,對(duì)噪聲具有平滑作用,可提供較為精確的邊緣方向信息,是一種常用的邊緣檢測(cè)方法。Sobel 算子的水平、垂直模板分別為[3]:
2 去除邊框和鉚釘
從車牌原灰度圖1中可以看出,在車牌區(qū)域中含有邊框和鉚釘?shù)拇嬖?,影響車牌字符分割的效果。因而,在車牌字符分割前需要?duì)車牌進(jìn)行預(yù)處理,去除邊框和鉚釘,突出字符[4]。對(duì)灰度車牌圖像采用水平垂直灰度運(yùn)算法可以消除車牌周圍的邊框和鉚釘,該算法是一種灰度數(shù)學(xué)形態(tài)學(xué)運(yùn)算。
數(shù)學(xué)形態(tài)學(xué)的基本思想是采用具有一定形態(tài)的結(jié)構(gòu)元素量度和提取圖像中的對(duì)應(yīng)形狀。由一組形態(tài)學(xué)的代數(shù)運(yùn)算子組成,其基本運(yùn)算有膨脹、腐蝕、開啟和閉合。通過在圖像中移動(dòng)一個(gè)結(jié)構(gòu)元素并進(jìn)行一種類似于卷積運(yùn)算的方式(只是以邏輯運(yùn)算代替卷積的乘加元算),以達(dá)到對(duì)圖像分析和識(shí)別的目的。
灰度數(shù)學(xué)形態(tài)學(xué)是二值形態(tài)學(xué)的推廣,灰度腐蝕與膨脹的一般定義為:設(shè)結(jié)構(gòu)元素S(x,y),對(duì)輸入圖像f(x,y)進(jìn)行灰度腐蝕,記為fΘS,灰度膨脹記為f⊕S。
本都可以去除。說明本文采用的水平垂直灰度開運(yùn)算方法對(duì)去除邊框等干擾噪聲預(yù)處理效果明顯,能夠幫助提高下一步字符分割的效果。
3 分割字符
本文采用傳統(tǒng)的投影法并結(jié)合車牌先驗(yàn)知識(shí)分割字符[6]。根據(jù)統(tǒng)計(jì),通常標(biāo)準(zhǔn)汽車車牌為450 mm×150 mm,車牌字符總長度為409 mm,單個(gè)字符的寬度為45 mm,高度為90 mm,二、三字符間的小圓點(diǎn)寬度為10 mm。有了這些先驗(yàn)知識(shí),利用投影法則能較容易、準(zhǔn)確地分割出字符,算法步驟如下:
(1)計(jì)算出要處理的車牌寬度,利用標(biāo)準(zhǔn)車牌字符總長度與單個(gè)字符寬度的比,估算出每個(gè)字符的寬度wide。
(2)自上而下對(duì)車牌進(jìn)行逐行掃描,直到遇到第一個(gè)白像素點(diǎn),記錄此時(shí)的位置并標(biāo)記為字符高度的起始位置。
(3)繼續(xù)逐行掃描,直到圖像中所有的行沒有白像素點(diǎn)為止,記錄此時(shí)的位置并標(biāo)記為字符高度的結(jié)束位置,去除掉起始位置和結(jié)束位置間之外的所有其他行,如圖8所示。
(4)從左到右對(duì)車牌逐列掃描,把第一次遇到的白像素點(diǎn)所在的列作為第一個(gè)字符的起始位置,接著往后掃描直至沒有白像素點(diǎn)為止。此時(shí)將像素寬度與wide進(jìn)行比較,若小于wide,則繼續(xù)掃描至下一個(gè)字符結(jié)束點(diǎn),至此,第一個(gè)漢字字符分割完成。由于后面的字母和數(shù)字是連通的,所以不需要比較wide,依次往后掃描,分割出每個(gè)字符,如圖9所示。
本文的實(shí)驗(yàn)環(huán)境是在VC++6.0下,程序采用C語言結(jié)合Windows自帶的API函數(shù)編寫。從最后的實(shí)驗(yàn)結(jié)果可以看出,基于水平垂直灰度開運(yùn)算方法對(duì)字符分割前的車牌進(jìn)行預(yù)處理,可以很好地去除邊框、鉚釘?shù)雀蓴_,明顯突出了車牌字符區(qū)域,方便下一步字符分割處理,有效提高了字符分割的效果。
參考文獻(xiàn)
[1] 黃文杰.基于投影的車牌字符分割方法[J].現(xiàn)代計(jì)算機(jī) (專業(yè)版),2009(8):57-60.
[2] 馬騰飛,鄭永果,趙衛(wèi)東.基于邊緣檢測(cè)與Hough變換的車牌字符分割算法[J]. 系統(tǒng)仿真學(xué)報(bào)(增刊),2006,18(1):391-392.
[3] 楊帆.數(shù)字圖像處理與分析[M].北京:北京航空航天大學(xué)出版社,2007.
[4] 陳濤,楊晨暉,青波.基于投影和固有特征結(jié)合的車牌字符分割方法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(5):45-47.
[5] 崔屹. 圖象處理與分析——數(shù)學(xué)形態(tài)學(xué)方法及應(yīng)用[M]. 北京:科學(xué)出版社,2000.
[6] 劉軍,向軍,肖宇.基于投影特征和先驗(yàn)知識(shí)的車牌字符分割算法[J].公路工程,2011,36(5):44-46.