華南師范大學物理與電信工程學院 王曉磊
基于多閾值與區域生長的車牌定位算法
華南師范大學物理與電信工程學院 王曉磊
車牌定位就是在圖像中把車牌所在區域標記或分割出來,是車牌識別的主要解決問題之一。本課題對基于顏色定位和閾值處理的研究,本文提出了方法采用自動調節閾值的方法,選取合理利用閾值,得到二值圖,然后檢測字符水平邊緣變化率剔除背景無關的行圖像,然后根據顏色、形狀和字符分布建立簡便顏色模型利用區域生長算法進一步精確定位,進而實現定位。
車牌定位;二值化;閾值;區域生長
在我國汽車車牌種類可分為黑牌、藍牌、黃牌和白牌。其中藍牌車牌有以下基本特征:
(1)固定長寬比,其長寬比為3.114:1;
(2)字符大小一致,間隔分布均勻;
(3)內容格式相同;從左至右第一個字符為?。ㄖ陛犑校┖喎Q,第二個是表明所屬省市順序的字母,后五位由數字和字母組成,如果忽略中間分割點,第二個字母與后面部分距離稍大;
(4)從車牌位置來講,車牌大都安裝在車輛中下部。并且分別位于車輛前后兩個方位。此外車牌還有一個顯著特征:字符與背景顏色對比十分明顯,在正常情況下,無論彩色圖還是灰度圖特征也十分明顯。
根據以上特征,學者提出了不同的算法,例如,文獻[1]張浩鵬,王宗義在基于灰度方差和邊緣密度的車牌定位算法一文利用車牌灰度特征和邊緣密度實現車牌定位,文獻[2]羅金凱在基于顏色劃分的車牌識別研究一文中介紹并改進了基于顏色的定位算法,文獻[3]劉智勇,劉迎建的車牌識別(LPR)中的圖像提取及分割提出一種變換函數突出牌照固有特征從而進行車牌提取,在文獻[4]圖像識別與項目實踐:VC++、MATALAB技術實現中的汽車牌照識別系統中,介紹了一種定位方法,步驟是:汽車圖像二值化、去噪、橫向與縱向掃面定位。其中二值化算法是從灰度化圖像中粗略選取車牌容易出現的區域,求出指定區域內所有像素點的總和,然后求出平均值T,然后以此作為閾值,將灰度圖二值化。本方法簡便、快速,對于背景簡單的汽車圖像效果很好,但是粗略估算選取的閾值在復雜背景下車牌區域有可能未被選中效果不理想。
本文為了解決以上問題,提出新的解決方案。本方案將二值圖像素變化率檢測與車牌顏色檢測結合,采用自適應閾值處理,避免閾值處理這一難題,檢測字符邊緣水平變化率,排除不可能的區域,再利用車牌形狀、顏色和字符等特征進一步縮小范圍,選出最符合車牌特征的區域,最后根據車牌長寬比驗證去除不含車牌的區域。
本方案采取8bit的RGB圖像作為源圖像,檢測對象是常見的藍白7字符車牌。整個過程大致包含預處理、二值化處理、二次定位三個步驟。預處理是將彩色圖轉化為灰度圖;二值化是將第一步的灰度圖采用多閾值方法二值化得到二值圖;二次定位分兩步,第一次定位根據字符特征水平灰度值變化率找出車牌所在行,第二次根據其顏色特征排除多余列和長寬比驗證,進而定位出車牌。

圖1 車牌定位原理圖
預處理有兩部分:增加對比度和灰度轉化。由于天氣和環境影響采集的圖像對比度較小,增加對比度可以很好增加車牌與背景的差值,有利于閾值處理。
接下來需要將彩色圖轉化為灰度圖像,RGB與灰度圖轉化采用經典公式:

