車牌識別系統(tǒng)設(shè)計及MATLAB仿真_第1頁
車牌識別系統(tǒng)設(shè)計及MATLAB仿真_第2頁
車牌識別系統(tǒng)設(shè)計及MATLAB仿真_第3頁
車牌識別系統(tǒng)設(shè)計及MATLAB仿真_第4頁
車牌識別系統(tǒng)設(shè)計及MATLAB仿真_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 鄭州工業(yè)應(yīng)用技術(shù)學(xué)院本科生畢業(yè)設(shè)計論文題 目: 汽車牌照識別系統(tǒng)的設(shè)計與仿真 指導(dǎo)教師: 于俊如 職稱: 副教授 學(xué)生姓名: 劉明麗 學(xué)號: 專 業(yè): 電氣工程及其自動化 院 (系): 機電工程學(xué)院 2015年3月27日公路車牌識別系統(tǒng)設(shè)計及MATLAB仿真摘 要近些年,作為智能交通的關(guān)鍵組成部分,車牌識別系統(tǒng)也受到越來越多國家的重視。車牌識別系統(tǒng)不僅能夠應(yīng)用到停車場的管理系統(tǒng)、高速公路的管理系統(tǒng)以及小區(qū)車輛管理的系統(tǒng)等一些智能領(lǐng)域,而且對未來國家的安全發(fā)展有有重大的意義。本文在對當(dāng)前車牌識別系統(tǒng)學(xué)習(xí)的基礎(chǔ)上開發(fā)一個基于MATLAB的車牌識別系統(tǒng)。整個測試平臺的軟件

2、部分利用MATLAB的M語言編寫。其中圖像處理用到MATLAB灰度圖函數(shù)rgb2gray、基于Robert算子的函數(shù)edge及圖像平滑處理函數(shù)imclose;圖像分割進行了圖像膨脹、圖像腐蝕;然后用垂直投影法進行字符分割;最后字符經(jīng)過歸一化,進行字符的匹配識別,最終實現(xiàn)了仿真。關(guān)鍵詞:MATLAB;字圖像處理;牌識別系統(tǒng)Plate License Recognition System Design in Highway and Matlab SimulatAbstractIn recent years,as the important part of the intelligent trans

3、portation,plate license recognition system has got more attention in more and more countriesThe system can not only be application to management system of parking area,management system of highway and district vehicle management system and such as intelligence.This paper develops a plate license rec

4、ognition system based on Matlab on my study of the existing license plate recognition systemThe software part of the test platform is made by M language of MatlabAnd image processing takes use of Greyscale image function rgb2gray,functtion edge based on Roberts ,iamge Smoothing function imcloseImage

5、 segmentation processes image dilation and image erosion;then uses vertical projection achieve character segmentation;at last,character after normalization, matching recognition of the characters,and complete the simulationKey words:MATLAB;Digital image processing;Plate recognition system目 錄專心-專注-專業(yè)

6、第一章 緒論1.1國內(nèi)外車牌識別技術(shù)現(xiàn)狀隨著經(jīng)濟社會的迅速發(fā)展,人們生活水平的提高,機動車輛的數(shù)量也越來越多。為了提高車輛的管理效率,緩解交通壓力,我們必須找到一種解決方案。而作為汽車“身份證”的車牌是確定汽車身份的不二選擇。早在上世紀(jì)的70年代,英國能夠就在實驗室完成了“實時車牌檢測系統(tǒng)”的廣域檢測及開發(fā)。發(fā)展到如今,國外對車牌檢測技術(shù)的研究已經(jīng)取得了一些引人注目的成果。如Yuntao Cui1提出的一種車牌識別系統(tǒng),在實現(xiàn)車牌定位之后,通過馬爾科夫場來完成車牌特征的提取和二值化,其正確識別率達到了比較高的水平。Eun Ryung等2利用顏色中的分量,進行車牌的識別,他們提到了三種方法:第一

7、,利用Hough來實現(xiàn)邊緣檢測定位識別;第二,利用灰度值變換的車牌識別算法;第三,利用HLS彩色模式開發(fā)的車牌識別系統(tǒng)。由于開始這方面研究的時間較早,日本在車牌圖像的獲取方面也進行了大量的研究。Luis3開發(fā)的車牌識別系統(tǒng)已經(jīng)應(yīng)用于公路收費站,一般天氣下識別率高達90%以上,即使天氣情況不好,其正確識別率也在70%以上。1990年,美國智慧交通學(xué)會 CITS America 首次提出智能交通系統(tǒng)(ITS)的概念。如今,在發(fā)達國家的一些大城市,智能交通系統(tǒng)已經(jīng)廣泛運用到收費站和高速公路系統(tǒng)。車牌識別系統(tǒng)集攝像、計算機信息處理、圖像處理和圖形識別技術(shù)于一體,成為智能交通管理系統(tǒng)中關(guān)鍵組成部分。車牌

8、識別系統(tǒng)在車輛管理及交通安全管理中都具有很重要的意義。車牌自動識別技術(shù)在車輛過路、過橋全自動不停車收費、交通流量控制指標(biāo)的測量、車輛的自動識別、高速公路上的事故自動測報、不停車檢查、車輛的定位、汽車的防盜、稽查和追蹤車輛違規(guī)、違法行為、維護交通和城市治安、防止交通堵塞、提高收費路橋的服務(wù)速度、緩解交通緊張狀況等方面將會起到積極的作用。盡管我國在車牌識別系統(tǒng)領(lǐng)域的研究起步相對較晚,但隨著智慧交通技術(shù)在全世界的興起,我國在智慧交通也取得了一些成就,技術(shù)也慢慢步入了應(yīng)用的階段。與此同時,我國對智慧交通技術(shù)的研究投入了大量的精力,使智能交通技術(shù)的研究步入了快速發(fā)展期。其中,中科院自動化所的劉志勇等4開

