沈陽(yáng)理工大學(xué)自動(dòng)化與電氣工程學(xué)院 李孟格
沈陽(yáng)理工大學(xué)汽車(chē)與交通學(xué)院 隋清臣
沈陽(yáng)理工大學(xué)自動(dòng)化與電氣工程學(xué)院 王佳宇
車(chē)牌識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
沈陽(yáng)理工大學(xué)自動(dòng)化與電氣工程學(xué)院 李孟格
沈陽(yáng)理工大學(xué)汽車(chē)與交通學(xué)院 隋清臣
沈陽(yáng)理工大學(xué)自動(dòng)化與電氣工程學(xué)院 王佳宇
通過(guò)對(duì)車(chē)牌定位,字符分割和字符識(shí)別進(jìn)行研究,設(shè)計(jì)出了一款定位速度快、識(shí)別正確率高的車(chē)牌識(shí)別系統(tǒng)。該系統(tǒng)通過(guò)圖像預(yù)處理和車(chē)牌的結(jié)構(gòu)特征、顏色特征實(shí)現(xiàn)車(chē)牌定位,加權(quán)平均高度實(shí)現(xiàn)傾斜校正,字符分割和歸一化與模板標(biāo)準(zhǔn)庫(kù)進(jìn)行匹配實(shí)現(xiàn)字符識(shí)別。實(shí)驗(yàn)證明該系統(tǒng)具有良好的魯棒性和容錯(cuò)性,大大提高了車(chē)牌的識(shí)別正確率。
車(chē)牌定位;傾斜校正;字符分割;字符識(shí)別
智能交通(ITS)中的一個(gè)重要課題就是車(chē)牌自動(dòng)識(shí)別技術(shù),它廣泛應(yīng)用在停車(chē)場(chǎng)和高速公路管理系統(tǒng)中。通過(guò)智能交通管理系統(tǒng)可實(shí)現(xiàn)道路交通管理的自動(dòng)化和車(chē)輛行駛的智能化。車(chē)牌的定位與提取、車(chē)牌傾斜校正、字符分割和字符識(shí)別是車(chē)牌識(shí)別系統(tǒng)中的關(guān)鍵技術(shù)[1]。
車(chē)牌識(shí)別系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
2.1 圖像預(yù)處理
一般通過(guò)攝像頭采集到的圖像是24位真彩色圖像,通過(guò)將彩色圖像灰度化來(lái)加快處理速度。有時(shí)因?yàn)楣饩€(xiàn)問(wèn)題造成圖像局部過(guò)亮或過(guò)暗,這時(shí)需要提高圖像對(duì)比度,從而使圖像邊緣更明顯。為了加快處理速度并能夠?qū)④?chē)牌字符與車(chē)牌背景分開(kāi),對(duì)圖像做二值化處理??紤]到文字是由許多短豎線(xiàn)組成的,而背景噪聲大部分是孤立里的,對(duì)圖像做中值濾波處理,去除孤立噪聲。濾波后的圖像會(huì)受到一些較大的區(qū)域噪聲的影響,為了去除這些噪聲,對(duì)圖像進(jìn)行數(shù)學(xué)形態(tài)學(xué)開(kāi)運(yùn)算操作。采集到的原始圖像如圖2所示,經(jīng)圖像預(yù)處理后的圖像如圖3所示。
2.2 車(chē)牌定位
經(jīng)過(guò)該系統(tǒng)前期重要的圖像預(yù)處理之后,其中可能包括除了車(chē)牌之外的其他干擾因素如車(chē)燈、廣告指示牌等。分別按矩形區(qū)域?qū)Ω髯院蜻x區(qū)進(jìn)行提取以供進(jìn)一步的分析。這里采用多種因素綜合考慮的方法來(lái)確定車(chē)牌區(qū)域,因?yàn)橥ㄟ^(guò)某單一的評(píng)價(jià)指標(biāo),在眾多車(chē)牌候選區(qū)中,很難準(zhǔn)確地確定車(chē)牌區(qū)域。對(duì)得到的邊緣圖生成連通區(qū)域圖像,若連通區(qū)域不止一個(gè),則根據(jù)車(chē)牌結(jié)構(gòu)和車(chē)牌顏色進(jìn)行判斷,通過(guò)層層篩選,可確定真實(shí)車(chē)牌區(qū)域,并從原彩色圖像中提取該區(qū)域;若只有一個(gè)連通區(qū)域,則可初步認(rèn)定為車(chē)牌圖像,再根據(jù)車(chē)牌結(jié)構(gòu)和車(chē)牌顏色進(jìn)行校驗(yàn),如果滿(mǎn)足,則根據(jù)連通區(qū)域位置從原彩色圖像中提取出相應(yīng)的區(qū)域。車(chē)牌截取圖像如圖4所示。
圖4 車(chē)牌截取圖像
圖5 車(chē)牌矯正圖像圖
圖6字符分割圖像
圖7 系統(tǒng)流程圖
圖2 原始圖像
圖3 圖像預(yù)處理圖像
2.3 車(chē)牌傾斜校正
由于圖像在拍攝的過(guò)程中車(chē)牌的位置可能是傾斜的,所以在字符分割和識(shí)別之前先對(duì)車(chē)牌字符進(jìn)行傾斜校正,使字符都處于同一水平位置,這樣既可以在分割字符的時(shí)候不會(huì)出現(xiàn)太大的無(wú)用區(qū)域或損失區(qū)域,又可以提高字符的識(shí)別率。主要是根據(jù)圖像上左右兩邊黑色像素的平均加權(quán)高度來(lái)進(jìn)行車(chē)牌圖像的傾斜校正的。首先分別計(jì)算圖像左半邊和右半邊的黑色像素點(diǎn)的加權(quán)平均高度,然后求出斜率,最后再根據(jù)斜率重新組織圖像,由于切割到的車(chē)牌圖像往往有車(chē)牌邊框和固定螺絲,而且其對(duì)后面的傾斜矯正有嚴(yán)重影響,故切割區(qū)域向內(nèi)縮3個(gè)像素,經(jīng)大量實(shí)驗(yàn)都能將車(chē)牌邊框和固定螺絲去除。經(jīng)過(guò)傾斜校正的車(chē)牌圖像如圖5所示。
2.4 車(chē)牌字符分割
一幅定位準(zhǔn)確的車(chē)牌圖像通常由1個(gè)漢字和6個(gè)字母或數(shù)字組成。識(shí)別時(shí)智能根據(jù)每個(gè)字符的特征來(lái)進(jìn)行判斷。經(jīng)過(guò)對(duì)傾斜校正后的車(chē)牌圖像預(yù)處理后先自上向下對(duì)車(chē)牌圖像進(jìn)行逐行掃描,遇到第一個(gè)黑色像素點(diǎn),將其坐標(biāo)記錄下來(lái),然后再自下往上掃描,遇到第一個(gè)黑色像素點(diǎn),將其坐標(biāo)記錄下來(lái),這樣字符的高度就是垂直方向的坐標(biāo)差值。在這個(gè)高度范圍內(nèi)再進(jìn)行自左向右掃描,直至遇到第一個(gè)黑色像素點(diǎn)時(shí)認(rèn)為是第一個(gè)字符分割的起始位置,然后繼續(xù)掃描,遇到一列中沒(méi)有黑色像素點(diǎn)時(shí),則認(rèn)為第一個(gè)字符分割結(jié)束,按照上述分割方法直至圖片掃描完畢。然后通過(guò)字符的長(zhǎng)寬比去除中間小圓點(diǎn)。最后把切割到的字符進(jìn)行歸一化,使其高度和寬度均相等,相同尺寸的模板匹配正確率才能更高,字符分割圖像如圖6所示。
2.5 車(chē)牌字符識(shí)別
將歸一化處理完畢的字符提取特征向量,然后將其送到神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練和識(shí)別。本系統(tǒng)所采用的字符特征提取方法是逐像素掃描法,其基本原理是將歸一化處理的字符進(jìn)行逐行逐列進(jìn)行掃描,遇到黑點(diǎn)時(shí)取0,遇到白點(diǎn)時(shí)取1,這樣就會(huì)得到一個(gè)與圖像像素個(gè)數(shù)相等的特征向量矩陣,將所提取的各個(gè)字符的特征按從左到右的順序送到分類(lèi)器的輸入端進(jìn)行分類(lèi)得出結(jié)果。本系統(tǒng)采用模板匹配法進(jìn)行設(shè)計(jì)分類(lèi)器,將待分類(lèi)樣本與標(biāo)準(zhǔn)模板進(jìn)行比較,相似度最高的確定為該分類(lèi)。由于漢字位置固定在第一個(gè),所以把漢字樣本庫(kù)和數(shù)字、字母樣本庫(kù)分開(kāi)存放,這樣第一個(gè)字符只和漢字樣本庫(kù)匹配,識(shí)別效率會(huì)大大提高。
圖8 識(shí)別系統(tǒng)界面
車(chē)牌識(shí)別系統(tǒng)主要功能是對(duì)車(chē)牌進(jìn)行檢測(cè)定位并識(shí)別出車(chē)牌號(hào)碼。本文介紹的車(chē)牌識(shí)別系統(tǒng)處理的是BMP位圖文件,所以在使用時(shí)一定要保證識(shí)別的圖像為BMP格式。系統(tǒng)從最初的圖像加載到最后的識(shí)別輸出主要實(shí)現(xiàn)了以下幾個(gè)功能:圖像預(yù)處理、車(chē)牌的定位與切割、車(chē)牌傾斜校正、字符分割和字符識(shí)別。
大致可分為8個(gè)模塊,各模塊之間是順序的結(jié)構(gòu),該系統(tǒng)總體算法流程圖如圖7所示。
系統(tǒng)軟件運(yùn)行環(huán)境為Microsoft Windows XP操作系統(tǒng),以C++編程語(yǔ)言為基礎(chǔ),使用OpenCV函數(shù)庫(kù)為基礎(chǔ),在Visual C++ 6.0集成開(kāi)發(fā)環(huán)境下完成的,系統(tǒng)界面初始化如圖8a所示,車(chē)牌識(shí)別處理過(guò)程如圖8b所示。
設(shè)計(jì)了一款車(chē)牌自動(dòng)識(shí)別系統(tǒng),重點(diǎn)介紹了系統(tǒng)的功能和識(shí)別處理過(guò)程。本識(shí)別系統(tǒng)可以對(duì)車(chē)輛車(chē)牌自動(dòng)檢測(cè)定位,并能快速識(shí)別字符。該系統(tǒng)的移植性好,能在不同的應(yīng)用環(huán)境下達(dá)到更快速、更準(zhǔn)確的車(chē)牌識(shí)別目標(biāo)。
[1]朱江峰,劉蘇,夏冰.基于云計(jì)算技術(shù)的車(chē)牌識(shí)別系統(tǒng)[J].科技信息,2013,03: 82+107.
[2]陶恂,楊敏.車(chē)牌識(shí)別系統(tǒng)研究[J].電氣自動(dòng)化,2011,04:77-80.
[3]劉忠杰,宋小波,何鋒,李芬,周培瑩,劉百辰.基于MATLAB的車(chē)牌識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2011,14:37-40.
[4]李宇成,楊光明,王目樹(shù).車(chē)牌識(shí)別系統(tǒng)中關(guān)鍵技術(shù)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2011,27:180-184+209.
[5]李雄,裴承鳴,鄭華.幾何特征形態(tài)學(xué)車(chē)牌識(shí)別系統(tǒng)研究[J]. 計(jì)算機(jī)仿真,2012,04:353-356+370.
[6]陳利.車(chē)牌識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2012,15:142-144.
[7]安勇,張高偉.基于灰度圖像的車(chē)牌識(shí)別系統(tǒng)[J].計(jì)算機(jī)工程與科學(xué),2006,02:61-62+65.
隋清臣(1993—),遼寧東港人,大學(xué)本科,現(xiàn)就讀于沈陽(yáng)理工大學(xué)交通運(yùn)輸專(zhuān)業(yè)。
王佳宇(1994—),重慶人,大學(xué)本科,現(xiàn)就讀于沈陽(yáng)理工大學(xué)自動(dòng)化專(zhuān)業(yè)。
李孟格(1989—),河南平頂山人,碩士,現(xiàn)就讀于沈陽(yáng)理工大學(xué),主要研究方向先進(jìn)儀器與網(wǎng)絡(luò)化測(cè)控。