《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于MATLAB的車牌識別系統(tǒng)設計與實現(xiàn)
基于MATLAB的車牌識別系統(tǒng)設計與實現(xiàn)
來源:微型機與應用2011年第14期
劉忠杰, 宋小波,, 何 鋒,, 李 芬, 周培瑩,, 劉百辰
(常州先進制造技術研究所 機器人系統(tǒng)實驗室,,江蘇 常州 213164)
摘要: 通過對車牌定位、車牌字符分割和車牌字符識別進行研究,,提出了一種車牌識別系統(tǒng)的設計和實驗仿真方法,。該方法首先采用基于Canny 算子邊緣檢測和數(shù)學形態(tài)學相結合的方法定位出車牌,進行二值化、濾波和形態(tài)學開運算后使用投影二分法分割出7個車牌字符,最后使用模板匹配和特征統(tǒng)計相結合的方法識別出車牌字符,。試驗表明該方法是有效的,、可行的,與傳統(tǒng)使用單一算法相比較,該方法大大提高了車牌識別系統(tǒng)的正確率,。
Abstract:
Key words :

摘  要: 通過對車牌定位,、車牌字符分割車牌字符識別進行研究,提出了一種車牌識別系統(tǒng)的設計和實驗仿真方法,。該方法首先采用基于Canny 算子邊緣檢測和數(shù)學形態(tài)學相結合的方法定位出車牌,進行二值化,、濾波和形態(tài)學開運算后使用投影二分法分割出7個車牌字符,最后使用模板匹配和特征統(tǒng)計相結合的方法識別出車牌字符,。試驗表明該方法是有效的、可行的,與傳統(tǒng)使用單一算法相比較,,該方法大大提高了車牌識別系統(tǒng)的正確率,。
關鍵詞: 圖像預處理; 車牌定位,; 車牌字符分割,; 車牌字符識別

    隨著世界經(jīng)濟和科學技術的不斷發(fā)展,智能交通系統(tǒng)越來越多地被人們所關注。車牌識別LPR(License Plate Recognition)是智能交通系統(tǒng)中重要研究課題[1],,已成為圖像處理和模式識別研究中的熱點,。整個車牌識別系統(tǒng)主要包括圖像預處理、車牌定位,、車牌字符分割,、車牌字符識別4個模塊,其流程圖如圖1所示,。


    圖像預處理主要是將輸入的彩色圖像轉換為灰度圖像,,再進行灰度增強,以達到較好的凸顯車牌字符的效果,。這里首先將24位R,、G、B的彩色圖像按式(1)轉換成256級的灰度圖,,以減少存儲和計算量,,圖2是轉換后的車牌灰度圖。



1 車牌定位
    車牌定位是車牌識別系統(tǒng)中關鍵的一步,,直接關系到車牌字符分割的準確性和系統(tǒng)識別的正確率[2],。通過比較4種典型的邊緣檢測算子,選擇Canny算子對車牌進行邊緣檢測,,然后對車牌進行形態(tài)學處理,,并統(tǒng)計圖像中白色像素點的個數(shù)定位出車牌區(qū)域。
1.1 4種典型的邊緣檢測算子
 邊緣檢測的目的是標識數(shù)字圖像中亮度變化明顯的點,,車牌識別4種典型的邊緣檢測算子有:Roberts算子,、Prewitt算子、Sobel算子和Canny算子,,圖3是這4種典型的邊緣檢測算子對車牌圖像的檢測效果圖,。

    實驗結果表明,Roberts算子對邊緣定位比較準,但對噪聲過于敏感,,在圖像噪聲較少的情況下分割效果相當不錯,。Prewitt算子有一定的抗噪能力,但是這種抗噪能力是通過像素平均來實現(xiàn)的,相當于低通濾波,,所以圖像有一定模糊,其邊緣檢測時會受到一定影響,。Soble算子對噪聲有抑制作用,但對邊緣的定位不是很準確,,不適合對邊緣定位的準確性要求很高的應用。Canny算子具有高定位精度,,即能準確地把邊緣點定位在灰度變化最大的像素上,,同時較好地保留了原有車形的邊緣特征,并能抑制虛假邊緣的產(chǎn)生,,因此本文選取Canny算子作為車牌圖像邊緣檢測算子,。
    Canny算子邊緣檢測的實現(xiàn)是由MATLAB圖像處理工具箱中edge函數(shù)來完成的。edge函數(shù)主要是在灰度圖像中查找圖像的邊緣,,處理圖像的格式為BW=edge(I,′Canny′,thresh),其中I為灰度圖像,;thresh是一個包含兩個閾值的向量,,第一個元素是低閾值,,第二個元素是高閾值,本文Canny算子邊緣檢測的MATLAB參數(shù)設置如下:
    I2=edge(I1,′Canny′,[0.25,0.65]);
    figure(3),imshow(I2);title(′Canny算子邊緣檢測′);