9、發(fā)的系統(tǒng)在總量達到3180的一個樣本集中,使車牌正確定位的概率高達99.42%,而其正確切分的概率也達到了94.52%。后來,漢王公司采用這套系統(tǒng)作為車牌識別系統(tǒng),取得了相當(dāng)好的效果。還有南京大學(xué)的熊軍等5提出了一種建立在字符紋理特征之上的新定位算法,其準(zhǔn)確率有95%。此外,華中科技大學(xué)的陳振學(xué)等6提出一種新穎的用于車牌圖像中進行字符分割與字符識別的算法,通過一維循環(huán)清零法,再對垂直投影圖進行掃描,能夠有效的清除雜點和間隔符,其正確率高達96.8%。另外,浙江大學(xué)的張引、潘云鶴等7提出了彩色邊緣操作數(shù)ColorPrewitt及彩色邊緣檢測和區(qū)域生長相結(jié)合的一種拍照定位算法ColorLP,不僅算

10、法簡單,而且能夠全面作用于色彩空間的三個分量上,還能使檢測出的牌照區(qū)域與背景的剝離更加容易。但由于其計算量和存儲量都較大,難以達到實時性的要求。此外,當(dāng)車輛區(qū)域的顏色與附近比較接近時,定位的失誤率會增加。當(dāng)前,全球許多國家都在大力發(fā)展適用于本國汽車牌照的車牌識別系統(tǒng)研究,美、日、韓等經(jīng)濟發(fā)達的國家已有相關(guān)系統(tǒng)(基于傳感器的)問世??紤]到引進這些系統(tǒng)不僅費用比較高,而且由于各國車牌和實際的交通情況不同,引進的系統(tǒng)通常無法滿足我國城市的要求。雖然我國市場上已出現(xiàn)了相關(guān)的產(chǎn)品開始使用,但是其在后續(xù)的處理上依然很大程度需要人工的幫助,因此對車牌識別系統(tǒng)的研發(fā)不僅當(dāng)前而且在將來一段時間都會處在高科技科研

11、的最熱門領(lǐng)域。因為能夠完成車牌識別系統(tǒng)的開發(fā)設(shè)計而應(yīng)用到實際生活中,不僅具有相當(dāng)重大的學(xué)術(shù)意義,還有十分積極的社會和經(jīng)濟效益見文獻8。1.2程研究的目的車牌識別技術(shù)是建立在圖像處理、圖像識別、計算機等技術(shù)的基礎(chǔ)上的智能識別系統(tǒng),它基于每一個汽車只有唯一的車牌號碼的特征,通過對攝像機拍攝的車輛圖像的處理進行車牌號碼的識別。在不對汽車造成影響的情況下利用計算機自動實現(xiàn)車牌的識別,進而大大降低交通管理工作的難度。同時本設(shè)計的高速公路車牌識別系統(tǒng)基于MATLAB應(yīng)用軟件的基本知識和相關(guān)程序設(shè)計方法,通過解決實際應(yīng)用問題,來進一步加深對理論知識的掌握,并把所掌握的知識系統(tǒng)、高效的運用到實踐中來,把理論與

12、實踐的相結(jié)合,加深對知識的理解。同時增強獨立編程的能力,并在實踐中不斷發(fā)現(xiàn)問題解決問題,完善理論基礎(chǔ),提高自己的綜合能力。1.3MATLAB簡介MATLAB 是美國MathWorks公司的產(chǎn)品,是用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB其實是矩陣實驗室(Matrix Laboratory)的簡稱,與、并稱為數(shù)學(xué)的三大軟件。MATLAB無論在數(shù)學(xué)類的科技應(yīng)用軟件中,還是在方面都首屈一指。MATLAB也可以實現(xiàn)的運算、函數(shù)的繪制以及實現(xiàn)算法、用戶接口的創(chuàng)建、與其它編程語言程序的連接等,主要應(yīng)用在工程計

13、算、自動控制、信號處理、金融建模的設(shè)計和分析等領(lǐng)域。MATLAB中基本的數(shù)據(jù)單位是矩陣,由于它的指令表達式和數(shù)學(xué)、工程中常用的形式非常的相似,因此采用MATLAB來解覺問題要比采用C,F(xiàn)ORT等語言解決相同的問題要簡捷得多,而且mathwork也擁有Maple等軟件的優(yōu)點,這使MATLAB成為了一個功能強大的數(shù)學(xué)軟件。在新版本的MATLAB中也增加了對,的支持。用戶不僅可以直接調(diào)用,還可以把自己編好的程序?qū)氲組ATLAB函數(shù)庫中以便于自己以后的調(diào)用,重多的MATLAB愛好者編寫了許多經(jīng)典的程序,一般的用戶下載后,就可以直接進行使用。在20世紀(jì)的70年代,美國新墨西哥大學(xué)的計算機科學(xué)系主任Cl

14、eve Moler出于減輕學(xué)生編程的負擔(dān)的目的,利用FORTRAN編寫了世界上最早的MATLAB。到了1984年,Little、Moler、Steve Bangert共同成立的MathWorks公司正式開始把MATLAB推向了市場。到了20世紀(jì)的90年代,MATLAB已成為了國際上控制界中的標(biāo)準(zhǔn)計算機軟件。1.3.1MATLAB的特點1. MATLAB以及符號計算能力,能幫用戶把復(fù)雜的運算及分析簡化了許多;2.完整的圖形處理功能,可以讓計算結(jié)果和編程實現(xiàn)可視化;3.的用戶接口加上與接近的自然化語言,便于使用者的學(xué)習(xí)和掌握;4.功能豐富的應(yīng)用工具箱(例如信號處理工具箱及通信工具箱) ,為用戶提供

