吳曉華 付相祥 楊思怡
編者按:針對人工檢查記錄車輛費時費力等問題,文章提出了基于OpenCV與OCR的車牌識別系統(tǒng)。首先采用了圖像預處理的方法對圖像進行灰度處理以及邊緣檢測;再通過形態(tài)學的開運算閉運算、膨脹腐蝕提高車牌定位的效率;最后利用字符的統(tǒng)一性,用垂直投影區(qū)域來對車牌進行分割并識別。
引言
針對越來越多人不遵守交通規(guī)則,交通事故不斷增加這一現(xiàn)象,單純通過人工檢查記錄通過車輛費時費力,因此建立了車牌識別系統(tǒng)。車牌識別系統(tǒng)(LPR)是交通智能系統(tǒng)中的核心技術之一,在停車場、高速公路、城市交通等領域起著重要作用,通過對監(jiān)控視頻圖像進行逐幀獲取車牌圖像后再進行識別。車牌識別系統(tǒng)主要包括了圖像輸入、車牌定位、文字提取、文字分割以及文字輸出。
圖像預處理
圖像預處理的目的是為了將車輛圖像中的一些無關信息處理掉方便后期進行分析?;静襟E分為圖像灰度處理、圖像濾波、閾值分割、邊緣檢測五個部分。
圖像灰度處理
由于在視頻圖像獲取的過程中,可能受到天氣、光線等因素,對車牌圖像產(chǎn)生一定的影響,圖像的明暗程度不同,會造成二值化閾值設定困難,所以要將圖像進行預處理。預處理主要包括了圖像去噪、灰度處理以及平滑處理。
彩色圖像轉(zhuǎn)換為灰度圖像一般采用加權的方法轉(zhuǎn)換,R、G、B的比一般為3:6:1。任何顏色都是由紅、綠、藍三個基本顏色組成,假設原來某點的顏色為RGB(R,G,B),那么,我們可以通過平均值法將其轉(zhuǎn)換為灰度:Gray=(R+G+B)/3
本文通過平均值法求得Gray后,將原來的RGB(R,G,B)中的R,G,B都用Gray替換,形成新的RGB(Gray,Gray,Gray),用它替換掉原來的RGB(R,G,B)就是灰度處理過后的圖像。
除了平均值法還有浮點算法、整數(shù)方法可以將原始圖像轉(zhuǎn)換為灰度圖像。代碼如下:
carplate_extract_img_gray_blur = cv2.medianBlur(carplate_extract_img_gray,3)
plt.axis(‘off’)
plt.imshow(carplate_extract_img_gray_blur,cmap = ‘gray’);
Sobel邊緣檢測
邊緣檢測是指圖像周圍像素灰度快速變化的像素的集合,它是圖像最基本的特征。邊緣存在與區(qū)域、背景、和圖像之間,所以,它成為了圖像分割需要依賴的最重要依據(jù)。
本文主要采取的是Sobel邊緣檢測算法,它是一個離散微分算子,結合了微分求導和高斯平滑,主要的作用是對噪聲的產(chǎn)生起到了平滑抑制的作用,并且在灰度漸變噪聲的圖像中也起到了很大的作用,主要用來計算圖像亮度函數(shù)。除此之外,Sobel的算子有兩個,一個是檢測水平邊緣,另一個是檢測垂直邊緣。
車牌定位
車牌定位是指把車輛圖像中的車牌區(qū)域部分提取出來,方便后續(xù)對車牌進行分割、識別。車牌定位的原理使用的是統(tǒng)計像素點的方法分割出車牌可能出現(xiàn)的區(qū)域,車牌底色進行二值化處理后對其區(qū)域進行圖像的預處理,包括了灰度處理、平滑處理、降噪處理以及通過形態(tài)學的開運算閉運算、膨脹腐蝕[4]進行處理來進一步消除邊緣區(qū)域的大部分噪聲點,從而達到了提高車牌定位效率的目的(見圖1、圖2)。
粗略定位
在車輛圖像中,車牌的邊緣區(qū)域會出現(xiàn)豐富的特征:①車牌區(qū)域為矩形,物體的面積固定一個范圍值;②車牌上有固定的字符,呈水平排列;③車牌矩形在長寬比上有固定的范圍值,存在一個最大值和最小值。
根據(jù)車牌區(qū)域的特征信息,對車牌提取的像素邊緣檢測先做一個初步定位,圖3為車牌可能出現(xiàn)的區(qū)域范圍。
準確定位
在對車牌圖像進行粗略定位后,可進一步地進行精確定位。我國車牌的顏色是固定的,包括了:黃色、綠色、藍色、黑色和白色,在這特征上可以在粗略定位中找到車牌準確的位置。
圖像校正
車牌進行了準確定位后,將會得到一個車牌圖像,但如果遇到不良的拍攝角度抓取到圖像,得到的車牌圖像可能存在不是矩形,不利于后續(xù)對車牌識別的字符提取和分割識別。主要利用輪廓提取技術、霍夫變換知識和ROI感興趣區(qū)域知識進行圖像轉(zhuǎn)正,方便后續(xù)的字符識別,圖4利用的是感興趣區(qū)域提取。代碼如下:
def carplate_extract(image):
carplate_rects
=carplate_haar_casscade.detectMultiScale(image,scaleFactor=1.1,minNeighbors=5)
for x,y,w,h in carplate_rects:
carplate_img = image[y+15:y+h-10,x+15:x+w-20]
return carplate_img
車牌字符分割、識別
字符分割
中國車牌號一共有固定的七位字符,第一位是代表車戶口所在的省級行政區(qū);第二位是英文字母代表戶口所在的地級行政區(qū)的字母代碼。車牌編號字符位數(shù)是5位,由英文字母和阿拉伯數(shù)字組成。
這里將得到的車牌圖像區(qū)域進行二值化處理后再進行了形態(tài)學處理,方便字符識別。本文主要運用的是垂直投影區(qū)域來對車牌進行分割識別,根據(jù)字符的統(tǒng)一性,可確定車牌的7個字符寬度的閾值范圍。
字符識別
整個車牌識別系統(tǒng)中字符識別是最后一步,主要的工作是將分割好的字符圖像進行匹配識別轉(zhuǎn)化成文字字符。車牌識別算法一共有三種:(1)支持向量機(SVM),這個方法所涉及的數(shù)學知識和原理比較復雜,有一定的難度,所以一般可以直接調(diào)用現(xiàn)有的工具箱進行匹配。(2)神經(jīng)網(wǎng)絡,可分為兩種:一個是生物神經(jīng)網(wǎng)絡,它是一種模仿動物的神經(jīng)網(wǎng)絡作為特征,進行信息處理的一種算法模型,通過了內(nèi)部節(jié)點的相互連接,達到了處理信息的目的。第二個則是人工神經(jīng)網(wǎng)絡。(3)模塊匹配:這是一種比較基礎的匹配方法,這個方法的原理是在含有標準字符模板塊里進行匹配,這個算法對車牌字符圖像要求比較高,需要清晰干凈校正的車牌才能夠識別。識別效果如圖5、圖6所示。
OCR文字識別
OCR這個技術主要分為六個步驟:(1)圖像采集:捕獲和存儲圖像;(2)預處理:將圖像經(jīng)過預處理產(chǎn)生更好的圖像識別效果;(3)分割:將圖像內(nèi)的文字符號進行分割;(4)特征提?。狠斎氲臄?shù)據(jù)具有可識別的基本特征,將每個字符歸類;(5)訓練神經(jīng)網(wǎng)絡:提取了特征后,就可以將它們提取到神經(jīng)網(wǎng)絡訓練識別字符;(6)后處理:進行細化,修正。利用OCR文字識別技術將車牌圖像中的文字符號提取出來可以進行復制粘貼,方便人們查詢車牌,識別出來的字符串將出現(xiàn)在Pycharm里。
相比于4.2的字符識別,OCR文字識別技術識別出來的文字可自動寫入數(shù)據(jù)庫保存數(shù)據(jù)(如圖7所示)。
總結
針對一些交通現(xiàn)象,結合了“OpenCV圖像處理和OCR文字識別技術”完成了一個車牌識別系統(tǒng),這個系統(tǒng)減輕了人工的壓力。其中主要包括將圖像進行預處理、車牌定位、字符提取識別、文字輸出,同時加入了OCR文字識別技術,方便識別后對數(shù)據(jù)進行保存。經(jīng)過了大量的實驗,證明了此技術具有較高的正確識別率,一些交通的秩序和城市的環(huán)境都能夠受益,避免一些不必要的事故發(fā)生。
參考文獻:
[1]袁程,曹愛青.基于自適應卷積神經(jīng)網(wǎng)絡的普通場景車牌識別[J].信息與電腦(理論版),2021,33(02):156-158.
[2]楊人豪,任斌.基于顏色特征和邊緣檢測的車牌識別算法[J].工業(yè)控制計算機,2021,34(04):100-103.
[3]聶文都,蔡錦凡.基于OpenCV與SVM的車牌識別方法[J].計算機與數(shù)字工程,2021,49(06):1244-1247,1268.
[4]楊新年,蘇暢,高冠福,等.一種車牌檢測與識別系統(tǒng)的設計與實現(xiàn)[J].物聯(lián)網(wǎng)技術,2021,11(04):15-16,19.
[5]張延年,米洪.車牌識別中人工智能技術的應用[J].福建電腦,2021,37(03):65-66.
[6]陶星珍,李康順,劉玥.基于深度學習模型LeNet-5-L的車牌識別算法[J].計算機測量與控制,2021,29(06):181-187.
[7]劉超,宋丹丹,苗瑾超.基于MATLAB的車牌識別系統(tǒng)設計[J].電腦知識與技術,2019,15(01):198-199.
[8]王陽,李振東,楊觀賜.基于深度學習的OCR文字識別在銀行業(yè)的應用研究[J].計算機應用研究,2020,37(S2):375-379.
本文受到深圳技師學院校級創(chuàng)客基金項目“基于物聯(lián)網(wǎng)NB-iot的墨水屏項目”支持。
作者簡介:吳曉華(2003—),女,廣東揭陽,學生,本科在讀生,主要研究方向為通信網(wǎng)絡應用;付相祥(1999—),男,四川達州,學生,本科在讀生,主要研究方向為電子信息工程;楊思怡(2003—),女,廣東揭陽,學生,本科在讀生,主要研究方向為通信網(wǎng)絡應用;夏清(1978—),女,教師,研究生,高級工程師。研究方向:物聯(lián)網(wǎng)、人工智能,為本文的通訊作者。