摘 要:本文提出一種針對汽車牌照字符分割的自適應算法。該算法首先對獲取的彩色車牌圖像進行灰度化、灰度拉伸、邊緣檢測、Hough變換、旋轉變換、二值化等一系列處理,以突出車牌文字、矯正車牌位置;然后對預處理結果的水平投影進行削峰填谷操作,以獲得車牌字符的上下邊界,再對上下邊界內子圖像的垂直投影進行削峰填谷操作,以獲得車牌每個字符的左右邊界,進而最終確定車牌每個字符的具體位置。實驗結果表明該方法字符分割準確、運算速度快、適應能力強,有很好的實用性。
關鍵詞:牌照字符分割 削峰填谷 自適應 邊緣檢測
中圖分類號:TP391文獻標識碼:A文章編號:1674-098X(2011)02(c)-0225-02
1 引言
汽車牌照識別是智能交通中的重要課題之一,它廣泛應用于電子收費、車流監控、高速公路收費系統等領域,是交通科技發展與研究的熱點問題之一。從外部獲取汽車的前部或后部圖像后,車牌識別主要分三大部分:1)車牌定位;2)車牌字符分割;3)車牌字符識別。其中車牌字符分割處在承前啟后的關鍵位置,字符分割的準確率與速度直接關系到整個系統運行的成敗。對于車牌字符分割的方法,國內外相關專家、學者經過多年的研究,積累了大量成功的經驗。國外關于車牌字符分割比較有代表性的算法如文獻[1~2]的方法等,國內對車牌字符分割的研究也取得了很大進展,如文獻[3~4]的方法等??偟目磥?,車牌字符分割的方法劃分為基于顏色特征的聚類方法和投影分割兩大類?;陬伾卣鬟M行聚類在理想情況下是可行的,但實際車牌由于污損等原因,使車牌文字及背景顏色局部改變,而且車牌背景與文字顏色也有數種搭配等,使得基于顏色特征聚類分割字符的效果不夠理想;而投影分割方法是比較直觀有效的方法,得到廣泛應用,但也有幾個關鍵問題需要解決,如字符傾斜、車牌邊框剔除、鉚釘的處理、尤其是字符邊界處理等。
本文即是針對以上問題,從實際應用的角度出發,提出一種基于削峰填谷[5]的自適應算法,該算法充分利用車牌文字顏色與背景顏色的差異進行優化的二值化處理,利用車牌文字排列及文字規格特征進行字符分割,簡化操作步驟,動態獲取閾值,對存儲空間進行動態管理,從時間和空間兩個方面進行優化,取得了較好的效果。
2 車牌的基本特征[6]
根據現行機動車牌照標準GA 36.1-2001,車牌的主要顏色為藍底白字、黃底黑字、白底黑字、黑底白字。對于通用汽車牌照,格式為XlX2·X3X4X5X6X7,各字符均為45mm寬,90mm高。
汽車牌照目標區域的特征分析:①字符和牌照底色在灰度值上存在明顯跳變,而字符本身、牌照底色本身都有比較均勻的灰度;②汽車牌照有一個連續或由于磨損而不連續的邊框,通用車牌由7個字符組成,基本呈水平排列,間隔均勻,所以在牌照的矩形區域內存在較豐富的邊緣,呈現出不規則的紋理特征;③不同圖像中牌照字符的具體大小、位置不確定,但字符的長寬比變化有一定范圍,字符的寬高比例接近1:2。④由于車牌圖像采集環境的多變性,造成所采集的車牌圖像部分不可避免地伴隨有千變萬化不確定的隨機干擾,極大地增加了車牌字符分割的難度。
3 算法流程
根據上述對車牌特征的分析,預分割車牌字符,就要進行圖1所示的一系列處理。其中二值化及投影分割操作中均用了削峰填谷法進行了優化處理。
4 算法實現
4.1 灰度化處理
讀入車牌子圖像,利用公式(1)對圖像進行灰度化處理。
(1)
4.2 灰度拉伸
順序檢查圖像數據,找出灰度值的最大值Max和最小值Min。然后運用公式(2)進行灰度拉伸。
(2)
拉伸能夠有效增強圖像的對比度,對于暴光不足或過量的圖像尤其重要,也提高了本系統的適應復雜環境條件的能力。
4.3 車牌傾斜度矯正
經過車牌定位后的車牌子圖像,有時由于攝像或其它原因造成其有一定的傾斜,這會嚴重影響后繼投影操作的正確性,是必須進行的預處理操作。
首先針對車牌圖像進行邊緣檢測,本算法采用既能突出牌照區域邊緣,又能削弱干擾的Robert算子。然后對邊緣檢測的結果進行Hough變換,求得車牌子圖像的傾角,進而對原車牌圖像進行旋轉操作,以得到水平的車牌,結果如圖2所示。
4.4 二值化處理
本過程主要是要確定一個合理的閾值,然后用白色表示車牌的背景,用黑色表示文字線條。首先繪制灰度圖像的直方圖,由于車牌背景顏色基本一致,文字的顏色也基本一致且二者有較大反差,所以直方圖呈現明顯的雙峰特征。
接下來對該直方圖運用削峰填谷算法進行操作。初級搜索鏈表的步長可以根據精度要求進行選擇。然后對相鄰節點按一定條件進行歸并,主要考慮在鏈表中,相鄰的波峰能否歸并。歸并后,鏈表對應的直方圖如圖3所示。
經過對灰度圖像直方圖的削峰填谷操作后,找到車牌文字與背景各自所在的波峰,以其中間值做為初始閾值,考慮到實際情況及后繼處理要求、盡量保留文字信息的完整性,應使閾值靠近背景,以減少誤判。最后根據閾值及背景、文字所在灰度區間的判定,無論車牌原來背景與文字灰度分布如何,最終都用黑色表示文字,白色表示背景。從而實現了車牌圖像二值化的目的,結果如圖4所示。
4.5 字符分割
本過程目標就是確定車牌中每個字符在圖像中的上下左右邊界。
①水平投影搜索車牌的上下邊界:本過程也是運用削峰填谷算法,為避開鉚釘的干擾,投影采用車牌中間1/3一段。其中水平投影的結果如圖5(a)所示,字符上下邊界找到時的鏈表直方圖如圖5(b)所示。
②垂直投影確定每個字符的左右邊界:仍采用削峰填谷法進行操作。本過程投影僅掃描已經求出的文字上下邊界內的子圖像,避開車牌上下邊框的干擾,如圖6所示。
從垂直投影可分辨出車牌7個字符所在的區域,但邊界的確切位置卻比較模糊,為此,采用削峰填谷操作,來規范每個區域的邊界,結果如圖7所示。
根據通用車牌的特點,7個字符的高度是一致的,即寬高比接近1:2,所以本算法所檢測字符的上下邊界是基本正確的,但漢字及字母數字的寬度投影確不一定一致,例如數字“1”的寬度就比較窄,因此對垂直歸并后的字符寬度要進行規范,使其更接近真實情況。
5 實驗結果及分析
本例利用一個完整的車牌圖像進行檢驗,該圖片為一個212×71的彩色車牌圖像。經過上述流程的一系列處理,最后得到每個字符的左右邊界,如表1所示。由表中數據可見,最終每個字符的寬度基本一致,比較理想。
實驗結果如圖8所示,圖中每個字符用上述數據繪制的小矩形框住,分割十分準確。
實驗結果表明,該算法是成功的,可行的,有適應復雜環境影響的能力。
6 結語
1)灰度拉伸,Hough變換及車牌旋轉,二值化過程中閾值的動態選擇及優化以及字符左右邊界的靈活處理,都增強了系統適應能力。
2)削峰填谷方法簡單、直觀,在歸并過程中動態判斷可能的字符邊界部分,加之閾值的動態迭代,大大提高了程序的執行效率。
3)系統采用帶有頭結點的雙向鏈表的數據結構,適應了不同大小圖像的處理,節約了存儲空間,提高了搜索判斷的速度。
綜上所述,本文提出的算法較好的解決了車牌不同背景條件下的二值化以及車牌字符邊界的準確判斷—— 兩個車牌字符分割的關鍵技術。
參考文獻
[1] 雙維,白艷萍.基于神經網絡的汽車牌照自動識別技術研究[J].計算機科學與技術,2008.
[2] 卜質瓊,鄒衛強,周運祥.基于神經網絡集成的汽車牌照識別[J].計算機工程與設計,2007.
[3] 關明山,任洪娥.汽車牌照定位的削峰填谷自適應算法[J].計算機工程與應用,2010.
[4]王偉.一種基于BP神經網絡的車牌字符識別方法[J].科技創新導報,2009,22:14.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文