15、了許多實用且方便的處理工具。1.3.2MATLAB的優(yōu)勢1.編程環(huán)境MATLAB由一系列的工具構(gòu)成。這些工具為用戶使用MATLAB的和檔提供了很大的便利,其中很多的工具是圖形用戶接口方式,其中包括MATLAB桌面及命令窗口、歷史命令窗口、編輯器、調(diào)試器、路徑搜索和用于用戶瀏覽幫助、瀏覽文件的瀏覽器。而且,伴隨著MATLAB的商業(yè)化和軟件本身的不斷更新升級,MATLAB中的用戶接口已經(jīng)非常精致了,越來越接近Windows的標(biāo)準(zhǔn)接口,不僅增強了人機之間的交互性,也進一步簡化了操作。同時新版本的MATLAB還提供有一套完整的聯(lián)機查詢及幫助的系統(tǒng)功能,為用戶的使用帶來了極大的便利。盡管其編程環(huán)境簡潔,

16、但其調(diào)試系統(tǒng)卻相當(dāng)?shù)耐暾咕幒玫某绦虿恍枰ㄟ^編譯就可以進行運行,并且能夠在及時地顯示出錯誤同時還能對出錯的原因進行分析。2.簡單易用MATLAB是一種高級/數(shù)組語言,它控制語句、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出以及面向?qū)ο缶幊痰奶攸c。而且用戶能夠在命令窗口中實現(xiàn)輸入命令和執(zhí)行語句同步聯(lián)系起來,還能與預(yù)先編好的應(yīng)用程序(M文件)一起運行。最新的MATLAB語言是以目前非常流行的C+語言為基礎(chǔ),因此其語法特征和C+十分的相似,同時卻更加簡單,也更加接近科研人員學(xué)公式的書寫格式,讓其對不是來自計算機專業(yè)的科研人員來說使用也更加容易。并且這種語言具有相當(dāng)不錯的可移植性、極強的可拓展性的特點,這也是為什么MAT

17、LAB可以深入應(yīng)用到科學(xué)研究和工程計算等相關(guān)的關(guān)鍵。3.強處理能力MATLAB集合了大量的計算。其包含了幾百個工程計算中有可能被會用到的運算,能夠方便幫用戶實現(xiàn)所需要的各種運算功能。MATLAB中包含的,其所采用的都是基于研究與工程計算領(lǐng)域的最新的研究成果,而且還對其進行了相關(guān)的優(yōu)化處理。在一般情況下,利用它來替代一些底層編程語言,如C或C+ 是可行的。在同樣的計算要求下,使用MATLAB編程,能夠大大減少工作量。MATLAB里面的集包括從最簡單最基本的函數(shù)到諸如,特征、快速等復(fù)雜函數(shù)。所能解決的問題大致包括運算和方程組的求解、方程及偏的組的求解、符號運算、和數(shù)據(jù)的分析、工程中的優(yōu)化問題、運算

18、、的各種運算、和其它初等運算、多維數(shù)組操作以及動態(tài)仿真等。4.圖形處理MATLAB的可視化功能子從一開始的出現(xiàn)就已具備,可以把向量與用以圖形的形式表現(xiàn)出來,而且能夠?qū)D形進行標(biāo)記注釋與打印。層次較高的作圖包括對圖像的處理以及動畫和表達式的作圖等。MAYLAB也可用于數(shù)學(xué)計算與工程制圖。版本較新的MATLAB對圖形處理的功能作了十分巨大的完善,不僅在一般數(shù)據(jù)的可視化軟件都具有的功能方面更加完善,而且在一些別的軟件所不具備的功能的方面,MATLAB所具有的能力也相當(dāng)出色。另外,對某些特別的可視化需求, MATLAB也包含有相對應(yīng)的能夠達到要求,滿足了不同用戶的不同需求。此外, MATLAB新版本的

19、開發(fā)還重點在圖形用戶接口(GUI)的制作上做了非常大的改進,在這方面有要求較高的用戶也能夠得到滿足。MATLAB針對許多特殊的都研發(fā)了功能相當(dāng)完備的模塊集與工具箱。通常,這些工具與模塊都是由相應(yīng)的專家研發(fā)出來的,用戶能夠直接利用工具箱進行學(xué)習(xí)、運用以及對不同的方法進行評估卻而不用自己去寫程序代碼。當(dāng)前情況,MATLAB已經(jīng)將工具箱的應(yīng)用延伸到了科學(xué)研究與工程學(xué)中的很多,例如數(shù)據(jù)采集、數(shù)據(jù)庫接口、樣條擬合、的優(yōu)化、的求解、信號處理、系統(tǒng)辨識、控制系統(tǒng)設(shè)計、LMI控制、魯棒控制、模型預(yù)測、模糊邏輯、金融分析、地圖工具、非控制設(shè)計、實時快速原型及半仿真、嵌入式系統(tǒng)開發(fā)、定點仿真、DSP與通訊、電力系

20、統(tǒng)的仿真等,都在MATLAB的工具箱(Toolbox)中占據(jù)了一席之地。5.程序接口版本較新的MATLAB能夠通過MATLAB中的編譯器與C/C+中的與圖形庫,把MATLAB程序自行轉(zhuǎn)換成獨立于MATLAB之外的C/C+程序的來運行。同時,還能夠?qū)崿F(xiàn)讓用戶以C/C+語言編寫的程序與MATLAB進行交互。此外,MATLAB的網(wǎng)頁服務(wù)程序還允許在Web應(yīng)用中運用自己的MATLAB與圖形程序。MATLAB具有的另外一個特點就是擁有一個程序的擴展系統(tǒng)與一個被叫做工具箱的用于特別應(yīng)用的子程序集。工具箱其實是MATLAB的子程序庫,任意一個工具箱都是為了某一類學(xué)科的專業(yè)及應(yīng)用而制定的,主要包括信號處理、控

