舒高 成鵬李 盧曦 唐海云
關鍵詞:Python語言;圖像預處理;圖像灰度化;模板匹配
1概述
隨著道路上汽車數量的增加,人們越來越關注安全問題。在校園內識別車牌是邁向構建更全面的停車管理系統(tǒng)的一步。該車輛識別系統(tǒng)的整體架構由超分辨率圖像預處理、圖像灰度、邊緣檢測、尺寸調整、車牌插入與處理、字符分割與識別以及Matlab訓練實踐方法組成。
2汽車車牌號識別原理
2.1數據預處理
大多數情況下,拍攝車牌照片的環(huán)境并不理想。車輛的速度和天氣等因素會對圖像產生重大影響,在拍攝照片的過程中,照片的質量會有輕微的變化,因此需要進行某種形式的數據預處理[1-2]。
2.1.1尺寸調整
將圖像縮放到合適的大小。在這種情況下,為了提高識別的效率和有效性,直接使用了調整大小功能。這樣做是為了提高識別的效率和功效。
代碼如下:
2.1.2圖像灰度化處理
灰度圖像由白色和黑色之間的色調組成,以一定的順序完成,并劃分為預定數量的層次。
2.2目標定位
定位包括確定整個感興趣的區(qū)域,并確定該區(qū)域的確切幀,然后從原始圖像中提取它。如果放置不正確,其余的工作將受到影響,在最壞的情況下,整個過程將失敗。為了使計算機準確定位目標的輪廓,定位算法準確識別對象最明顯和相關的屬性是至關重要的。
3基于Python的識別系統(tǒng)程序設計
3.1字符分割
要進行字符分割,必須手動從圖片中提取每個單獨的圖形。字符分割包括將車牌分割成各個組成部分,并決定哪些部分與每個字符相關,根據這些特征計算每個字符的開始和結束位置,最后從圖像中提取字符。這一步將在一定程度上決定后續(xù)字符識別的質量。
3.2模板匹配識別字符
這項工作的前提是模板字符和需要識別的字符都是由黑色背景與白色字符組成的二進制圖片。為了生成公共部分imageV,我們將首先對需要識別的字符的imageU以及存儲在字符模板庫中的字符的imageT進行預處理。這將允許我們同時使用公共部件圖像和需要為“不同或”邏輯操作識別的字符。計算每個模板圖片imageM中出現白色像素的數量,包含待識別字符的imageU中出現白色像素的數量,imageV中出現白色像素的數量,imageW中出現白色像素的數量,以及imageX中出現白色像素的數量。
4車牌號識別實際應用
如圖1所示,圖片為在正常情況下拍攝到的汽車圖片。
4.1讀取圖像
利用TensorFlow提供的數據集API,它為數據集提供了一個健壯的包裝器,并支持批量加載、預處理、批量讀取、變換和預取等操作。其中,預取操作有內存需求,不預取也可以使用不足的內存。由于本實驗后續(xù)的網絡結構比較深,對顯存的要求比較高,這里只設置了30個批量大小,可以根據顯存是否充足或不足進行調整。
4.2圖像預處理
基于確定的輪廓特征識別和分割車牌的具體位置,對圖像進行縮放及灰度處理,在中間位置濾波,并檢查邊緣。結果如圖2所示。
在圖像裁剪完成后,將對板的位置進行旋轉和修改,并將處理板的方向定位。接下來需要對圖片進行灰度化和二值化,最終的成品如圖3所示。
4.3車牌號分割及識別
由于之前的操作結果都在允許的范圍內,字符分割過程的結果使每個字符異常明顯。車牌號分割圖像結果如圖4所示。
圖5是使用模板匹配識別并處理最終項中的字符后產生的最終輸出圖像。然后在PIL庫的幫助下,將結果繪制在原始圖片的頂部。
5結束語
自動車牌閱讀器,或車牌閱讀器輔助,是智能交通系統(tǒng)的一個組成部分。計算機和數字圖像技術的迅速發(fā)展,是本項目創(chuàng)建的靈感來源。車牌識別技術可能有幾種不同的應用。例如,在下雨、黑暗、昏暗等復雜情況下,可以實現車輛進出的無卡、無人員自動化、標準化管理。這可以顯著降低人工費用,并提高管理效率。將其應用于現場監(jiān)控,在發(fā)生違反車輛識別的情況下,對犯罪嫌疑人的身份驗證以及夜間、微光下發(fā)生具有挑戰(zhàn)性的現場車輛識別,都有很大的幫助。車牌識別系統(tǒng)已經在各個領域得到廣泛應用:它的出現是時代進步的必然結果,同時對情報領域產生了重大影響。