李 毅
(石家莊職業技術學院,河北 石家莊 050061)
隨著我國綜合國力和國民收入水平的提高,機動車以每年10%~20%的速度增長,我國對智能交通管理的需求與日俱增,特別是在如交通卡口、停車場等要求靈活、方便、快速對車輛進行管理的場合顯得尤為重要,同時當今數字圖像處理技術已經發展成熟,所以人們正在試圖利用數字圖像處理技術解決交通管理帶來的各種問題。車牌識別(License plate recognition簡稱LPR)是指通過計算機視覺、圖像處理與模式識別等方法從車輛中提取車牌字符信息,從而確定車輛身份的技術。LPR是智能交通(ITS,Intelligent Transportation System)中重要的研究課題,在公共安全、交通管理、流量觀測、電子收費系統及有關軍事部門有著重要的應用價值。
車牌識別技術作為智能交通系統的核心技術,是智能交通系統能否實現自動化運行的關鍵。目前ITS技術多種多樣,核心技術均為圖像或視頻信息的計算機圖像采集、處理和分析。車輛牌照識別系統在發展初期,主要采用將系統模塊放在后端即服務器端,前端設備只作信息采集這種方式對服務器的資源占用及運行帶來了壓力。因此目前業界多傾向于將各類采集環節的識別與應用功能放在前端。隨著智能手機不斷發展,3G網絡技術的日趨完善,Java ME技術不斷更新都為手機作為ITS的前端信息采集與分析提供了可能。
我們使用的手機基本上可以分為兩種:一種,是固化了操作系統和應用軟件的傳統手機;另一種,是開放操作系統,在外圍硬件方面提供結構可以擴展,在應用軟件方面開發商提供SDK開發包和接口,支持第三方應用軟件。智能手機以其優越的功能和良好的人機界面已經成為手機市場的首選。
因此,我們從智能手機的硬件結構入手,分析硬件組成結構與硬件性能,討論以手機作為平臺,實現車牌識別的可能。
典型智能手機硬件結構如圖1所示。

圖1 典型智能手機結構
主處理器運行操作系統,負責協調整個手機系統的資源。我們以車牌圖像識別為例分析典型手機操作系統工作過程。首先我們使用攝像頭采集車輛圖像,攝像機控制器通過與主處理器之間的串行總線將圖像送入SDRAM隨機存儲器,手機處理器調取車牌識別應用程序對圖像進行處理,處理得到的車牌文本信息顯示在手機屏幕LCD上。目前智能手機硬件發展較快,處理器采用雙核1.2G,SDRAM同步動態隨機存儲器1G,攝像頭一般為500萬像素,智能手機在工作過程、數據處理、硬件配置等方面與微型計算機已經非常的接近,使用手機實現車牌識別在硬件上有了充分保證。
JavaME技術屬于Java技術范疇,主要是為移動電話和PDA之類嵌入式消費電子設備提供的Java語言平臺,利用該技術可以方便的開發基于手機的應用程序。另外,SUN公司近期推出的Lwuit輕量級組件,可以方便在手機上對圖片進行處理和顯示,為車牌識別應用程序開發提供了保證。
車牌識別分為車牌提取、字符分割和字符識別三個步驟,其中車牌提取又可分為圖像預處理、車牌定位和車牌校正三個組成部分,如圖2車牌識別處理流程圖所示。