21、制系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、小波分析以及系統(tǒng)仿真等方面的應(yīng)用。6.應(yīng)用軟件開發(fā)在開發(fā)的環(huán)境中,使用戶能夠更方便地控制多個文件及圖形窗口;在編程方面支持嵌套和有條件的中斷等;在圖形化方面,擁有更強大的圖形標(biāo)注與圖形處理功能,包括注釋等;在輸入和輸出方面,能夠直接與和HDF5進行連接。第二章 設(shè)計原理及系統(tǒng)概述2.1設(shè)計原理車牌識別系統(tǒng)的設(shè)計是一項利用車輛的動態(tài)視頻或者靜態(tài)圖像實現(xiàn)牌照區(qū)域定位車牌號碼識別的技術(shù)。其硬件部分通常包括觸發(fā)設(shè)備、拍攝設(shè)備、照明設(shè)備、圖像收集設(shè)備、進行車牌號碼識別的處理器等,其軟件的關(guān)鍵部分包含車牌區(qū)域定位的算法、車牌字符的分割算法和車牌字符的識別算法等相關(guān)的算法。一些車牌識別系統(tǒng)

22、還具備借助視頻圖像來對車輛是否駛?cè)胍曇皽?zhǔn)確判斷的功能,被稱作車輛的視頻檢測。當(dāng)車輛的視頻檢測部分確定車輛到達檢測區(qū)域時觸動圖像采集部分,進行圖像的采集。牌照識別部分首先對圖像進行一些處理,接著定位出車牌區(qū)域,再將牌照圖像中的字符一一分割出來進行識別,最后所有的字符組成車牌號碼輸出。2.2系統(tǒng)概述圖2.1 車牌識別系統(tǒng)示意圖2.2.1圖像獲取在圖像獲取部分中,我們利用在道路兩側(cè)安裝的高分辨率攝像機對來往的車輛實施抓拍,然后把經(jīng)過圖像采集器得到的圖像并構(gòu)成一個圖像數(shù)據(jù)組儲存在計算機的存儲空間中,此時儲存在計算機中的圖像為彩色圖像。2.2.2圖像處理1.灰度轉(zhuǎn)化由于在計算機存儲設(shè)備中得到的為彩色圖像

23、,因為色彩的種類比較多,不利于對圖像處理,因此我們通過把彩色圖像轉(zhuǎn)換為灰度圖像方便下一步的處理。我國車牌顏色及其RGB值如下,藍底(0,0,255)白字(255,255,255)、黃底(255,255,0)黑字(0,0,0)、黑底(0,0,0)白字(255,255,255)、紅底(255,0,0)黑字(0,0,0),因為車牌的底色不同,所以從RGB圖像中直接對車牌區(qū)域進行提取難度相當(dāng)大。但是無論底色是哪種,車牌的底色與上面的字符顏色的對比度都比較大,將RGB圖像轉(zhuǎn)化為灰度圖像時,車牌底色的灰度值跟字符的灰度值會相差很大。例如藍色(255,0,0)與白色(255,255,255)在R通道中并無區(qū)

24、別,但在G、R 通道或者是灰度圖象中數(shù)值相差非常大。同樣的道理對白底黑字的牌照可用R 通道,綠底白字的牌照可以用G 通道就能明顯顯示出牌照區(qū)域的位置,以便于后續(xù)的處理。原圖、灰度對于將彩色圖象轉(zhuǎn)換成灰度圖象時,圖象的灰度值H可由下面的公式計算: 公式(2.1)上式采用了權(quán)值加重法,也就是MATLAB內(nèi)的RGB轉(zhuǎn)灰度圖函數(shù)rgb2gray()。2.圖像邊緣檢測在MATLAB中使用函數(shù)edge()實現(xiàn)邊緣檢測,具體的用法如下所示:Car_Image_Bin=edge(Car_Image_Gray,robert,0.08,both);edge()函數(shù)擁有Prewitt算子, Log算子,Canny算

25、子,Sobel算子及Robert算子,幾種算法相比之下,Robert算子是使用起來最容易的算子見文獻9。Robert算子是一種通過局部差分來尋找邊緣的算子,它采用對角線方向相鄰兩像素之差近似梯度幅值檢測邊緣。其檢測垂直邊緣的效果優(yōu)于斜向邊緣,不僅定位精度更高,而且對噪聲也更敏感。因此本設(shè)計使用Robert算子。因為Robert邊緣檢測算子是一種利用局部的差分來尋找邊緣的算子, 根據(jù)任一相互垂直方向上的差分都可用來估計梯度,Robert算子采用對角方向相鄰兩像素之差,其計算公式如下: 公式(2.2) 公式(2.3)其增幅值為: 公式(2.4)Robert梯度是以(x-0.5,y-0.5)為中心,

26、度量(x-0.5,y-0.5)點處45°和135°方向(相互正交)的灰度變化。取一個適當(dāng)?shù)拈T限T,進行如下判斷: G(x,y)fT,(x,y)為階躍狀邊緣。Robert邊緣檢測操作數(shù)也就相當(dāng)于用與對圖像做卷積分。3.灰度圖腐蝕所謂腐蝕其實就是消除邊界點,然后使邊界向內(nèi)部收縮的一個過程。利用它能夠消除小且無意義的物體。腐蝕的規(guī)則是輸出圖像的最小值是輸入圖像領(lǐng)域中的最小值,在一個二值圖像中,若有一個像素值為0,則相應(yīng)的輸出像素值也為0。假如設(shè)定B對X腐蝕所產(chǎn)生的二值圖像E是滿足以下條件的點(x,y)的集合:如果B的原點平移到點(x,y),那么B將完全包含于X中。本系統(tǒng)設(shè)計采用i

