姚楠+耿奇
摘要:本文基于MATLAB實(shí)現(xiàn)了對車輛牌照進(jìn)行提取、預(yù)處理、字符分割、字符識別、語音播報(bào)。在MATLABGUI設(shè)計(jì)的系統(tǒng)平臺上,用戶可以方便快捷地直接在系統(tǒng)中處理和分析結(jié)果。對四十張不同距離、不同角度、不同光照條件下的車牌照片進(jìn)行實(shí)驗(yàn),識別準(zhǔn)確率高達(dá)90%。
關(guān)鍵詞:圖像處理;車牌識別;MATLAB GUI
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A DOI:10.3969/j.issn.1003-6970.2016.03.011
0引言
在現(xiàn)實(shí)交通管理中車牌自動識別技術(shù)充當(dāng)著重要角色,被廣泛應(yīng)用于小區(qū)門口及停車場、高速公路收費(fèi)站、港口和機(jī)場、城市道路、城市交叉口等各個(gè)領(lǐng)域,對保障城市道路的暢通有序起著至關(guān)重要的作用。本文基于MATLAB GUI搭建的車牌自動識別系統(tǒng),實(shí)現(xiàn)了對拍攝的汽車照片的車牌字符識別與結(jié)果播報(bào)及統(tǒng)計(jì),提供了一個(gè)友好的可視化操作演示平臺,方便算法開發(fā)者的使用。
1系統(tǒng)總體設(shè)計(jì)
車牌自動識別系統(tǒng)的整體處理流程如圖1所示。
(1)汽車圖像采集:通過帶有拍照功能的電子產(chǎn)品對汽車圖像進(jìn)行采集。
(2)預(yù)處理:圖像質(zhì)量對車牌識別率的高低起著決定作用。所以,需要對采集到的原始圖像信息進(jìn)行消除噪聲、圖像灰度化和增強(qiáng)、邊緣增強(qiáng)、二值化等處理。
(3)車牌定位:車牌定位的準(zhǔn)確率對后面進(jìn)行的分割字符和識別字符步驟有著深遠(yuǎn)影響,是決定車牌識別率高低的關(guān)鍵因素。
(4)字符分割:經(jīng)過一系列處理定位后,基于投影檢測法將車牌字符分割成單個(gè)字符,并對已分割出的字符作出檢測,最后統(tǒng)一字符的大小。
(5)字符識別:處理分割的字符,包括:縮放、特征提取等,得到規(guī)定字符的表達(dá)形式,然后通過與字符模板中的標(biāo)準(zhǔn)字符進(jìn)行匹配,最終可以得到輸入的字符圖像。
(6)結(jié)果輸出:輸出車牌識別結(jié)果,并實(shí)現(xiàn)語音播報(bào)。
2 MATLAB GUI設(shè)計(jì)
GUI是圖形用于界面(Graphical User Inter-faces)的縮寫,是一種包含圖形對象(如窗口、按鈕、文本和菜單)的用戶界面。用戶以某種方式激活這些圖形對象,可以引起各種程序代碼的執(zhí)行。MATLAB GUI是MATLAB中的一項(xiàng)功能,將流程化的MATLAB程序裝載在一個(gè)帶有用戶界面的程序中去,從而大大方便用戶的使用過程,也提高了程序使用的直觀程度。實(shí)現(xiàn)圖文并茂的界面的同時(shí),開發(fā)者不必耗費(fèi)太多精力在設(shè)計(jì)界面代碼,為使用MATLAB的程序設(shè)計(jì)者提供了一個(gè)簡便的開發(fā)環(huán)境,快速上手,提高了開發(fā)者的工作效率。
本系統(tǒng)設(shè)計(jì)的平臺如圖2所示,主界面上設(shè)置“原始圖像”“車牌定位”“灰度圖像”“傾斜校正”“字符分割”“識別結(jié)果”“語音播報(bào)”“結(jié)果統(tǒng)計(jì)”“返回”9個(gè)功能按鈕,每點(diǎn)擊一個(gè)按鈕即可實(shí)現(xiàn)一個(gè)對應(yīng)的子功能。
3系統(tǒng)實(shí)現(xiàn)
本文用數(shù)碼相機(jī)對來自不同光照條件下、不同距離、不同角度、不同車身顏色的四十張汽車照片進(jìn)行采集。以“甘AMF617”為例演示本系統(tǒng)的實(shí)現(xiàn)過程。
(1)單擊“原始圖像”按鈕,選擇要處理的圖片,得到原始圖像結(jié)果,如圖3所示。
(2)單擊“車牌定位”,在讀入圖像中將車牌部分單獨(dú)提取出來。本設(shè)計(jì)采用的是基于顏色特征的定位方法,這種方法可以不經(jīng)過圖像預(yù)處理,運(yùn)用車牌的顏色特像快速準(zhǔn)確的定位。結(jié)果如圖4所示。
(3)單擊“灰度圖像”將彩色圖轉(zhuǎn)換為灰度圖像,并進(jìn)行圖像去噪等預(yù)處理,便于下一步的字符提取。
(4)單擊“傾斜校正”。汽車牌照往往由于拍攝角度的不同而發(fā)生一定角度的傾斜,所以,必須修正傾斜的車牌圖像,在行方向上運(yùn)用radon方法計(jì)算傾斜角度并進(jìn)行校正處理,灰度圖像的傾斜校正結(jié)果如圖5所示。
(5)單擊“字符分割”。本設(shè)計(jì)采用的分割方法是先對圖片進(jìn)行二值化處理,再以圖像的中心線為起點(diǎn),設(shè)定某一閾值向上向下進(jìn)行掃描,準(zhǔn)確區(qū)分牌照符號所處對的位置,結(jié)果如圖6所示。
(6)單擊“識別結(jié)果”。本設(shè)計(jì)采用的字符識別算法是模板匹配算法,首先建立字符模板庫,然后使經(jīng)過二值化操作后的待識別字符的大小與模板庫中字符的大小相一致,再進(jìn)行匹配。通過統(tǒng)計(jì)輸入信號與樣本之間相同的概率,選擇相似程度最多的成為識別結(jié)果。結(jié)果如圖7所示。
(7)單擊“語音播報(bào)”。語音播報(bào)功能設(shè)計(jì)方法為:第一步用錄音軟件對所有的字符進(jìn)行錄音,然后對錄好的數(shù)字字符、英文字母字符、各省份簡稱的漢字字符錄音分別以自己名稱保存,生成wav格式的音頻錄音。此外還有“系統(tǒng)運(yùn)行中”、“識別結(jié)果”、“定位出錯”、“提取出錯”等的錄音。將各個(gè)音頻寫入到程序中,根據(jù)車牌識別的結(jié)果,對結(jié)果進(jìn)行正確播報(bào),若出現(xiàn)定位或提取的錯誤,則進(jìn)行相應(yīng)的錯誤提示。
(8)單擊“結(jié)果統(tǒng)計(jì)”。將采集的四十張車牌照片逐一在系統(tǒng)中進(jìn)行檢測,得到檢測結(jié)果,根據(jù)檢測結(jié)果劃分為“檢測完全正確”“識別報(bào)錯”“定位報(bào)錯”“提取報(bào)錯”四類,繪制條形統(tǒng)計(jì)圖,并在界面上顯示,如圖8所示。
4結(jié)論
經(jīng)過統(tǒng)計(jì),40張照片共有4張車牌不能準(zhǔn)確地識別出車牌號碼,識別成功率為90%。其中一張車牌定位失敗,是由于車身與車牌顏色相同造成的;第二張則是將“E”錯誤的匹配成“F”,最終導(dǎo)致識別出錯并且相應(yīng)的語音播報(bào)也出現(xiàn)錯誤;另外兩張則都是提取出錯,一張是由于拍攝角度多大,而另一張則是外界環(huán)境因素(光線太強(qiáng))造成的。
在設(shè)計(jì)過程中,車牌定位的算法設(shè)計(jì)仍存在一些問題,比如光照太強(qiáng)或是拍攝角度過大都可以導(dǎo)致定位失敗,因此在功能實(shí)現(xiàn)的算法選擇上還有待提高。對車牌的定位算法進(jìn)行深層次的探索成為以后研究的重點(diǎn),以增加算法的成功率,研發(fā)出一個(gè)更加智能化、識別率更高的車牌自動識別軟件。