基于MATLAB的車(chē)牌識(shí)別系統(tǒng)的實(shí)現(xiàn)
1 引言
車(chē)輛牌照是機(jī)動(dòng)車(chē)唯一的管理標(biāo)識(shí)符號(hào),在交通管理中具有不可替代的作用,因此車(chē)輛牌照識(shí)別系統(tǒng)應(yīng)具有很高的識(shí)別率,對(duì)環(huán)境光照條件、拍攝位置和車(chē)輛行駛速度等因素的影響應(yīng)有較大的容閾,并應(yīng)滿(mǎn)足實(shí)時(shí)性要求。牌照自動(dòng)識(shí)別是一項(xiàng)利用車(chē)輛的動(dòng)態(tài)視頻或靜態(tài)圖像進(jìn)行牌照號(hào)碼、牌照顏色自動(dòng)識(shí)別的模式識(shí)別技術(shù),其硬件一般包括觸發(fā)、攝像、照明、圖像采集等設(shè)備,其軟件核心包括車(chē)牌定位、車(chē)牌字符分割和字符識(shí)別等算法。
2 系統(tǒng)的實(shí)現(xiàn)
2.1 系統(tǒng)簡(jiǎn)述
一個(gè)完整的牌照識(shí)別系統(tǒng)應(yīng)包括車(chē)輛檢測(cè)、圖像采集、圖像預(yù)處理、車(chē)牌定位、字符分割、字符識(shí)別等單元。當(dāng)車(chē)輛到達(dá)觸發(fā)圖像采集單元時(shí),系統(tǒng)采集當(dāng)前的視頻圖像,牌照識(shí)別單元對(duì)圖像進(jìn)行處理,定位出牌照位置,再將牌照中的字符分割出來(lái)進(jìn)行識(shí)別,然后組成牌照號(hào)碼輸出。牌照識(shí)別系統(tǒng)原理如圖1所示。
2.2 圖像預(yù)處理
輸入的彩色圖像包含大量顏色信息,會(huì)占用較多的存儲(chǔ)空間,且處理時(shí)也會(huì)降低系統(tǒng)的執(zhí)行速度,因此對(duì)圖像進(jìn)行識(shí)別等處理時(shí),常將彩色圖像轉(zhuǎn)換為灰度圖像,以加快處理速度。對(duì)圖像進(jìn)行灰度化處理、提取背景圖像、增強(qiáng)處理、圖像二值化、邊緣檢測(cè)、濾波等處理的主要MATLAB語(yǔ)句如下所示:
2.3 車(chē)牌定位
自然環(huán)境下,汽車(chē)圖像背景復(fù)雜,光照不均勻,在自然背景中準(zhǔn)確地確定牌照區(qū)域是整個(gè)圖像識(shí)別過(guò)程中的關(guān)鍵。首先對(duì)采集到的圖像進(jìn)行大范圍相關(guān)搜索,找到符合汽車(chē)牌照特征的若干區(qū)域作為候選區(qū),然后對(duì)這些侯選區(qū)域做進(jìn)一步分析、評(píng)判,最后選定一個(gè)最佳區(qū)域作為牌照區(qū)域,將其從圖像中分割出來(lái),同時(shí)要考慮車(chē)牌傾斜問(wèn)題。算法流程如下:
(1)對(duì)二值圖像進(jìn)行區(qū)域提取,計(jì)算并比較區(qū)域特征參數(shù),提取車(chē)牌區(qū)域。
(2)計(jì)算包含所標(biāo)記區(qū)域的最小寬和高,并根據(jù)先前知識(shí),提取并顯示更接近的車(chē)牌二子值圖。
(3)通過(guò)計(jì)算車(chē)牌旋轉(zhuǎn)角度解決車(chē)牌傾斜問(wèn)題。由于車(chē)牌傾斜導(dǎo)致投影效果峰谷不明顯,需車(chē)牌矯正處理。采取線(xiàn)性擬合方法,計(jì)算出車(chē)牌上邊或下邊圖像值為1 的點(diǎn)擬合直線(xiàn)與水平X軸的夾角。用MATLAB函數(shù)的旋轉(zhuǎn)車(chē)牌圖象函數(shù)Imrotate,計(jì)算車(chē)牌旋轉(zhuǎn)角度和經(jīng)旋轉(zhuǎn)、二值化后的車(chē)牌二值子圖處理結(jié)果如圖 2所示。
2.4 字符分割
完成牌照區(qū)域的定位后,再將牌照區(qū)域分割為單個(gè)字符。一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符間或字符內(nèi)的間隙處取得局部最小值,并且該位置應(yīng)滿(mǎn)足牌照的字符書(shū)寫(xiě)格式、字符、尺寸限制等條件。利用垂直投影法實(shí)現(xiàn)復(fù)雜環(huán)境下汽車(chē)圖像中的字符分割效果較好。通過(guò)分析計(jì)算字符的水平投影和垂直投影,可獲得車(chē)牌字符高度、字符頂行與尾行、字符寬度、每個(gè)字符的中心位置,以方便提取分割字符。然后計(jì)算車(chē)牌垂直投影,去掉車(chē)牌垂直邊框。獲取車(chē)牌及字符平均寬度。最后計(jì)算車(chē)牌每個(gè)字符的中心位置和最大字符寬度,提取分割字符,其算法流程如圖3所示,通過(guò)程序算法計(jì)算的車(chē)牌字符高度和寬度及分割的字符,如圖4所示。
3 結(jié)論
從MATLAB編程運(yùn)行結(jié)果看,這里采用的圖像識(shí)別算法對(duì)車(chē)牌的定位非常有效,該算法可有效檢測(cè)車(chē)牌圖像的上下左右邊框、旋轉(zhuǎn)角度,準(zhǔn)確分割及識(shí)別車(chē)牌字符。通過(guò)對(duì)多個(gè)車(chē)牌進(jìn)行試驗(yàn),正確率高,與傳統(tǒng)的采用C++語(yǔ)言相比,工作量和開(kāi)發(fā)周期都減少很多。實(shí)際應(yīng)用中,牌照識(shí)別系統(tǒng)的識(shí)別率與牌照質(zhì)量和圖像拍攝質(zhì)量密切相關(guān),還會(huì)受到各種因素,需不斷完善識(shí)別系統(tǒng)和算法。
評(píng)論