27、merode()函數(shù):Car_Image_Erode=imerode(Car_Image_Bin,Se);其中結(jié)構(gòu)元素Se被形象地稱為刷子,用于測試輸入圖像,通常比待處理圖像小很多。結(jié)構(gòu)元素的大小形狀是任意的,大多數(shù)情況下都是二維的。二維結(jié)構(gòu)元素是數(shù)值0和1構(gòu)成的矩陣,結(jié)構(gòu)元素的領(lǐng)域像素在進行腐蝕操作時是否需要參加運算是根據(jù)結(jié)構(gòu)元素中數(shù)值為是否為1。如果結(jié)構(gòu)元素太大,則會造成腐蝕過度,從而導(dǎo)致造成信息丟失,但是太小又不能達到預(yù)期的效果,所以這里采用3×1矩陣的線性結(jié)構(gòu)元素,即Se=1;1;1見文獻10。4.圖像平滑處理在得到車牌區(qū)域的圖像輪廓線之后,由于存在圖像的數(shù)字化誤差,加上噪聲

28、的影響,對腳點的提取造成影響,所以在腳點提取之前,必須首先對圖像進行平滑處理,這里用MATLAB里的一個圖像平滑處理函數(shù)imclose(),它的功能與開運算相反,用來融合窄的缺口及細長的彎口,去掉小洞和填補輪廓上出現(xiàn)的縫隙。函數(shù)imclose():Car_Image_Perform=imclose(Car_Image_Erode,Se);結(jié)構(gòu)單元中Se一個小于對象閉合圖形,若存在兩個封閉域的距離小于S那么就將這兩個域連接為一個連通域,采用Se=strel(rectangle40,20)的Se產(chǎn)生方式。Se是一個40×20的矩形,之所以使用矩形是因為車牌也是矩形的,這樣,能夠保證提取到

29、最接近預(yù)期效果的圖像見文獻11。2.2.3移除小對象圖像經(jīng)平滑處理之后,可能會有多個閉合區(qū)域存在,但是對于不是車牌區(qū)域的區(qū)域必須予以刪除,于是使用MATLAB里面包含的函數(shù)bwareaopen(),來刪除二值圖像中面積小于一個定值的對象,一般情況下使用8鄰域,函數(shù)bwareaopen():Car_Image_Perform2=bwareaopen(Car_Image_Perform,2000);通過上述函數(shù)的處理,Car_Image_Perform中面積小于2000的對象都被刪除了。2.2.4車牌區(qū)域邊界值計算對將原始圖像進行二值化及輪廓平滑處理后,圖像中的任何一個點都是兩個離散值中的一個,這

30、兩個值代表開(1)與關(guān)(0),即只有黑與白兩種顏色的特殊灰度圖像,而且整個圖像只存在兩個域(如果有多個域需的,在改變參數(shù)后,重新進行剔除干擾對象的處理),全為1的域既是車牌區(qū)域,而且與矩形相似,長寬約比為4.5:1,這兩個特性也能用來檢驗提取的區(qū)域是否為車牌區(qū)域。在區(qū)域確定了后,便可將車牌的四個邊界值給確定下來。這里采用的是水平與垂直雙向投影法。確定水平坐標(biāo):先定義一個1×的數(shù)組,其中設(shè)定為原始圖像的寬度,然后把二值圖像垂直投影到軸上。從直方圖上基本就能夠看出水平方向上的兩個分界線,為了方便處理,本設(shè)計將像素臨界值定量化,取值5個像素。從左向右開始,找到第一個1值像素大于5的坐標(biāo)作為

31、水平方向的左側(cè)分界線,然后從右向左,找找到第一個1值像素量大于5的坐標(biāo)作為水平方向的右側(cè)分界線,可以利用for循環(huán)語句來實現(xiàn)。利用上述同樣的方法,實現(xiàn)垂直方向的分界線的確定。2.2.6字符分割在牌照區(qū)域的定位完成之后,接下來要做的就是先把牌照區(qū)域分割成單個字符,然后一一對其進行識別。這里采用垂直投影法進行字符分割。因為字符在垂直方向上投影的局部最小值不是在字符間間隙就是字符內(nèi)間隙處取得,同時這個位置還要滿足牌照的字符的書寫格式、字符的尺寸限制等條件。所以采用垂直投影法對處在復(fù)雜環(huán)境下的車牌圖像中的字符分割能夠達到不錯的效果。計算水平投影對車牌進行水平校正去掉車牌的框架 經(jīng)過分析垂直投影確定每個

32、字符中心位置按左右寬度分割出字符 圖2.2 牌照字符切割框圖根據(jù)我國的車牌規(guī)范(普通中小型汽車)規(guī)定車牌總長440mm,牌照中的7個字符的實際總長約為409mm ,寬140mm,每個字符寬、高分別為45mm、90mm,字符的間距為10mm,其中從左往右的第二個字符與第三個字符的間距比較特殊,為15.5mm,尾字符與首字符距邊界的距離都是25mm。假如根據(jù)車牌寬度平均分配給每個字符,那么每個字符寬度為:width/7(設(shè)車牌圖像的寬度為width)。然而實際情況是,第二個與第三個字符之間的間距比較特別,且牌照左右兩邊與圖像邊緣也都有一定的寬度,因此每個字符的寬度要小于width/7。綜合考慮,通

33、常情況下,字符的最小寬度為width/9。所以,可以通過從width/9 到width/7 漸進的變化來得到字符的寬度。字符分割流程圖如下圖所示: 開始車牌圖像的二值化切除圖像周邊的空白部分進行垂直投影從左到右進行查找,垂直投影白色像素點小于0的值的wide把水平區(qū)域(0,wide)的部分給提取出來進行是否為標(biāo)準(zhǔn)字符的判斷Y保存字符N保存剩余部分并覆蓋原先圖像判斷字符個數(shù)是否為7NY結(jié)束圖2.3 字符切割流程圖2.2.7字符識別對于車牌字符識別,目前最常用的方法是基于神經(jīng)網(wǎng)絡(luò)和模板匹配的方法?;谏窠?jīng)網(wǎng)絡(luò)的車牌字符識別方法對于分辨率較高(車牌高度不小于120個像素)和圖像比較清晰的車牌能有效的

