基于Python+OpenCV的車牌識別技術(shù)的研究_第1頁
基于Python+OpenCV的車牌識別技術(shù)的研究_第2頁
基于Python+OpenCV的車牌識別技術(shù)的研究_第3頁
基于Python+OpenCV的車牌識別技術(shù)的研究_第4頁
基于Python+OpenCV的車牌識別技術(shù)的研究_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 基于Python+OpenCV的車牌識別技術(shù)的研究 李曉莎林森Summary:通過Python開發(fā)平臺和OpenCV機器視覺庫等技術(shù)對牌照識別進行研究,旨在尋求更為快捷有效的算法。本系統(tǒng)的總體框架分為圖像預(yù)處理、車牌定位、字符分割和訓(xùn)練識別等核心模塊。實驗結(jié)果表明該系統(tǒng)具有良好的時效性和識別效果。Key:Python;OpenCV;圖像預(yù)處理;字符分割;訓(xùn)練識別:U491 :A :1007-9416(2019)06-0095-030 引言智能交通系統(tǒng)(ITS)是將先進的數(shù)據(jù)通信、電子控制及人工智能等科技綜合運用于整個交通運輸管理體系,使人一車一路有機結(jié)合起來,從而構(gòu)建起一種全方位發(fā)揮作用的精

2、準(zhǔn)高效便捷的綜合運輸系統(tǒng)。本文介紹了圖像預(yù)處理、牌照定位、字符分割及字符識別四個模塊的原理算法,展示本系統(tǒng)的實現(xiàn)效果,旨在尋求更為快捷有效的算法運用于牌照識別。1 圖像預(yù)處理1.1 高斯濾波本文采用高斯濾波對原始圖像進行降噪處理。高斯濾波方法是使用卷積模板遍歷圖像中的每個像素點,將鄰域內(nèi)像素點被模板確定的高斯加權(quán)平均灰度值替換模板中心像素點的值。二維零均值高斯函數(shù)表達式為: (1)OpenCV提供了函數(shù)cv2.GaussianBlur(img,(3,3),0)對圖形進行高斯濾波,這里(3,3)表示高斯矩陣的長與寬都為3,標(biāo)準(zhǔn)差取0時,OpenCV會根據(jù)高斯矩陣的尺寸自行計算。如圖1所示為高斯濾

3、波效果圖。1.2 灰度化彩色圖片包含了大量的顏色信息,占用較多的存儲空間。為了提高識別效率,需要對圖片進行預(yù)處理。在RGB模型中,若三分量等值時,則顏色呈現(xiàn)為灰度顏色,其灰度值為R=G=B的像素值。目前主流的灰度化方法是加權(quán)平均法1,將三分量以不同權(quán)值進行加權(quán)平均,即: (2)其中,分別是讀取RGB的三個通道的分量值。OpenCV提供了函數(shù)cv2.cvtColor(img,cv2.COLOR_ BGR2GRAY)對圖形進行灰度化處理,處理后的灰度效果如圖2所示。1.3 形態(tài)學(xué)處理數(shù)學(xué)形態(tài)學(xué)的基本思想是使用某個結(jié)構(gòu)元素去度量和提取圖像中的對應(yīng)形狀。結(jié)構(gòu)元素指具有某種確定形狀的基本結(jié)構(gòu),結(jié)構(gòu)元素的

4、原點在其幾何中心處,周圍像素關(guān)于原點對稱2。2 牌照定位和分割2.1 邊緣檢測邊緣檢測的目的是標(biāo)識數(shù)字圖像中亮度變化最明顯的像素點,剔除了自認(rèn)為不相關(guān)的像素信息,保持圖像原本的結(jié)構(gòu)屬性。本文采用Canny算子進行邊緣檢測。Canny算子是一種多級檢測算法3,被公認(rèn)為邊緣檢測的最優(yōu)算法,它不容易受噪聲干擾,能夠檢測到真正的弱邊緣。OpenCV提供了Canny函數(shù),指定最大和最小閾值為cv2.Canny (img,100,200)。2.2 輪廓提取本文調(diào)用OpenCV函數(shù)cv2.findContours(img, cv2.RETR_ TREE, cv2.CHAIN_APPR-OX_SIMPLE)

