趙 珊,裴 亮,劉 翠,王 濤,王新亮,朱雪嬌
(遼寧工程技術大學 測繪與地理科學學院,遼寧 阜新 123000 )
基于MATLAB圖像處理的汽車牌照識別研究
趙 珊,裴 亮,劉 翠,王 濤,王新亮,朱雪嬌
(遼寧工程技術大學 測繪與地理科學學院,遼寧 阜新 123000 )
汽車牌照識別是智能交通領域的重要研究課題,整個過程主要分為預處理、車牌定位、字符分割、字符識別4個環(huán)節(jié)。用MATLAB軟件編寫代碼實現(xiàn)每一個過程,有效地解決惡劣環(huán)境下的車牌定位、字符傾斜、字符分割等復雜問題,結果表明MATLAB在彩色汽車牌照的識別中十分有效。
MATLAB;車牌識別;數(shù)學形態(tài)學;字符識別;圖像處理
當今社會經(jīng)濟快速發(fā)展、生活水平穩(wěn)步提升,汽車進入尋常百姓家,汽車保有量飛速增長,給交通管理帶來了很大的難題,如高速公路超速、違章占道,城市道路違章停車、闖紅燈、肇事逃逸等。為了快速準確地找到違章車輛,智能交通系統(tǒng)的出現(xiàn)顯得十分必要,智能交通系統(tǒng)的核心是車牌自動識別技術,本文以數(shù)碼相機拍攝模擬智能交通系統(tǒng)拍攝違章停車車牌為例,闡述智能交通識別系統(tǒng)識別車牌的一般流程。
一般的汽車牌照識別方法是利用汽車牌照的照片,運用復雜的編程語言,如C、C++、C#編程對圖像進行處理,這種方法有一定的局限性,它對編程能力的要求非常高,難度大且不好維護。MATLAB軟件是一款很方便的圖像處理工具,可對已經(jīng)編好的函數(shù)進行直接調(diào)用,降低了圖像處理的難度,節(jié)省時間。由于車輛在行駛過程中會受到外界環(huán)境(如光照強度、汽車行駛速度以及攝影機拍攝角度)的影響,以及中國車牌的特殊性,它們由漢字、字母、數(shù)字組成給車牌識別帶來了一定難度。這些因素都關系到汽車牌照識別的效果。
汽車車牌識別主要步驟有汽車車牌的定位、車牌字符的分割、車牌字符的識別。其識別流程如圖1所示。
圖1 汽車牌照識別流程
1.1 圖像預處理
由于所采集的圖像受外界光照強度、車行駛速度、拍攝角度的影響,最終會影響字符識別的效果,故要對所采集的圖像進行灰度化、二值化、傾斜校正、濾波等一些預處理,預處理效果的好壞直接影響車牌識別的最終結果。
1.1.1 圖像的灰度化和二值化
采集的彩色圖像包含很多顏色信息,影響圖像處理的速度,車牌的顏色和背景顏色一致,增加車牌定位的難度。圖像二值化是將車牌圖像用MATLAB語言編輯,將車牌圖像劃分為前景和背景,將車牌字符像素分為兩部分目標像素,其余為背景像素,將車牌圖像進行灰度二值化,其公式表達為
式中:T為閾值(圖像的二值化的關鍵就是選擇合適的閾值),B(i,j) 表示坐標值為(i,j) 像素點的灰度值。車牌圖像的原圖、灰度圖和二值化圖如圖2~4所示。
圖2 原圖
圖3 灰度圖
圖4 二值化圖
1.1.2 車牌的邊緣增強
邊緣主要存在于目標字符與目標字符、目標字符與背景之間,是分割目標、提出紋理的重要特征。通過對圖像進行邊緣增強,可以突出車牌邊緣紋理,使得車牌定位快速、準確。用邊緣檢測算子對每一個像素點的鄰域進行檢測,同時量化灰度變化率。其中Sobel、Prewitt、Roberts、Laplacian of a Gaussian(loG)、Zero crossings(零交叉)、Canny 為MATLAB常用的邊緣檢測器。本文根據(jù)拍攝的車牌圖像情況經(jīng)過反復試驗得到用Canny邊緣檢測器進行邊緣增強,如圖5所示。
圖5 邊緣增強
1.2 利用形態(tài)學方法對圖像進行除噪并對車牌進行定位
利用數(shù)學形態(tài)學收集圖像信息,尋求圖像各個部分間的相互關系,通過他們之間的關系了解圖像結構特征。數(shù)學形態(tài)學主要運算有腐蝕和膨脹運算,以及由其產(chǎn)生的開、閉運算。
1)膨脹:A!B=∩{A-b:b∈B},使目標前景點縮小,背景增大,消除孤立噪聲點。
2)腐蝕:A⊕B=∪{A+b:b∈B},使目標前景點增大,背景縮小,填充目標前景物體中的空洞,形成區(qū)域。
3)開運算:A°B=(A!B)⊕B,這種運算是A被B腐蝕后再用B來膨脹結果,濾去小于結構元素的細小區(qū)域。
4)閉運算:A!B=(A⊕B)!A,這種運算是A被B膨脹后再用B來腐蝕結果。
車牌圖像多為縱向邊緣。首先,對預處理后的車牌圖像先進行垂直方向的腐蝕運算,進行濾波處理;然后進行閉運算,用來填充圖像細小區(qū)域、相鄰物體的連接和便捷的平滑,使車牌區(qū)域的影像像素得到增強。
接下來對連通區(qū)域進行檢索,先估計車牌的高度和寬度,選擇合適的閾值對圖像進行掃描,最終定位出車牌的位置,如圖6所示。
圖6 定位后車牌
2.1 車牌字符的切分
2.1.1 車牌傾斜校正
由于攝像機放置角度等原因,拍出來的車牌有可能不是水平的,傾斜達到一定程度就會對車牌字符的分割帶來困難。車牌傾斜后在水平軸方向的投影會變得不清晰,導致無法找到字符中間的空隙,傾斜車牌雖然有時能進行切分,但是切分后的字符上下有很多陰影,在字符識別拉伸的時候會發(fā)生扭曲。應用較多的是Hough變換,但是傳統(tǒng)的Hough變換要針對每一個像素進行計算,處理的時間比較長。本文通過車牌兩端的斜率來調(diào)整圖像的位置,可以達到預期的目的,減少了計算時間,提高了實時性要求,如圖7所示。
圖7 校正后的車牌
2.1.2 車牌的分割字符
汽車牌照識別中的字符分割有著非常重要的銜接作用,它以車牌定位之后對字符進行分割,再利用分割后得到的字符進行最后的識別。一幅定位準確的車牌包括由1個漢字和6個字母或者數(shù)字組成。想要成功識別出每一個字符是什么,必須把這7個字符獨立地分割提取出來。車牌的垂直投影上存在字符與字符之間的空隙和跳變,根據(jù)字符樣式、尺寸等進行字符的逐個分割。本文采用的分割方法是投影法,上下掃描,可以得到車牌圖像高度,后左右掃描,找到第一個字符的重點,后繼續(xù)左右掃描,一直到車牌全部掃描完畢。采用投影法編程較簡單且精度高,易操作。
2.2 車牌的識別
首先要建立字符模板。中國現(xiàn)行車牌規(guī)定一共有7個字符,第一個字符一般是漢字代表省、直轄市或是軍種警別等有特定含義簡稱;接下來的為字母和數(shù)字。10個阿拉伯數(shù)字0~9,26個英文字母A~Z和相關的車牌用漢字,將這些所有的字母、數(shù)字、漢字收集到一起組成的字庫就是字符模板。
對字符進行歸一化處理可以有效地解決圖像采集的車牌圖像字符大小不一致的現(xiàn)象,經(jīng)過歸一化處理后的字符大小相同。歸一化是為了使車牌字符與字符模板中的標準字保持特征上的一致。而前面已經(jīng)對車牌進行了傾斜矯正,接下來主要是
對字符大小進行歸一化,大小歸一是指在長度和寬度方向上分別乘以一個比例因子,使其等于標準模塊的字符大小。本文運用MATLAB中自帶的IMRESIZE函數(shù),進行歸一化處理。
最后進行字符識別,其方法主要有神經(jīng)網(wǎng)絡算法和模板匹配法。本文使用模板匹配法,它的優(yōu)點是操作簡單,抗干擾能力強,識別率高。在MATLAB中直接調(diào)用NEWLIN和ADAPT函數(shù)即可,如圖8所示。
圖8 車牌最終字符分割結果
本文用MATLAB 7.0軟件完整地進行了汽車牌照識別的實驗,車牌識別有很多方法,各種方法所表示的優(yōu)劣有所不同。根據(jù)本實驗可以得出MATLAB在車牌識別過程中有以下優(yōu)點:
1)MATLAB函數(shù)庫豐富;
2)程序簡潔易行;對車牌的定位非常有效,正確率較高;
3)與C++語言程序相比大大降低了工作量。
但是也發(fā)現(xiàn)了一些缺點:
1)程序有一定的局限性,對于車牌圖像內(nèi)元素較復雜的照片識別的效果不理想;
2)有時還要根據(jù)攝像機位置的實際情況對部分閾值進行調(diào)整。
[1]謝盛嘉,梁竟敏.車牌識別系統(tǒng)的設計與實現(xiàn)[J].微計算機信息,2010(6):165-167.
[2] 岡薩雷斯.數(shù)字圖像處理(MATLAB版)[M].北京:電子工業(yè)出版社,2007.
[3] 周妮娜,王敏,黃心漢,等.車牌字符識別的預處理算法[J].計算機工程與應用,2003(15):220-221.
[4] 李波,曾致遠,周建中,等.車牌識別系統(tǒng)研究與實現(xiàn)[J].計算機技術與發(fā)展,2006,16(6):10-11.
[5] 崔屹.圖像處理與分析-數(shù)學形態(tài)學方法及應用[M].北京:科學出版社,2000:1-50.
[6] 嚴寶民,于萬波,魏小鵬.汽車牌照定位研究綜述[J].大連大學學報,2002,23(2):6-10.
[7] 馬俊莉,莫玉龍,王明祥.一種基于改進模板匹配的車牌字符識別方法[J].小型微型計算機系統(tǒng),2003,24(9):1670-1672.
[責任編輯:劉文霞]
LicenseplaterecognitionresearchbasedonMATLABimageprocessing
ZHAO Shan ,PEI Liang,LIU Cui,WANG Tao,WANG Xin-liang,ZHU Xue-jiao
(School of Geomatics,Liaoning Technical University,Fuxin 123000,China)
Vehicle license plate recognition plays an important role in the intelligent control of modern traffic, of which the whole process is divided into the image pre-processing,license plate location,character segmentation and character recognition, with each process code written in MATLAB software to solve the harsh environment of the license plate location, character tilt, character segmentation, etc. Results show that MATLAB is very effective in the color car license plate recognition.
MATLAB; license plate recognition; mathematical morphology;character recognition;image processing
2012-12-21
趙 珊(1987-),女,碩士研究生.
P23
:A
:1006-7949(2014)01-0070-03