34、識別車牌中的字符,但是對于較底分辨率和較為模糊的車牌則顯得無能為力?,F(xiàn)已有一種在模板匹配的基礎(chǔ)上改進的方法進行字符識別,使對車牌字符的識別性能得到了改進。1.選擇字符識別方法目前,字符識別的方法有使用人工神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)模型和模板匹配兩種。人工神經(jīng)網(wǎng)絡(luò)是通過模擬人腦的思維功能而建立的數(shù)學(xué)模型,盡管現(xiàn)在神經(jīng)網(wǎng)絡(luò)有了很大的發(fā)展,但其還存在應(yīng)用相對復(fù)雜的缺點。范本匹配法雖然識別率相對較低,但其擁有實現(xiàn)簡單,計算量小的優(yōu)點,而且車牌字符不僅有阿拉伯?dāng)?shù)字,英文大寫字母,還有部分漢字。字庫量盡管不大,但字符較規(guī)整時,受圖像的缺損及污跡干擾的影響較小且識別率相當(dāng)高,因此本設(shè)計采用模板匹配法。 2.字符歸一化由于

35、采集圖像的像素值不同,分割出來的字符的大小也不同,所以在進行匹配前,必須首先對分割出來的字符進行字符歸一化。使圖像字符大小跟模板圖像大小一致,在這里使用MATLAB里提供可以改變圖像大小的函數(shù)imresize(I,Size,Model),其中Model是插值運算法,這里選擇nearest即最近鄰插值法。 3.字符匹配字符匹配是建立在有一個可以與之相比較的字庫表的基礎(chǔ)上,然后再將已分割并歸一化處理后的字符逐個進行匹配比較,接著將待識別的字符的特征值和模板字符相減,結(jié)果相差最小的即是匹配的最好的。字符識別的步驟如下圖所示:建立字符庫讀取分成出來的字符第一個字符與字符庫中的模板進行匹配待標(biāo)識符元與模

36、板字符做減法,結(jié)果越小就越相似,從而找到最接近的重復(fù)上述兩步,依次對余下的6個字符進行匹配完成字符的識別,輸出相應(yīng)的字符圖 2.4 字符匹配框圖字符匹配的準(zhǔn)確度決定車牌識別的準(zhǔn)確性,所以建立一個精準(zhǔn)有效的模板字庫表是必不可少的。第三章 高速公路車牌識別系統(tǒng)設(shè)計及MATLAB仿真步驟3.1圖像獲取在這個部分中我們利用在道路兩側(cè)安裝的高分辨率攝像機對來往的車輛實施動態(tài)或者靜態(tài)抓拍,然后經(jīng)過圖像采集器得到當(dāng)前的圖像,再形成相應(yīng)的圖像數(shù)據(jù)存儲在計算機中,此時存儲在計算機中的圖像為彩色模式的。3.2圖像處理3.2.1圖像灰度轉(zhuǎn)換及轉(zhuǎn)換效果由于使用MATLAB內(nèi)的RGB轉(zhuǎn)灰度圖函數(shù)rgb2gray(),所

37、以通過邊緣檢測方法,識別出臨近區(qū)域灰度值相差大的分界區(qū)。原始圖像灰度圖像圖3.1 灰度圖轉(zhuǎn)換效果對比經(jīng)過圖形的對比分析,原始圖中車牌區(qū)域的灰度明顯與其他區(qū)域不同,其中藍底部分最為明顯。通過程序運行出來的灰度圖能夠比較容易的識別出車牌的區(qū)域,達到了預(yù)期的灰度效果。3.2.2圖像邊緣檢測使用MATLAB函數(shù)edge()進行邊緣檢測,效果如圖3.1所示:圖3.2 邊緣效果圖從上面邊緣效果圖可以看出,車牌輪廓在處理以后已經(jīng)比較明顯,車牌區(qū)域及汽車標(biāo)志的邊緣呈白色條紋狀,基本上達到了邊緣檢測的效果。但是,由于車牌附近區(qū)域的影響,也有白色區(qū)域出現(xiàn),因此圖像還需要進一步的處理。3.2.3灰度圖腐蝕在MATL

38、AB中使用函數(shù)imerode()腐蝕后如圖:圖3.3 腐蝕效果圖對圖像進行腐蝕的目的就是要消除小且無意義的物體,通過邊緣效果檢測圖與腐蝕效果圖的比較可以看到,在邊緣檢測圖中存在的小且無意義的區(qū)域已經(jīng)被完全消除了,剩下的只是車牌區(qū)域和車的標(biāo)志。現(xiàn)在,已經(jīng)得到了車牌圖像的輪廓線,下一步需要的是通過適當(dāng)?shù)奶幚韥戆衍嚺铺岢鰜怼?.2.4圖像平滑處理在得到了車牌區(qū)域的圖像輪廓線之后,使用MATLAB中的函數(shù)imclose()。得到圖像平滑后效果如下:圖3.4 平滑處理后效果圖從平滑后的效果圖可以看出,平滑處理達到了預(yù)期,即消除圖像的數(shù)字化誤差以及在腳點提取中噪聲的影響。3.3移除小對象運用MATLAB中

39、的函數(shù)bwareaopen()對經(jīng)過平滑處理的圖像進行小對象移除,圖像如圖3.4所示:圖3.5 移除小對象后效果圖可以看到移除小對象后的效果圖中最后只存在車牌區(qū)域,小物體、車的標(biāo)志及其它不相關(guān)的區(qū)域都被消除了。3.4車牌區(qū)域的邊界值計算對原圖像進行二值化后,經(jīng)計算確定水平和垂直分界線,便可從原圖像中提取出只包含車牌區(qū)域的圖像。提取得到的圖像如下:圖3.4.1為二值圖提取出來的圖像,圖3.4.2為RGB圖像提取出來的圖像:圖3.6 車牌區(qū)域二值化裁剪圖圖3.7 原圖中的車牌區(qū)域圖像 通過原始圖像與二值圖裁減圖的對比,在車牌的四個邊界值被確定下來了之后,就能夠在原始圖像中確定車牌的區(qū)域了。這樣,就