1.2數(shù)學形態(tài)學處理
 數(shù)學形態(tài)學是由一組形態(tài)學的代數(shù)運算算子組成的,,用這些算子可以對圖像的形狀和結構進行分析及處理[3],。通過對圖像的腐蝕和膨脹運算能使車牌區(qū)域連通,并最大限度地消除非車牌區(qū)域的噪聲干擾,。腐蝕和膨脹后的車牌圖像如圖4所示,。

 

 

    圖像經(jīng)過膨脹以后依然存在許多連通的小區(qū)域,但這些小區(qū)域明顯不是車牌候選區(qū)域且形狀不規(guī)則,。由車牌的先驗信息知,我國車牌形狀為矩形,,一般高14 cm,寬44 cm,寬高比3.14。根據(jù)我國車牌的特征很容易就能夠刪除這些干擾對象,,即使用bwareaopen函數(shù)來處理干擾對象,。bwareaopen函數(shù)的格式為BW2=bwareaopen(BW,P,conn),其作用是移除二值圖像BW中面積小于閾值P的對象,。通過實驗得閾值P取2 000~3 500之間效果較好,,這里閾值P的取值為2 800。圖5是移除小對象后得到的車牌圖像,。
1.3車牌剪切
    通過數(shù)學形態(tài)學處理之后已大體上定位出車牌的位置,,接下來就是從原彩色圖像中把車牌剪切出來,并去除車牌邊框,。圖像中車牌位置可以通過統(tǒng)計圖像中的白色像素點的個數(shù)獲得[4],,再使用MATLAB中imcrop函數(shù)剪切出車牌。針對車牌邊框可以通過設置不同的閾值來去除,,以L1=Width/7為閾值對剪切出的車牌圖像按行掃描,,如果有線段的長度大于L1就可以認為是牌照的上下邊框,再以L2=Height×3/5 為閾值對剪切出的車牌圖像按列掃描,如果有線段的長度大于L2,,則認為是牌照的左右邊框,。找到車牌的上,、下、左,、右邊框之后,,重新剪切車牌圖像去除車牌邊框,完成車牌的定位, 如圖6所示。

2 車牌字符分割
 車牌字符分割是指將單個字符從車牌圖像中分離出來,。車牌字符分割方法主要有數(shù)學形態(tài)學法,、投影法、松弛標記法,、連通分支法和顏色塊法[5],。本文綜合使用了數(shù)學形態(tài)學和投影法來分割車牌字符,其基本流程是:首先對定位出的車牌進行二值化和形態(tài)學開運算,以去除灰塵及鉚釘?shù)雀蓴_噪聲,,然后利用投影二分法分割出7個車牌字符,,并對字符進行歸一化。
2.1二值化和形態(tài)學開運算
 二值化圖像的目的主要是找出一個合適的閾值或一個閾值范圍,,將車牌區(qū)域劃分為前景和背景兩部分,,以方便車牌字符的分割。常用的二值化方法有直方圖統(tǒng)計法,、固定門限法,、動態(tài)閾值法、松弛法,、抖動矩陣二值法等,。本文使用了迭代求圖像最佳分割閾值的算法,得到的二值化圖像如圖7所示,。

2.2字符分割及歸一化
 在車牌字符分割中,,使用最多的是垂直投影法,該方法將灰度車牌圖像像素列方向上求和,,這樣有字符的地方投影較高,,而字符中間,理想情況下是沒有像素的,,但現(xiàn)實圖像中由于噪聲的干擾會存在一定的像素,。在現(xiàn)實環(huán)境中車牌圖像上往往有灰塵、鉚釘?shù)仍肼?,由于垂直投影受噪聲影響較大,,易造成分割字符的粘連與斷裂,嚴重情況下會造成車牌字符之間的投影很難辨認,,在一定程度上影響了車牌的識別率,。針對傳統(tǒng)投影法的不足,冼允廷等提出了基于投影二分法的車牌字符分割方法[6]。該方法主要是通過迭代尋找最佳分割點,,能夠很好地解決車牌字符分割中存在的粘連和斷裂問題,,因此本文選用投影二分法對車牌圖像進行分割,通過投影二分法分割出的車牌字符圖像如圖9所示,。

  

