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