40、能完成車牌的提取。3.5字符分割按照設(shè)計原理中的流程圖對圖像進行分割,分割的字符圖像如下:圖3.8 經(jīng)切割的七個字符從上圖可以看出,經(jīng)過分割后,把連在一起的一組字符分割成了單個字符,為字符的識別奠定了基礎(chǔ)。3.6字符識別3.6.1字符歸一化在選擇了摸版匹配法之后,使用MATLAB中的函數(shù)imresize()進行圖像歸一化,歸一化后的圖像如下。圖3.9 經(jīng)歸一化后的七個字符車牌中分割出的字符經(jīng)過歸一化之后大小基本都相同,從而也解決了像素不一致的問題,讓其與字符庫中的字符匹配更容易。3.6.2字符匹配識別模板匹配法將目標(biāo)圖像與模板圖像逐點做差,得到第三幅圖像,程序?qū)崿F(xiàn)如下for ii=1:40or

41、 jj=1:20 Word_Image_Diff(ii,jj)=Word_Image(ii,jj)-Word_Image_Code(ii,jj); endend最后計算第三幅二進制圖像中像素值為1的個數(shù),數(shù)值最小的即為匹配出來的結(jié)果,經(jīng)對比可得相似度最高的數(shù)字圖3.10 字符相似度比較如圖3.18所示:第一個字符在Lib_Code_No=39處取得最大相似度,字庫字符“湘”的Lib_Code_No=39,所以能確定第一個字符是“湘”,同樣的,可依次確定剩下的字符。第四章 仿真結(jié)果分析4.1車牌定位、圖像讀取及其圖像處理從前面我們可以得到在把車牌區(qū)域提取出來后,圖像處理的一系列仿真結(jié)果如下圖所示

42、:圖4.1 圖像讀取及處理結(jié)果圖結(jié)果分析:圖像車牌的提取就是從原始圖像中截取含車牌部分的RGB圖像,之后才能進行字符分割和匹配識別。為了消除截取圖像中的噪聲點,所以要對截取圖像進行濾波處理,經(jīng)過濾波處理之后,不僅去消除了噪聲點,而且使圖像得到了銳化。經(jīng)過這些步驟的處理,能搞滿足最終識別出的圖像與原圖的相似度盡可能高的要求,也就是可以讓結(jié)果更精確。仿真的結(jié)果也使得車牌部分從原圖被準(zhǔn)確的提取出來了,達到了車牌定位及圖像讀取及其圖像處理的目的。4.2車牌字符分割及其圖像處理圖像在經(jīng)過邊緣檢測后,進行字符分割的圖像如下圖所示:圖4.2 字符分割及歸一化結(jié)果圖結(jié)果分析:根據(jù)MATLAB編程運行的結(jié)果發(fā)現(xiàn)

43、,為了方便圖像匹配識別,需要先將字符串分割成單個的字符,同時在分割之前要將周邊空白消除。由以上結(jié)果圖可以看到,車牌被切成只含字符部分,并且七個連續(xù)的字符被分割成七個清晰的單個字符,從而實現(xiàn)了字符的分割。由圖4.2中右側(cè)的歸一化圖像可以看到,分割出的圖像的像素值和模板圖像的像素值基本達到了一致,由此便解決了分割出的圖像像素值不一致的問題。4.3車牌字符識別圖像經(jīng)以上處理后再進行匹配識別,次圖像和原圖存在一些差異,其字符相似度曲線成一定規(guī)律,其曲線圖如下圖所示:圖4.3 字符識別結(jié)果圖結(jié)果分析:字符識別其實是根據(jù)已經(jīng)建立的模板字符庫,將分割出來的字符和模板庫中的字符進行一一匹配,將分割出來的字符和

44、模板中的字符相,其差值越小表明字符匹配程度越高。從圖4.3可知,盡管字符匹配識別的難易程度不盡相同,但是可以達到識別出漢字、字母和數(shù)字的水平。 總 結(jié)本設(shè)計主要利用MATLAB中的應(yīng)用軟件,根據(jù)車牌識別系統(tǒng)的原理在MATLAB編輯程序進行仿真,分別對車牌定位、圖像處理、字符分割以及字符識別等過程進行仿真。首先總結(jié)了國內(nèi)外的車牌識別系統(tǒng)技術(shù)現(xiàn)狀,了解其實現(xiàn)原理和我國車牌的特征,依據(jù)我國車牌的特殊情況選擇適當(dāng)?shù)乃惴ê秃线m的MATLAB函數(shù)。使用MATLAB中的RGB轉(zhuǎn)灰度圖函數(shù)rgb2gray()使車牌區(qū)域更容易被識別出來,利用MATLAB中的函數(shù)edge()實現(xiàn)邊緣檢測得到車牌的輪廓,在經(jīng)過灰度

45、腐蝕消除圖片中的小且無意義的物體,使車牌的輪廓更加清晰,然后用函數(shù)imclose()對圖像進行平滑處理,消除噪聲和數(shù)字化誤差的影響,最后用函數(shù)bwareaopen()移除小對象完成對圖片的處理。接著對圖像進行二值化,計算出車牌區(qū)域的邊界,確定分界線后,提取出來車牌區(qū)域。接下里來依次進行字符分割、使用函數(shù)imresize(I,Size,Model)進行字符歸一化和字符匹配識別。最后,基本上可以識別車牌,達到設(shè)計的目的。雖然本設(shè)計只對藍底白字車牌進行了驗證,但是對于黑底白字的車牌應(yīng)該也能適用,然而其它的車牌就需要根據(jù)具體情況對算法進行調(diào)整。由于學(xué)習(xí)的知識所限及對車牌系統(tǒng)研究的深度不夠,本設(shè)計的算法