5、查找所有封閉區(qū)域的外輪廓。cv2.findContours()函數(shù)返回的輪廓坐標(biāo)值保存在countours集合對象當(dāng)中,然后調(diào)用函數(shù)cv2.contourArea()計算輪廓面積,以及函數(shù)cv2.minAreaRect()獲取矩形輪廓的中心坐標(biāo)、寬度、高度、旋轉(zhuǎn)角度,并根據(jù)預(yù)設(shè)區(qū)域面積及縱橫比判別候選區(qū)域。依據(jù)所測試圖片的紋理特征作為先驗知識,設(shè)定牌照區(qū)域的長寬比范圍在2到5.5之間,同時設(shè)置牌照區(qū)域允許最大面積為2000像素,經(jīng)判斷對比排除不在理想范圍內(nèi)的連通區(qū)域。使用函數(shù)cv2.drawContours(img,box,-1,(0,0,255),thickness=2)進行輪廓的顏色填充,

6、查看全部候選輪廓提取效果如圖3所示。2.3 傾斜矯正基于仿射變換的傾斜矯正能夠保持二維圖形的平行性及平直性。仿射變換代表的是兩幅圖之間的映射關(guān)系,通常使用23矩陣來表示仿射變換,算法公式如下:式中,分別表示待轉(zhuǎn)換和轉(zhuǎn)換后的坐標(biāo),為仿射變換矩陣。OpenCV提供了仿射變換方法cv2.getAffineTransform(pos1,pos2),根據(jù)變換前后三個點的對應(yīng)關(guān)系來自動求解仿射矩陣,然后使用函數(shù)cv2.warpAffine(img,M,(pic_width, pic_hight)將原有圖像旋轉(zhuǎn)變換,達到傾斜矯正的目的。2.4 顏色定位在OpenCV中由RGB轉(zhuǎn)換到HSV的過程中,圖像以8位

7、三通道的形式保存,每個顏色分量占用8位,值的范圍為0255,所以O(shè)penCV將H值的范圍縮小了一半,變?yōu)?180。根據(jù)資料和實驗數(shù)據(jù),獲取OpenCV庫中HSV空間的藍黃綠色域值,作為辨別有色牌照的定位依據(jù)。具體色域值如表1所示。2.5 字符分割與識別2.5.1 字符提取分割(1)水平投影分析:對二值化圖像作水平投影分析,是從獲取的投影直方圖上計算出每個牌照上字符的開始(上升點)、結(jié)束(下降點)位置、字符高度(峰寬度)、字符上下邊框位置等參數(shù)。(2)垂直投影分析:本文所選取的垂直投影的最佳閾值是該方向投影直方圖的平均值和最小值的五分之一。利用閾值分割出各個字符區(qū)域,其中包括左右邊框、字符分割點

8、和固定車牌的鉚釘。通過對比寬度大小,一一排除無效干擾區(qū)域。切割后的車牌字符圖像如圖4所示。2.5.2 字符歸一化本文調(diào)用函數(shù)cv2.copyMakeBorder(part_card,0,0,w,w, cv2.BORDER_CONSTANT,value=0,0,0),給各字符填充左右方向上的黑色邊緣,長度為原字符寬度減去標(biāo)準(zhǔn)尺寸的絕對值的一半,然后使用cv2.resize()函數(shù)將字符圖像統(tǒng)一尺寸大小,以便在訓(xùn)練識別時提高效率和精度。字符歸一化處理如圖5所示。2.5.3 字符特征提取(1)Gamma校正:本文采用平方根的方式進行Gamma標(biāo)準(zhǔn)化。Gamma校正公式為: (5)(2)計算圖像梯度:

