毛啟 張治榮 楊國榮 崔忠偉



摘要:車牌識別的一般流程是對車牌定位,提取車牌,再對車牌字符分割,最后是進行車牌識別。本文則基于MATLAB對車牌定位進行相應的提取實驗,在定位剪切時取2500像素,使用函數bwareaopen(),得到較好的效果。
關鍵詞:車牌定位;MATLAB
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2019)16-0189-02
開放科學(資源服務)標識碼(OSID):
車牌自動識別就是對監控器所采集的圖片進行研究,由于拍攝的環境不同,識別技術也因應用而不同,圖片拍攝環境有各種工作條件,戶外場景、室內場景、靜止背景、非靜止背景、固定照明、天氣、溫度、有限車速、車輛間的距離等等多種因素影響;什么時候出現在圖像中,車牌尺寸大小、位置、是否有車牌,以及背景的復雜更涉及檢測車牌的可能性變得無比挑剔。
基于MATLAB的圖像識別,通過彩色像素點統計法,把圖像有數字矩陣來表示。能解決車牌的定位,分割、識別等一系列過程。在車牌識別中使用MATLAB語言工具,使得編程簡單、快捷,降低了對車牌圖像處理的門檻。采用MATLAB的缺點是,計算機計算速度沒有C語言快,有些圖像處理算法還的重復設計程序。
1車牌定位
一直以來,人們想做一個系統就可以定位所有場景的車牌,對于這個問題難度非常大,而且識別的準確率都不高。所以我們采用根據不同的拍攝環境,制定不同的車牌定位。本文按照如下處理過程來實施。
1.1灰度化處理
灰度化處理是創造灰度化環境,為邊緣檢測算法做準備。有MATLAB系統函數法、加權平均值法、最大值法、平均值法等。本文將不對這些方法作更深一步的摸索,所以選擇了比較常用的系統函數法rgb2gray()。通過消除圖片飽和度和色調信息,同時不改變其亮度,將圖片的RGB轉換R=G=B,實現灰度化處理。效果如圖2所示。
1.2中值濾波
中值濾波法是對圖像進行平滑處理增強圖像,在一定的條件下能克服線性濾波帶來的圖像細節模糊問題,從而有效的清除圖像的噪聲干擾[3]。將灰度化圖像經過中值濾波器,使用medfilt2()函數,得出如圖3所示效果。
1.3邊緣檢測
進行圖像邊緣檢測算子有Sobel算子、Roberts算子、Canny算子等,本文采用Roberts算子,Roberts算子是一種利用局部差分算子尋找邊緣的算子[1],相比其他算子,它的定位更加精準。對于噪聲低的圖片處理效果較好,但沒有平滑處理,對噪聲比較敏感,所以在此之前我們做了中值濾波處理,降低噪聲對它的干擾。
設置edge() 函數的閾值和方向參數,經過大量試驗,本文采用其閾值為 0.15,方向參數為“both”,對降噪后的圖片進行分析。由檢測圖像中亮度變化差異較大的地方,使其效果更佳明顯,從而檢測車牌的邊緣,實現車牌位置的確認。
1.4腐蝕和平滑圖像的輪廓
邊緣檢測后的圖像往往會存在一些邊界上的點,所以需要對邊界上的點進行腐蝕處理,即消除邊界點,使邊界向內部收縮。腐蝕后的圖像還需要進行平滑處理,使其輪廓明顯化。對圖像進行閉運算處理,獲得結果如圖6所示。
1.5移除小對象和定位剪切
在移除小對象的實際操作中存在著缺陷,如果移除的像素值設置的大小不合適,導致該移除或該保留的達不到預期效果,造成很多的干擾。因此,為了使接下來車牌位置的確定更精確,矩形模型的大小應該按照具體的情況來設置恰當的大小,以便車牌定位的效果達到更佳。
經過我們的大量測試,發現在取用2500的像素值時效果較佳,使用的函數是bwareaopen() 函數,將二進制圖像中所有少于2500像素的連接對象消除。最后剪切時本文采取常見的掃描藍色像素點法,確定車牌頂點所在的坐標,通過Matlab識別像素點的不同,定位到車牌區域的頂點坐標,剪切出由坐標所圍成的矩形,從而獲取到車牌。最終效果如圖8所示。
2小結
車牌圖像提取在各個車輛管理系統中是重要的一個環節。本文中采用牌照顏色信息引導和許可證號碼組成的語義來確定位置,在絕大多數的情況下都能夠正確的提取車牌,通過實驗像素值取2500時效果較好。這為下一步的車牌字符識別奠定了堅實的基礎,使得整過車牌識別系統的識別率有較大的提高。
參考文獻:
[1] 孫紅艷, 張海英. 圖像邊緣檢測算法的比較與分析[J]. 菏澤學院學報, 2010, 32(2):49-52.
[2] 王剛, 冀小平. 基于MATLAB的車牌識別系統的研究[J]. 電子設計工程, 2009, 17(11):72-73.
[3] 田原嫄. 圖像平滑算子對邊緣檢測精度的影響[J]. journal6, 2006, 45(32):161-163.
[4] 馬晨. 基于MATLAB車牌字符識別的算法研究[J]. 數字技術與應用, 2017(9):121-123.
[5] 呂顥, 劉峰, 干宗良,等. 基于字典學習的模糊車牌中文字符識別[J]. 計算機技術與發展, 2017, 27(11):75-78.
[6] Mayan J A, Deep K A, Kumar M, et al. Number plate recognition using template comparison for various fonts in MATLAB[C]// IEEE International Conference on Computational Intelligence & Computing Research. 2017.
【通聯編輯:梁書】