徐海銘
(廣東省財政職業(yè)技術(shù)學(xué)校,廣東廣州510445)
一種車牌識別系統(tǒng)的設(shè)計與實現(xiàn)
徐海銘
(廣東省財政職業(yè)技術(shù)學(xué)校,廣東廣州510445)
提出一種基于Android系統(tǒng)的車牌識別系統(tǒng),通過車牌識別預(yù)處理、車牌定位、字符分割與識別對車牌識別算法進行深入研究后提出具有較好容錯性、魯棒性的車牌識別算法,通過參考相關(guān)系統(tǒng)設(shè)計,利用VC++進行設(shè)計。
車牌識別;Android;VC++
DOI:10.3969/j.issn.1009-9492.2015.01.017
當(dāng)前,車牌識別在技術(shù)上已有較大的發(fā)展,而面對日益復(fù)雜的交通環(huán)境,圖像的復(fù)雜程度、光線的強弱、車牌的實際現(xiàn)狀以及車輛的行駛速度對車牌識別算法的實現(xiàn)提出了更高的要求,本文從實際出發(fā),結(jié)合算法理論仿真,設(shè)計一套完整的基于Android平臺的車牌識別系統(tǒng)。在實際應(yīng)用中,安裝方便、實現(xiàn)簡單,具有較好的適應(yīng)能力和識別準(zhǔn)確性,可以用于停車場車輛統(tǒng)計管理以及交通管理部門的車輛管制。
作為LINUX開源代碼的一個應(yīng)用廣泛的系統(tǒng)Android在實際應(yīng)用中具有便攜、高效、可用的優(yōu)勢,從開發(fā)上來說它可分為應(yīng)用程序?qū)?、系統(tǒng)運行層和LINUX內(nèi)核層。而在實現(xiàn)中,VC++以其高效率性及算法可移植性長期以來受到圖像處理工程人員的青睞,因此,本系統(tǒng)也將采用C++作為圖像識別算法的設(shè)計語言以提高算法的識別效能。CLE可以作為多種語言的通用平臺,支持Ja? va、Python、C/C++、Lua等,且可以擴展至其他多種語言,也可以自定義語言。在CLE中,對象作為1個基本的操作元素。對象對外提供了統(tǒng)一的接口,可以通過這些接口,調(diào)用對象的函數(shù)、重載對象的函數(shù)、捕獲對象的事件等。因此可以在Android平臺上通過使用CLE和wrapandroid項目作為中間件利用VC++進行算法軟件開發(fā)??傮w硬件設(shè)計是通過攝像頭對現(xiàn)場進行拍照,將數(shù)據(jù)送往Android嵌入式平臺,經(jīng)過平臺算法處理后將識別信息傳送到后臺服務(wù)器,實現(xiàn)系統(tǒng)對車輛的識別與管理。
2.1預(yù)處理
以某一實驗圖片為例,如圖1,預(yù)處理通過將原始采集的彩色圖片進行黑白轉(zhuǎn)換去除RGB模式下的數(shù)據(jù)格式,然后對已處理的黑白圖像進行閾值處理,過濾不符合條件的灰度值,實現(xiàn)閾值過濾[1],如圖2。而從圖可以看出車牌只占用系統(tǒng)圖片的下半部分大概1/4的范圍,這與車輛距離攝像頭的距離和車輛的高低有關(guān),它將影響算法的計算速度及車牌模糊識別的效能,因此對其進行進一步預(yù)處理只關(guān)心圖片下部分1/4處信息如圖3,對于實際應(yīng)用將根據(jù)車輛的距離與攝像頭的高度進行感興趣區(qū)域動態(tài)截取。對于系統(tǒng)的灰度闕值過濾,根據(jù)經(jīng)驗值的統(tǒng)計系統(tǒng)可以只關(guān)心灰度值在100~255之間的區(qū)域,這個條件將與以上的圖像感興趣區(qū)域一并構(gòu)成感興趣處理信息,而在系統(tǒng)工作環(huán)境不夠穩(wěn)定的情況下將提供用戶可設(shè)置的軟件交互并實現(xiàn)降噪處理。在本系統(tǒng)實驗中,根據(jù)工作經(jīng)驗值可以采用正常日照條件下選擇系統(tǒng)工作閾值色階為72。如圖4為過濾降噪后的效果。
圖1 原始抓拍實驗圖像
圖2 預(yù)處理灰度化圖像
圖3 獲取感興趣區(qū)域
圖4 閾值濾波處理
2.2車牌定位[2]
實際工作中,系統(tǒng)對車牌的定位也可以看出對感興趣區(qū)域處理的一部分。在程序中將根據(jù)以上動態(tài)截取感興趣區(qū)域的經(jīng)驗值對系統(tǒng)采集圖片進行生成動態(tài)模板(根據(jù)不同的車輛距離與標(biāo)準(zhǔn)車牌大小生成某一像素大小的矩形),該模板將在經(jīng)過銳化邊緣的圖片中尋找車牌區(qū)域,為下一步字符的截取做好基礎(chǔ),如圖5所示。
圖5 預(yù)定義模板對車牌進行定位
2.3字符分割識別
對于系統(tǒng)而言,最終結(jié)果需要對字符進行識別和數(shù)據(jù)的入庫,因此字符識別是工作的最核心模塊。在實際工作中,可以利用預(yù)先設(shè)置的字符模板,進行圖像字符模板匹配,如圖6所示。對于字符模板的設(shè)置,可以通過預(yù)處理、矯正、分割裁切進行設(shè)計?;趫D像進行字符識別也可配置很多參數(shù)來提高字符的識別率[3]。例如限定車牌頭的字符,車牌各位字符的識別優(yōu)先級等等。在應(yīng)用中,數(shù)字模板與字符模板大致相同,因此此處僅演示數(shù)字模板如圖7所示。
圖6 字符識別預(yù)處理
圖7 字符識別
在硬件設(shè)計上[4-5],系統(tǒng)通過圖像攝像頭接入原始信息,在CMOS圖像傳感器下將信息傳給USB Camera Android控制器,其又與Flash和SDRAM進行雙工連接。對于圖像采集可以通過PC350攝像頭以V4L的標(biāo)準(zhǔn)進行圖像原始采集,實際工作表明其有較好的實現(xiàn)效果。在實際工作中,為了保障系統(tǒng)的高可靠性,提供了兩路圖像采集可選線路,當(dāng)條件要求較為苛刻時,系統(tǒng)可以切換到雙目模式。雙目模式對目標(biāo)可以進行經(jīng)驗值校對以及實際處理結(jié)果科學(xué)評估,得出最優(yōu)解。在數(shù)據(jù)傳輸方面,系統(tǒng)主要采用OV511USB Camera控制器、CMOS圖像傳感器以及512K的RAM進行數(shù)據(jù)處理傳輸。為了確保圖像處理的速度及計算的效率,Android數(shù)據(jù)中心通過USB進行數(shù)據(jù)控制以及收發(fā),整個過程由USB Camera控制器提供相應(yīng)的功能。
本文提出一種基于Android平臺的車牌識別系統(tǒng)的設(shè)計,該設(shè)計通過VC++在Android平臺的程序編寫實現(xiàn)算法,算法則通過車牌圖像預(yù)處理、車牌定位以及車牌字符分割識別得出最優(yōu)解。同時,給出了硬件設(shè)計思路,為相關(guān)車牌識別系統(tǒng)設(shè)計提供一種思路。
[1]曲延鋒,徐健,李衛(wèi)軍,等.有效去除圖像中脈沖噪聲的新型濾波算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2003(04):397-304.
[2]牛曉霞,王成儒.基于DCT域的公路車牌定位算法[J].微處理機,2010(04):75-82.
[3]賈曉丹,李文舉,王海姣.一種新的基于Radon變換的車牌傾斜校正方法[J].計算機工程與應(yīng)用,2008(03):245-248.
[4]張懷柱,尹傳歷,宋建中,等.基于DSP的嵌入式顯微圖像處理系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2008(1):30-34.
[5]李志能.基于ARM和DSP的嵌入式實時圖像處理系統(tǒng)設(shè)計與研究[D].杭州:浙江大學(xué),2005.
(編輯:阮毅)
Design and Realization of License Plate Recognition System
XU Hai-ming
(Guangdong Finance Institute,Guangzhou 510445,China)
In this paper,a license plate recognition system based on Android system is designed,through the license plate recognition preprocessing,license plate locating,character segmentation.And recognition of license plate recognition algorithm is put forward after research has good fault tolerance and robustness.The related system is analyzed,and points out the program of system Based on VC++.
license plate recognition;Android;VC++
TP273
A
1009-9492(2015)01-0066-03
2014-07-08
徐海銘,男,1988年生,廣東潮州人,大學(xué)本科,講師。研究領(lǐng)域:汽車信息化。