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