其中,R(i,j)為互相關算子,,S為待檢測的圖像,S為待檢測的子圖,,T為模板,。將待識別的字符逐一和所有模板進行匹配,并用上述相似度式子來計算車牌字符與每個模板字符的匹配程度,,最相似的就是匹配結果,,從而判斷并識別出待識別的字符。
 計算二維圖像相似度可以用Matlab中提供的corr2函數(shù)來實現(xiàn),。corr2函數(shù)的調用方法是R=corr2(A,,B),其中R是相關系數(shù),,數(shù)據(jù)類型為雙精度,,A,、B為大小和數(shù)據(jù)類型相同的圖像矩陣,。因為前面的車牌字符分割環(huán)節(jié)中已把車牌字符大小歸一化為40×20的圖像,與模板圖像大小相同,,所以模板匹配過程只需調用此函數(shù),,將分割出來的每個字符與設置好的模板進行相關運算,然后使用MATLAB中max函數(shù)尋找出它們中的最大相關值,,即最相似的匹配結果,,就完成了模板匹配過程。
3.2 特征統(tǒng)計優(yōu)化識別
 由于車牌字符中的個別英文字母與阿拉伯數(shù)字具有相似的結構特征,,投影點的歐氏距離相差較小,因此,,需要對部分相似字符的識別結果進行優(yōu)化識別,并將優(yōu)化結果作為最終識別結果輸出,。例如:
 (1)數(shù)字0與8:利用數(shù)字0與8的“空心”個數(shù)進行區(qū)分,。數(shù)字0從上到下只有一個空心,而數(shù)字8從上到下有兩個空心,。因此,,可以將數(shù)字0與8區(qū)分開。
 (2)數(shù)字6與9:利用數(shù)字6與9的“空心”區(qū)域分別位于圖像的中下部與中上部的特點,,可以將其區(qū)分開,。
   (3)數(shù)字8與字母B:利用數(shù)字8和字母B中部左邊像素點的位置進行區(qū)分。對字符圖像的中部(從上向下第11個像素點至第21個像素點)從左向右檢測第1個白色像素點,并記錄該點的位置,。取這些點的算術平均值,,若該值在4個像素點以下,則該字符為字母B,,否則為數(shù)字8,。
   本文對不同天氣情況下采集的358幅圖片進行了MATLAB仿真測試。如果僅使用模板匹配法,,可以識別出284幅圖片,,識別正確率為79.3%,其中有45幅是在相似字符識別時出錯,;如果使用模板匹配和特征統(tǒng)計相結合的方法,可以識別出329幅圖片,識別正確率為91.9%,,其中相似字符的識別準確率大大提高。與單一使用模板匹配相比較,,本文方法明顯優(yōu)于傳統(tǒng)的模板匹配法,,分析原因主要是通過特征統(tǒng)計對相似字符的再次識別彌補了模板匹配對相似字符識別較弱的不足。與傳統(tǒng)使用神經(jīng)網(wǎng)絡方法識別率只有75.7%相比較,本文91.9%的識別正確率具有明顯優(yōu)勢,??傊畬嶒灲Y果表明,經(jīng)過特征統(tǒng)計再次優(yōu)化識別以后大大提高了整個系統(tǒng)的識別正確率,圖11所示為本文車牌識別圖像,。

   目前,,車牌識別技術已經(jīng)取得一定突破,但在現(xiàn)實應用中車牌識別正確率還不理想,,僅使用一種特征和識別方法都有其優(yōu)點和局限性,,走多特征組合、多方案集成的道路,,已成為車牌識別系統(tǒng)走向實用化的有效途徑,,因此車牌識別系統(tǒng)算法實用化的研究十分重要。
參考文獻
[1]  GUO J M, LIU Y F. License plate localization and character segmentation with feedback self-learning and hybrid binarization techniques[J]. Transactions on Vehicular Technology, 2008,57(3):1417-1424.
[2] ZHANG C, SUN G M,CHEN D M. A rapid locating  method of vehicle license plate based on characteristics of characters′ connection and projection[C]. Proc of the Second IEEE Conference on Industrial Electronics and Applications,  2007:2546-2549.
[3] BAI H L, LIU C P. A hybrid license plate extraction method based on edge statistics and morphology[C]. Proc of the 17th International on Pattern Recognition,2004:831-834.
[4] 沈勇武,,章專. 基于特征顏色邊緣檢測的車牌定位方法[J].儀器儀表學報,,2008,29(12):2673-2677.
[5] CHANG S L,CHEN L S,CHUNG Y C. Automatic license plate recognition[J].IEEE Transactions on Intelligent Transortation System, 2004,5(1):42-53.
[6] 冼允廷,路小波,施毅,等.基于投影二分法的車牌字符分割方法[J].交通計算機, 2007,25(5):69-71.

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載,。