9、該步驟主要是為了進一步減弱噪聲干擾,獲取輪廓像素信息。梯度計算公式如下:(6)(7)式中,分別為像素點的水平梯度、垂直梯度及像素值。本文利用Sobel算子對字符圖像進行模板卷積,由以下公式計算得到每個像素點處的梯度方向和幅值。水平邊緣算子為,垂直邊緣算子為。(8)(9)其中,為梯度強度,為梯度方向。(3)統(tǒng)計梯度方向投影:本文將每個字符圖像劃分成四個子圖方塊,對于每個子圖計算梯度方向直方圖,并將該直方圖轉(zhuǎn)換成極坐標(biāo)量化到圓上,根據(jù)需要分割成16個bins(每組的角度范圍為360/bins),即整個直方圖包含16維特征向量。然后計算加權(quán)其幅度的方向直方圖(16bins)。因此,每個子圖就會提供一

10、個包含16維數(shù)的特征向量,如圖6所示。2.5.4 SVM算法支持向量機(Support Vector Machine, SVM)是一種訓(xùn)練機器學(xué)習(xí)的二分類模型,其決策邊界是對學(xué)習(xí)樣本求解的最大邊距超平面。本文構(gòu)建字符分類器采用高斯核來訓(xùn)練機器學(xué)習(xí),高斯核函數(shù)的計算公式為:(10)選用高斯核訓(xùn)練時,須要指定的參數(shù)。無論使用哪種核函數(shù),訓(xùn)練時都要指定一個正實數(shù)的懲罰因子。預(yù)測時的分類判別函數(shù)為:(11)(12)其中,為超平面的法向量,為分類函數(shù)在軸的截距,sgn為符號函數(shù)。2.5.5 字符識別為了降低計算量,本文采用一對多分類器,即65種樣本類別的任意一種與其他64種構(gòu)成二分類器,即只需構(gòu)造65個

11、二分類器,其中針對漢字分類器31個,針對數(shù)字與英文字母混合分類器34個。訓(xùn)練分類器之前,需要對每個字符樣本提取特征數(shù)據(jù),將樣本的特征參數(shù)保存到相應(yīng)的.dat文件。針對切割好的字符圖像,相繼提取分類器所需要的特征參數(shù),按照字符排列順序逐個代入分類函數(shù)式中,計算后即可獲得相應(yīng)預(yù)測值。字符牌照識別效果如圖7-圖9所示。3 結(jié)語車牌識別系統(tǒng)是現(xiàn)代智能交通工程領(lǐng)域中研究的重點問題之一,對車輛的自動化管理起到了關(guān)鍵作用。本文對于圖像預(yù)處理、牌照定位、字符分割以及字符訓(xùn)練識別過程進行了闡述研究,從而在系統(tǒng)測試時力爭達到預(yù)期可觀的顯著效果。Reference1 夏澤舉,董蘭芳.彩色灰度交叉融合的彩色圖像漸變技

12、術(shù)J.計算機仿真,2010,27(12):245-249.2 崔屹.圖象處理與分析:數(shù)學(xué)形態(tài)學(xué)方法及應(yīng)用M.科學(xué)出版社,2000.3 王文豪,姜明新,趙文東.基于Canny算子改進的邊緣檢測算法J.中國科技論文,2017,12(08):910-915.Research on License Plate Recognition Technology Based on Python+OpenCVLI Xiao-sha,LIN Sen(School of Fundamental Sciences, Shengli College China University of Petroleum, Dong

13、ying Shandong 257061)Abstract:This paper studies license plate recognition through Python development platform and OpenCV machine vision library, aiming at finding faster andmore efficient algorithms. The overall framework of the system is divided into core modules such as image preprocessing, license plate location, character segmentation and training recognition. The experimental results show thatthe system has good timeliness and recognition effect.Key words:P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論