圖2 車牌識別處理流程圖
2.1.1 圖像預處理
針對車牌對象,系統往往需要進行適當的預處理以提高圖像質量。圖像預處理包括灰度化、均衡化、邊緣檢測、二值化等。預處理首先可以減少或消除圖像采集中的噪聲及其它干擾,其次,可以減少或消除圖像失真。處理效果直接影響到后續流程的識別精度。圖像預處理的目的是為方便以后車牌區域提取及字符分割。
2.1.2 車牌定位
車牌定位是車牌自動識別系統中的關鍵技術,目的在于準確的找到車牌位置,車牌定位方法的出發點是通過車牌區域特征來判斷牌照。目前車牌定位主要采用:基于邊緣檢測的方法、基于水平灰度變化特征的方法和基于車牌顏色特征的方法。
2.1.3 車牌校正
理想情況下,車牌圖像應該是一個矩形,但是由于拍攝等外部因素常常使所拍攝的車牌圖像產生傾斜現象,給后續的字符切割帶來影響,造成車牌識別率下降。因此在字符分割之前要進行車牌校正處理。目前常用的校正方法主要有Hough變換法、投影法、模板匹配法。
字符分割是在得到車牌區域后,將車牌的7個字符分割為單個的字符。目前字符分割常用的方法有基于車牌比例的幾何分割法和基于模板匹配的分割法。幾何分割法算法較為簡單,基于模板匹配的分割法算法比較復雜,運算時間長導致處理時間增加。
目前字符識別主要通過人工神經網絡和模板匹配兩種方法實現。人工神經網絡具有良好的容錯性、自適應和學習能力等特點,對字符的識別率較高。模板匹配算法先將帶匹配的字符歸一化為模板大小,然后對相應的點做一一比較,該方法較為簡單,但準確率不高。
文章根據經典車牌圖像識別理論和JavaME平臺對不同手機提供不同硬件資源的特點,構建了應用程序開發流程,如圖3程序流程圖所示。

圖3 程序流程圖
應用程序中的Midlet類、顯示界面、圖像處理類關系如圖4系統開發結構示意圖。

圖4 系統開發結構示意圖
在圖像處理類中,由于Java ME的硬件資源有限,所以在灰度處理、均衡處理、邊緣處理、二值化處理中我們首先將圖像轉換為Static類型的三維數組,在之后的圖像處理中圍繞數組展開計算,在圖像顯示時將數組轉換為Image類型,這樣不僅提高了運算速度而且節約系統資源。之后我們采用了膨脹處理使車牌區域能夠形成較大面積的聯通區域方便車牌定位。車牌定位算法首先將圖像轉換為二維矩陣,然后對矩陣進行逐點掃描,符合在水平向右方向上50個像素連續出現白色并垂直向下方向連續10個像素連續白色,定位為車牌的起始坐標,車牌的終止坐標算法與起始坐標算法類似,根據計算得到的坐標可以將圖像進行切割得到車牌圖像。車牌的單個字符切割我們采用了幾何位置切分算法,該算法的優勢在于能簡單方便快速的分割圖像,缺點在于如果車牌定位不準確將不能有效的切割出單個字符。字符識別我們將切割后的單個字符與字符模板庫中的字符圖片做相似度比較,得到車牌字符。
測試中我們選擇較好的光線條件對車輛正面的圖像進行拍攝,測試環境描述如下:三星I8262D雙核1.2GHZ、機身內存:768MB RAM;4GB ROM。在此環境下,我們對10副車輛進行了車牌識別的測試,每幅照片的識別時間平均為7秒,在10幅圖像中能準確識別7幅,錯誤3幅,識別成功率約為70%。我們也使用了一幅沒有車牌的圖像進行了測試,程序的形態學處理會將整幅畫面中所有的亮度腐蝕掉,從而在圖像中沒有任何字符可以識別,切割,之后的一系列操作均無法進行,于是程序識別結果為空。造成識別失敗的原因多種多樣,有的是車標亮度太大影響定位,有的是膨脹過度造成定位錯誤。
通過以上測試結果可以看出,系統程序可以對較好的環境下拍攝的車牌圖像進行識別,但是在識別速度、正確率和抗干擾方面有待加強,但是證明了使用JavaME作為信息采集和處理設備的可行性,為今后JavaME開發車牌識別系統打下了基礎。
[1]Smith S M,Br ady J M.SUSAN—a new appro ach tolow-lev el image processing[J].I nt ernational Jo ur nalof Computer Vision.1997,23(1):45-78.
[2]Songqing then.development of a Neural Network Based Software Package for the Automatic Recognition of License Plate Characters[J].A Thesis Presented to the Faculty of the College of Engineering and Technology Ohio University,1992,02.
[3]Kenneth R.Castleman.數字圖像處理[M].電子工業出版社,2011,03.
[4]Wilhelm Burger Mark J.Burge.數字圖像處理:Java 語言算法描述[M].清華大學出版社,2010,02.
[5]Zuniga O A,Har alick R M.Cor ner detection usingthe facet model[C]//Proceeding s o f the IEEE Conference on Computer Vision and Pat tern Recognition.Piscataw ay,USA:IEEE,1983:30-37.