46、還需優(yōu)化,例如二值化計算中的閥值的選取對二值化效果有很大影響,同時識別速度還不夠快,還有本設(shè)計選用的模板匹配方法相比較于神經(jīng)網(wǎng)絡(luò)法準(zhǔn)確度相對也要差一點,所以實際應(yīng)用起來還不現(xiàn)實。通過這次設(shè)計,我覺得在車牌系統(tǒng)今后的發(fā)展過程中,對算法的優(yōu)化是其重點以便能更迅速、更準(zhǔn)確的識別出車牌,而且在以后的車牌識別系統(tǒng)中能夠加入更多的功能,能夠在識別車牌的同時記錄更多的車輛信息,比如車輛實時車速及車輛車型。實踐過后,我深深體會到畢業(yè)設(shè)計不僅是對以前所學(xué)知識的一種檢驗,而且也是對自己動手能力的一種提高。以前對MATLAB也僅局限在數(shù)學(xué)實驗上學(xué)的那些知識,但通過此次的畢業(yè)設(shè)計,不僅了解到MATLAB在圖形圖像處理

47、方面的強大功能,還提高了自己的自學(xué)能力。同時也認識到自己知識的不足,真是學(xué)海無涯。我的懂得了知識和實踐是有距離的,今后所要做的是堅持學(xué)習(xí),然后盡量把學(xué)到的知識運用到實際生活和工作中,這樣才能真正的提高自己。附 錄function d=main(jpg)close allclc%I=imread('car1.JPG');I=imread('chepai.jpg');figure(1),imshow(I);title('原圖')I1=rgb2gray(I);figure(2),subplot(1,2,1),imshow(I1);title('

48、灰度圖');figure(2),subplot(1,2,2),imhist(I1);title('灰度圖直方圖');I2=edge(I1,'robert',0.15,'both');figure(3),imshow(I2);title('robert操作數(shù)邊緣檢測')se=1;1;1;I3=imerode(I2,se);figure(4),imshow(I3);title('腐蝕后圖像');se=strel('rectangle',25,25);I4=imclose(I3,se);figur

49、e(5),imshow(I4);title('平滑圖像的輪廓');I5=bwareaopen(I4,2000);figure(6),imshow(I5);title('從對象中移除小對象');y,x,z=size(I5);myI=double(I5);tic Blue_y=zeros(y,1); for i=1:y for j=1:x if(myI(i,j,1)=1) Blue_y(i,1)= Blue_y(i,1)+1;%藍色像素點統(tǒng)計 end end end temp MaxY=max(Blue_y);%Y方向車牌區(qū)域確定 PY1=MaxY; while (

50、Blue_y(PY1,1)>=5)&&(PY1>1) PY1=PY1-1; end PY2=MaxY; while (Blue_y(PY2,1)>=5)&&(PY2<y) PY2=PY2+1; end IY=I(PY1:PY2,:,:); % X方向 % Blue_x=zeros(1,x);%進一步確定x方向的車牌區(qū)域 for j=1:x for i=PY1:PY2 if(myI(i,j,1)=1) Blue_x(1,j)= Blue_x(1,j)+1; end end end PX1=1; while (Blue_x(1,PX1)<

51、;3)&&(PX1<x) PX1=PX1+1; end PX2=x; while (Blue_x(1,PX2)<3)&&(PX2>PX1) PX2=PX2-1; end PX1=PX1+50;%對車牌區(qū)域的校正 PX2=PX2-50; PY1=PY1+45; PY2=PY2-45; dw=I(PY1:PY2-8,PX1:PX2,:); t=toc; figure(7),subplot(1,2,1),imshow(IY),title('行方向合理區(qū)域');figure(7),subplot(1,2,2),imshow(dw),ti

52、tle('定位剪切后的彩色車牌圖像')imwrite(dw,'dw.jpg');filename,filepath=uigetfile('dw.jpg','輸入一個定位裁剪后的車牌圖像');jpg=strcat(filepath,filename);a=imread('dw.jpg');b=rgb2gray(a);imwrite(b,'1.車牌灰度圖像.jpg');figure(8);subplot(3,2,1),imshow(b),title('1.車牌灰度圖像')g_max=do

53、uble(max(max(b);g_min=double(min(min(b);T=round(g_max-(g_max-g_min)/2); % T為二值化的閾值m,n=size(b);d=(double(b)>=T); % d:二值圖像imwrite(d,'2.車牌二值圖像.jpg');figure(8);subplot(3,2,2),imshow(d),title('2.車牌二值圖像')figure(8),subplot(3,2,3),imshow(d),title('3.均值濾波前') % 濾波h=fspecial('ave

54、rage',3);d=im2bw(round(filter2(h,d);imwrite(d,'4.均值濾波后.jpg');figure(8),subplot(3,2,4),imshow(d),title('4.均值濾波后') % 某些圖像進行操作% 膨脹或腐蝕% se=strel('square',3); % 使用一個3X3的正方形結(jié)果元素對象對創(chuàng)建的圖像進行膨脹% 'line'/'diamond'/'ball'.se=eye(2); % eye(n) returns the n-by-n

55、identity matrix 單位矩陣m,n=size(d);if bwarea(d)/m/n>=0.365 d=imerode(d,se);elseif bwarea(d)/m/n<=0.235 d=imdilate(d,se);endimwrite(d,'5.膨脹或腐蝕處理后.jpg');figure(8),subplot(3,2,5),imshow(d),title('5.膨脹或腐蝕處理后') % 尋找連續(xù)有文字的塊,若長度大于某閾值,則認為該塊有兩個字符組成,需要分割d=qiege(d);m,n=size(d);figure,subplot(2,1,1),imshow(d),title(n)k1=1;k2=1;s=sum(d);j=1;while j=n while s(j)=0 j=j+1; end k1=j; while s(j)=0 && j<=n-1 j=j+1; end k2=j-1; if k2-k1>=round(n/6.5) val,num=min(sum(d(:,k1+5:k2-5); d(:,k1+num+5)=0; % 分割 endend% 再切割d=qiege(d);%

溫馨提示

  • 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

提交評論