其中,Gray 是轉化后灰度圖的值,R、G和B分別是對應紅、綠和藍3個通道對應的值。
2.1 二值化處理
二值化處理就是將源圖像根據某種映射關系將像素值轉化為比較簡單的形式。顯然,對于車牌定位,最理想的情況是將字符與車牌背景完全分離,這樣字符特征可以完整保留,這種二值化有很大優勢:在8位灰度圖中,每個像素點值取值范圍[0,255],而在二值圖中只有兩種,大大濾除無關部分,使圖像結構大大簡化,處理會更加簡單。在二值化過程中,選取合適的映射法則無疑是很重要的,通常處理方式是選取某個特定的閾值,以此閾值為界將像素值分為黑和白兩種,得到二值圖。在車牌的灰度圖(圖2 左)中可以看出,的確存在這樣的某些“閾值”可以完美地將字符和車牌分離,但是對于復雜背景下(圖2 右),或者車牌區域占整幅圖的比例較小情況下,導致車牌特征被掩蓋。這時候選取閾值很困難的,為了克服這種問題,采取多閾值的方式。選取灰度圖像中央3/5區域,求其灰度平均值,作為閾值處理的初始值T0,采用中間3/5區域而不采取整個圖像的原因有兩點:(1)減少計算量;(2)車周圍往往有很多無關物體。例如:天空、馬路和人等,這樣減少周圍物體的干擾。由于實際環境光線、干擾物和相機的影響,此初始值并不一定是最佳值。設定一個偏移量T,使閾值在此平均值的一定范圍(T0-T,T0+T)內變化,步長為5,直到找到比較合適分割值,t=T0-T+5*n(n 圖2 左圖是車牌局部及直方圖,右圖是整體圖及其直方圖 2.2 車牌定位 首先根據車牌字符邊緣特征一次定位。車牌字符與背景明顯差別,每一筆畫在水平方向至少出現兩次突變,7個字符至少出現14次,對每一次得到閾值圖逐行掃描,保留超過14次灰度變化的行,相鄰的行合并,設定車牌豎直高h,滿足9pixels 對上一步得到的每一個區域映射到RGB原圖中,找到相同位置的圖像。此時圖像在上一步行掃描后,排除了無關行圖像,這一步只需檢測無關的列圖像即可,這是第二次定位。為此,采用車牌顏色特征模型并進行區域生長的方法[5]。根據顏色模型和比例甄別和確定邊界。 在RGB色彩模型中,設藍色分量值VB,綠色分量VG,紅色分量VR。純的白色或灰色是由等量的VB、VG和 VR組成;三者均值越小,飽和度越低,等于0時為黑色,等于255時為白色。純的藍色是由VB組成,值越大,飽和度越高,實際車牌圖像中,由于車牌磨損或環境的影響,會有少量的VG和 VR分量,而且本文假設VG和 VR分量相差不大。 從圖像中選取可靠的特征點,確定藍色和白色兩種關系模型:對于藍色,同一車牌的B分量的分布有一定的規律,B分量值滿足Bmin 最后根據長寬比驗證是否滿足要求,排除“假車牌”區域,準確定位出車牌所在區域。 綜合以上算法思路,使用Microsoft Visual Studio開發工具,采用了跨平臺計算機視覺庫OpenCV實現。簡略流程圖如下:將讀取的源圖像imgsrc轉化為灰度圖imggray。按照上一節方法得到初始閾值T0,根據RGB的灰度轉化公式以及車牌顏色特點,可知,轉化灰度值時,藍色分量權重最小,綠色和紅色分量權重大于綠色權重的2倍,就使得車牌背景灰度值較低,字符較亮,選取閾值偏移量T=30,然后根據閾值得出二值圖binary-img_n.經過定位排除多余部分得到imgroi,最后一步根據車牌長寬是否與3:1接近以此排除非車牌區域,分割出真正車牌。 圖3 定位程序流程示意圖 為了驗證算法,本文測試圖像源于網上隨機選取和多種環境下現場拍攝。如圖4所示,是一幅含有“浙F79W39”的藍色車牌的圖像,經過定位準確分割出所在區域。通過對余圖像測試,本算法平均耗時低于300ms,能夠滿足定位需要,證明了算法可行性。 圖4 左圖是源RGB彩色圖像,右圖是經過增加對比度后的圖 圖5 左圖是轉化后的8位灰度圖,右圖是在多閾值轉化的二值圖中的一幅 圖6 左圖是經過一次定位后映射到彩色圖中的部分,右圖是經過區域生長得到車牌區域 本文采取了獨特的多閾值處理并建立車牌特征模型進行區域生長的處理的方式。充分利用車牌特征,保證較高準確率同時提高了抗干擾和效率??朔?個問題: (1)二值化過程中閾值選擇的難題,由于圖像的多樣性,單一閾值很難應用與不同條件下的情況; (2)如果直接對整幅圖利用顏色模型,彩色RGB是3通道,直接計算,數據量很大,本文利用前期閾值排除了大部分區域,建立的模型簡單,降低處理難度。通過實驗測試,得到比較好的效果,證明了算法可行性。 [1]張浩鵬,王宗義.基于灰度方差和邊緣密度的車牌定位算法[J].儀器儀表學報,2001,32(5). [2]羅金凱.基于顏色劃分的車牌識別研究[D].湖南:中南林業科技大學,2012. [3]劉智勇,劉迎建.車牌識別(LPR)中的圖像提取及分割[J].中文信息學報,2000,14(4). [4]楊淑瑩.圖像識別與項目實踐:VC++、MATALAB技術實現[M].北京:電子工業出版社,2014. [5]楊帆,王志陶,張華編著.精通圖像處理經典算法 MATLAB版[M].北京:北京航空航天大學出版社,2014. 王曉磊(1992—),男,河南安陽人,華南師范大學物理與電信工程學院碩士研究生,研究方向:智能儀器,圖像處理。
3.程序設計與驗證




4.本文總結