版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
III基于模板匹配的車(chē)牌號(hào)識(shí)別算法的設(shè)計(jì)與實(shí)現(xiàn)摘要隨著信息技術(shù)、網(wǎng)絡(luò)通訊技術(shù)的不斷發(fā)展,智能交通系統(tǒng)在生活中的應(yīng)用越來(lái)越廣泛。汽車(chē)車(chē)牌識(shí)別技術(shù)具有廣泛的應(yīng)用前景,這項(xiàng)技術(shù)通常應(yīng)用于小區(qū)門(mén)口、停車(chē)場(chǎng)收費(fèi)處、以及學(xué)校中的車(chē)速檢測(cè)設(shè)備等場(chǎng)景。為了實(shí)現(xiàn)車(chē)牌號(hào)識(shí)別這一目標(biāo),我們基于中國(guó)大陸藍(lán)色汽車(chē)車(chē)牌特征,提出了一套基于模板匹配的車(chē)牌號(hào)識(shí)別算法。車(chē)牌識(shí)別算法分為圖像預(yù)處理、車(chē)牌定位、字符分割和字符識(shí)別四部分,本文對(duì)上述四個(gè)步驟進(jìn)行了研究和改進(jìn)。首先,基于數(shù)學(xué)形態(tài)學(xué)利用Sobel邊緣檢測(cè)算子對(duì)圖像進(jìn)行邊緣檢測(cè),并且提出了一種改進(jìn)差分的算法實(shí)現(xiàn)了車(chē)牌的定位從而大大提高了車(chē)牌定位的準(zhǔn)確率。其次,使用更自適應(yīng)的Otsu算法對(duì)車(chē)牌圖像進(jìn)行二值化。最后,采用閾值分割的方法對(duì)車(chē)牌字符進(jìn)行分割,并且根據(jù)模板匹配算法建立了模板庫(kù)并且采用逐個(gè)像素進(jìn)行比較的方法實(shí)現(xiàn)了對(duì)車(chē)牌字符的識(shí)別。根據(jù)上述算法在MATLAB上搭建了一個(gè)人機(jī)互動(dòng)的GUI系統(tǒng)進(jìn)行測(cè)試,通過(guò)測(cè)試平臺(tái)對(duì)70張車(chē)牌圖像進(jìn)行識(shí)別。測(cè)試結(jié)果表明,本課題設(shè)計(jì)的算法在車(chē)牌定位上非常精準(zhǔn),并且可以實(shí)現(xiàn)對(duì)車(chē)牌字符進(jìn)行識(shí)別的功能。關(guān)鍵詞:車(chē)牌識(shí)別,車(chē)牌定位,模板匹配,字符識(shí)別,圖像處理目錄TOC\o"1-3"\h\u250981緒論 1226661.1研究背景和意義 1132801.2國(guó)內(nèi)外研究現(xiàn)狀 296772車(chē)牌識(shí)別系統(tǒng)分析 4171282.1測(cè)試系統(tǒng)的搭建 4222462.2主要的研究方法 4197582.3本文的內(nèi)容與結(jié)構(gòu)安排 5140803圖像的預(yù)處理 6105573.1圖像的預(yù)處理綜述 6169893.2圖像的灰度變換 6273043.3圖像的邊緣檢測(cè) 733813.4邊緣圖像的形態(tài)學(xué)處理 8122714車(chē)牌區(qū)域的定位與處理 13211334.1車(chē)牌定位算法的綜述 1332044.2白色像素點(diǎn)的統(tǒng)計(jì) 13293444.3車(chē)牌定位算法 13225194.3.1閾值比較算法 1396944.3.2差分選取算法 14132094.4車(chē)牌圖像的處理 1642304.4.1車(chē)牌圖像的灰度化 16251064.4.2Ostu算法實(shí)現(xiàn)二值化 1611254.4.3車(chē)牌圖像的形態(tài)學(xué)處理 18104255字符分割與識(shí)別 20269485.1字符的分割 20288575.2圖像的歸一化 20189525.3模板庫(kù)的建立 21200345.4模板匹配法識(shí)別字符 21132036測(cè)試結(jié)果 2316207總結(jié)與展望 2415331參考文獻(xiàn) 251緒論研究背景和意義改革開(kāi)放以來(lái),隨著國(guó)民經(jīng)濟(jì)的不斷發(fā)展,人民生活水平也在不斷提高,由于城市規(guī)模的不斷加大以及人員物資流通的日益密切,私家車(chē)數(shù)量迅速增加,交通問(wèn)題也日益突出。隨著社會(huì)生產(chǎn)力的發(fā)展與科學(xué)技術(shù)的提高,基于現(xiàn)代計(jì)算機(jī)技術(shù)的智能理念已經(jīng)滲透進(jìn)社會(huì)生活的各個(gè)領(lǐng)域,由此衍生出的智能交通系統(tǒng)(IntelligentTransportationSystem,ITS)就是一個(gè)應(yīng)用場(chǎng)景極其廣泛、發(fā)展勢(shì)頭十分迅猛的一個(gè)領(lǐng)域。為了減輕交通壓力,提高車(chē)輛管理效率,提出了汽車(chē)車(chē)牌的識(shí)別技術(shù)。汽車(chē)車(chē)牌的識(shí)別技術(shù)是實(shí)現(xiàn)智能交通管理的關(guān)鍵技術(shù)。該算法基于特定目標(biāo)的計(jì)算機(jī)視覺(jué)系統(tǒng),是智能交通應(yīng)用中計(jì)算機(jī)視覺(jué)和模式識(shí)別技術(shù)領(lǐng)域的重要研究課題之一。該技術(shù)可廣泛應(yīng)用于公路、橋梁、隧道、城市交通車(chē)輛管理、智能社區(qū)、智能停車(chē)管理、車(chē)牌驗(yàn)證、被盜車(chē)輛跟蹤檢測(cè)、交通統(tǒng)計(jì)等領(lǐng)域,具有廣闊的應(yīng)用前景。如圖1.2所示,在鄭州大學(xué)校園內(nèi)就有相應(yīng)的測(cè)試裝置,其中也運(yùn)用了車(chē)牌識(shí)別技術(shù)。當(dāng)前,世界上所有國(guó)家都在進(jìn)行適用于本國(guó)的車(chē)牌自動(dòng)識(shí)別技術(shù)的研究。在許多發(fā)達(dá)國(guó)家地區(qū)中已經(jīng)有基于傳感器基礎(chǔ)上的自動(dòng)識(shí)別系統(tǒng)問(wèn)世,但是部署這些系統(tǒng)的成本相對(duì)較高而且與我國(guó)實(shí)際的交通環(huán)境不同,通常無(wú)法滿足我們的城市和國(guó)內(nèi)市場(chǎng)的需求。雖然也有國(guó)產(chǎn)的產(chǎn)品正在使用中,但進(jìn)一步處理仍需要人工識(shí)別,因此追求高效準(zhǔn)確的車(chē)牌識(shí)別技術(shù)仍然是當(dāng)今高科技領(lǐng)域中最熱門(mén)的主題之一。一套好的車(chē)牌識(shí)別系統(tǒng)具有重要的社會(huì),經(jīng)濟(jì)和學(xué)術(shù)意義。我國(guó)私家車(chē)的車(chē)牌號(hào)命名相對(duì)來(lái)說(shuō)較為規(guī)范。一般由七位組成:第一位是省份簡(jiǎn)稱(chēng),第二位是英文大寫(xiě)字母,后五位為英文大寫(xiě)字母與阿拉伯?dāng)?shù)字的排列組合如圖1.1所示。抓住這一特性可以很好地幫助我們簡(jiǎn)化車(chē)牌識(shí)別工作。圖1.1私家車(chē)車(chē)牌號(hào)示例1.2國(guó)內(nèi)外研究現(xiàn)狀經(jīng)筆者前期閱讀和思考,初步認(rèn)為探討研究“基于模板匹配的車(chē)牌號(hào)識(shí)別算法實(shí)現(xiàn)”的路徑如下:首先是定性研究,界定此類(lèi)畢業(yè)設(shè)計(jì)離不開(kāi)圖像處理的研究;其次是有關(guān)字符識(shí)別的研究,進(jìn)而引出車(chē)牌的定位以及車(chē)牌識(shí)別的研究,以及字符分割與字符識(shí)別的實(shí)現(xiàn)。其中字符識(shí)別為研究重點(diǎn)。筆者以“車(chē)牌識(shí)別”為主題關(guān)鍵詞在中國(guó)知網(wǎng)進(jìn)行全文檢索,得到自1990年至2020年論文數(shù)據(jù),包括學(xué)術(shù)期刊、學(xué)位論文(碩博)、會(huì)議報(bào)紙等各類(lèi)文獻(xiàn),呈現(xiàn)出數(shù)量大、研究?jī)?nèi)容分布廣的特點(diǎn),尤其是2019年產(chǎn)出高達(dá)445篇文獻(xiàn)(如圖1.2)。圖1.2文獻(xiàn)年份與數(shù)量分析文獻(xiàn)主題內(nèi)容(如圖1.3),筆者發(fā)現(xiàn)研究集中于“字符識(shí)別”、“算法研究”相關(guān)內(nèi)容。其次是關(guān)于車(chē)牌識(shí)別以及定位,字符分割的討論??梢园l(fā)現(xiàn)有關(guān)字符識(shí)別算法的討論一直是車(chē)牌識(shí)別這一項(xiàng)目的重點(diǎn)問(wèn)題。并且,在瀏覽文獻(xiàn)的時(shí)候也注意到由于實(shí)際情況中還會(huì)有例如黃色車(chē)牌、一些特種車(chē)輛的車(chē)牌,包括新興的新能源車(chē)輛的綠色車(chē)牌的相關(guān)的車(chē)牌識(shí)別方法的研究也在逐年增長(zhǎng)??偨Y(jié)來(lái)說(shuō),現(xiàn)在車(chē)牌字符識(shí)別的研究在技術(shù)上已經(jīng)取得了很大的突破,但是距離實(shí)用化要求還有一定的距離,許多新方法還僅停留在理論上或者受到約束限定,車(chē)牌字符識(shí)別的研究仍然有很長(zhǎng)的路要走。圖1.3文獻(xiàn)主題分布車(chē)牌識(shí)別過(guò)程通常需要以下(圖1.4)幾個(gè)處理過(guò)程組成:圖1.4車(chē)牌識(shí)別的處理流程由于本文研究的側(cè)重在于圖像采集之后的工作,因此研究的對(duì)象是對(duì)于拍攝好的車(chē)牌圖像。圖像處理也稱(chēng)為圖像預(yù)處理,是指對(duì)原圖進(jìn)行一系列數(shù)字圖像處理操作從而為后續(xù)車(chē)牌定位做準(zhǔn)備。車(chē)牌定位是從車(chē)輛圖像中準(zhǔn)確地找到駕照的位置,車(chē)牌位置的定位是從車(chē)輛圖像中準(zhǔn)確地找到駕照的位置并且準(zhǔn)確分割了車(chē)牌區(qū)域。因此,車(chē)牌區(qū)域的確定是影響系統(tǒng)性能的重要因素之一。車(chē)牌的準(zhǔn)確定位直接影響字符分割和字符識(shí)別的準(zhǔn)確性,并直接影響車(chē)牌識(shí)別系統(tǒng)的效率。車(chē)輛圖像從自然環(huán)境中收集,車(chē)牌的成像條件和自然環(huán)境中的背景一般沒(méi)有控制,特別是光照條件和復(fù)雜的背景信息給目標(biāo)搜索帶來(lái)了很大的困難,加上拍攝不同的距離、角度,車(chē)牌區(qū)域很難區(qū)分不同的干擾。因此,車(chē)牌定位技術(shù)一直是一件難點(diǎn),是車(chē)牌識(shí)別技術(shù)中的關(guān)鍵技術(shù)[]。在字符分割的步驟中,最快的分割方法是模板匹配算法,但它在很大程度上依賴(lài)于車(chē)牌二值圖像的精度,因此我們一般采用垂直投影法或者根據(jù)像素點(diǎn)數(shù)目設(shè)置閾值來(lái)切割從而提高準(zhǔn)確度。車(chē)牌字符切割完畢后,是車(chē)牌的字符識(shí)別環(huán)節(jié),這也是決定車(chē)牌識(shí)別結(jié)果的臨門(mén)一腳?,F(xiàn)在,車(chē)牌的字符識(shí)別技術(shù)非常成熟,通常我們可以采用神經(jīng)網(wǎng)絡(luò)法或模板匹配法等算法。但是無(wú)論使用哪種算法,都會(huì)提到最經(jīng)典的模板匹配法,因此,本文所采用的思路是利用模板匹配法來(lái)實(shí)現(xiàn)車(chē)牌的字符識(shí)別。2車(chē)牌識(shí)別系統(tǒng)分析2.1測(cè)試系統(tǒng)的搭建本系統(tǒng)的開(kāi)發(fā)是基于MATLAB平臺(tái),通過(guò)查閱資料以及學(xué)習(xí)前人開(kāi)發(fā)經(jīng)驗(yàn)得知,使用MATLAB平臺(tái)并基于其強(qiáng)大的圖像處理能力可以很好地對(duì)車(chē)牌識(shí)別進(jìn)行仿真。因此將開(kāi)發(fā)的平臺(tái)定為MATLAB并且主要的編程語(yǔ)言為M語(yǔ)言。MATLAB內(nèi)置有可以實(shí)現(xiàn)人機(jī)互動(dòng)的GUI功能,我們通過(guò)制作一個(gè)GUI頁(yè)面來(lái)進(jìn)行算法的測(cè)試如圖2.1所示。圖2.1GUI頁(yè)面該系統(tǒng)用坐標(biāo)軸來(lái)顯示圖片,用文本框輸出識(shí)別結(jié)果。由于這一系統(tǒng)中很關(guān)鍵的一步是車(chē)牌定位,我們將其單獨(dú)列出來(lái)。2.2主要的研究方法在確定了研究對(duì)象為車(chē)牌號(hào)識(shí)別之后。筆者在知網(wǎng)上查找了有關(guān)車(chē)牌識(shí)別的期刊與學(xué)位論文并下載閱讀;此外,筆者也參考了CSDN論壇上有關(guān)車(chē)牌識(shí)別前人的開(kāi)發(fā)經(jīng)驗(yàn)以及在知乎上查閱了有關(guān)這一項(xiàng)目的技術(shù)討論。我在學(xué)校圖書(shū)館借閱了有關(guān)基于MATLAB圖像處理的參考書(shū)并學(xué)習(xí)圖像處理的基礎(chǔ)知識(shí)。同時(shí),為了順利在MATLAB平臺(tái)上實(shí)現(xiàn)仿真,我也開(kāi)始學(xué)習(xí)M語(yǔ)言的編程方法。我一方面在參考書(shū)上對(duì)照案例進(jìn)行學(xué)習(xí)分析,并在自己的電腦上實(shí)現(xiàn)對(duì)應(yīng)的功能,從而鍛煉自己的編程能力。同時(shí),我也通過(guò)Bilibili彈幕視頻網(wǎng)上的學(xué)習(xí)視頻對(duì)照學(xué)習(xí)。另一方面,我在參照前人開(kāi)發(fā)經(jīng)驗(yàn)閱讀代碼的同時(shí)并學(xué)習(xí)著編程技巧以及熟練語(yǔ)言的使用。在開(kāi)發(fā)的具體過(guò)程中,我采用的方法是利用MATLAB寫(xiě)測(cè)試程序嘗試的方法。我通過(guò)閱讀各種文獻(xiàn)(包括期刊,學(xué)位論文以及調(diào)動(dòng)互聯(lián)網(wǎng)資源),尋找可能適合本課題的方法,對(duì)其進(jìn)行學(xué)習(xí)跟研究。并嘗試根據(jù)描述的算法來(lái)對(duì)其進(jìn)行編程仿真試驗(yàn),從而遴選出合適的方法。因?yàn)樵趯?shí)際開(kāi)發(fā)過(guò)程中,針對(duì)于不同的車(chē)牌照片采用的方法不盡相同,這種具體情況具體分析的方法往往很受用。2.3本文的內(nèi)容與結(jié)構(gòu)安排本文總體分為六章,在編排的順序上按照機(jī)動(dòng)車(chē)車(chē)牌識(shí)別的處理過(guò)程劃分:第一章主要講解了車(chē)牌識(shí)別技術(shù)的興起、主要的研究?jī)?nèi)容以及國(guó)內(nèi)外發(fā)展的現(xiàn)狀,從而導(dǎo)出我們的研究社會(huì)背景與意義;第二章對(duì)研究通過(guò)課題基于模板匹配算法的車(chē)牌識(shí)別系統(tǒng)需要進(jìn)行一個(gè)整體介紹和分析,還有我在對(duì)這個(gè)課題研究的方法。第三章主要內(nèi)容介紹了對(duì)采集到的車(chē)牌圖像進(jìn)行預(yù)處理的過(guò)程,我們首先應(yīng)該對(duì)采集到的圖片進(jìn)行數(shù)字圖像的處理,這一步是為我們提取車(chē)牌區(qū)域做準(zhǔn)備。這中間運(yùn)用了Sobel算子進(jìn)行邊緣檢測(cè)以及利用數(shù)學(xué)形態(tài)學(xué)來(lái)進(jìn)行的數(shù)字圖像處理。第四章是有關(guān)如何選出汽車(chē)牌照的具體位置。這里首先介紹了利用閾值進(jìn)行判斷的算法但是發(fā)現(xiàn)了一些存在的問(wèn)題,為此,我們提出了一種創(chuàng)新的算法來(lái)確定車(chē)牌的位置。通過(guò)仿真結(jié)果來(lái)看,具有顯著的提升。我們隨后對(duì)原圖進(jìn)行裁剪并進(jìn)行相關(guān)的形態(tài)學(xué)處理,為后續(xù)工作做準(zhǔn)備。第五章是介紹了對(duì)提取到的車(chē)牌進(jìn)行字符分割以及利用模板匹配算法對(duì)其進(jìn)行字符的識(shí)別。我們根據(jù)第四章閾值判斷的算法,提出利用統(tǒng)計(jì)白色像素點(diǎn)的位置對(duì)車(chē)牌進(jìn)行字符分割,并將分割好的圖像寫(xiě)入文件。由于本文采用的是模板匹配的方法,首先建立了一個(gè)進(jìn)行模板匹配的樣本庫(kù)。我們讓裁剪過(guò)的字符與每個(gè)樣板進(jìn)行作差,從而找到與字符最接近的樣板,從而達(dá)到識(shí)別的目的。第六章為本系統(tǒng)的測(cè)試結(jié)果以及分析,我們挑選了70張圖片在系統(tǒng)中進(jìn)行檢測(cè),分別統(tǒng)計(jì)了車(chē)牌可以成功定位的數(shù)量以及可以成功識(shí)別正確的車(chē)牌數(shù)量。并對(duì)這一結(jié)果進(jìn)行分析。我們發(fā)現(xiàn)該算法對(duì)采集到的圖片像素要求較高,在滿足圖片質(zhì)量較好的前提下,車(chē)牌定位的成功率非常高。第七章將對(duì)畢業(yè)論文設(shè)計(jì)中進(jìn)行一些個(gè)人因素分析,并總結(jié)課題的研究開(kāi)發(fā)工作,闡述系統(tǒng)的不足和優(yōu)點(diǎn)。同時(shí)根據(jù)結(jié)果分析提出了一種現(xiàn)實(shí)生活中可行的應(yīng)用場(chǎng)景;參考文獻(xiàn)中列舉了本文寫(xiě)作過(guò)程中所參考借鑒的文獻(xiàn)資料;致謝中表達(dá)了大學(xué)四年以來(lái)的一些感悟與感恩。3圖像的預(yù)處理3.1圖像的預(yù)處理綜述我們通過(guò)MATLAB打開(kāi)的圖片是自然拍攝的彩色圖像。由于自然拍攝的彩色圖像會(huì)受到拍攝角度、周?chē)h(huán)境、明暗程度的影響以及存在很大多余的干擾信息(例如汽車(chē)的車(chē)身等等),并不適合直接進(jìn)行車(chē)牌號(hào)的識(shí)別工作。因此,我們?cè)谧R(shí)別車(chē)牌號(hào)之前需要先對(duì)汽車(chē)車(chē)牌進(jìn)行定位。而圖像預(yù)處理的目的是為了去除冗余信息,勾勒出汽車(chē)車(chē)牌邊緣,從而為后面我們可以得到車(chē)牌的具體位置并且分割字符進(jìn)行識(shí)別做準(zhǔn)備。3.2圖像的灰度變換彩色的數(shù)字圖像是由像素點(diǎn)拼接在一起組成的,其中每個(gè)像素點(diǎn)通常都由R(紅色)、G(綠色)、B(藍(lán)色)這三種顏色根據(jù)不同的配比組成??梢园裄、G、B類(lèi)比為三維空間直角坐標(biāo)系X、Y、Z三個(gè)坐標(biāo)軸一樣,而其中每一個(gè)像素點(diǎn)都落在這一個(gè)坐標(biāo)系中。我們將這種以R、G、B三種顏色作為三個(gè)坐標(biāo)軸所構(gòu)成的色彩空間稱(chēng)為RGB色彩空間。每一副圖畫(huà)中包含的像素點(diǎn)都包含著其RGB信息,這會(huì)使得在我們處理圖像的過(guò)程中會(huì)有很大冗余信息,而且還會(huì)加大存儲(chǔ)開(kāi)銷(xiāo)從而導(dǎo)致運(yùn)行速度較慢。為了解決上述問(wèn)題,我們?cè)诖蜷_(kāi)一副彩色圖像時(shí),首先應(yīng)該將其轉(zhuǎn)換為灰度圖(GrayScaleImage)。由上述內(nèi)容我們得知,彩色圖像中有R、G、B三個(gè)色彩通道,而對(duì)于灰度圖來(lái)說(shuō)它只有一個(gè)灰度通道。在灰度圖中,每一個(gè)像素點(diǎn)所包含的信息只有對(duì)應(yīng)的灰度(共有0~255共256個(gè)灰度等級(jí),其中255對(duì)應(yīng)全白,0對(duì)應(yīng)全黑)。這樣一來(lái)便使得圖像存儲(chǔ)的信息大大減少了,方便后續(xù)處理。圖像的灰度變換常見(jiàn)的有以下幾種算法[]:平均值法:使轉(zhuǎn)化后的灰度值為原RGB的平均值,計(jì)算公式如(3.2.1)所示:Gray=Red+Green+Blue3這種算法最為簡(jiǎn)單,也可以生成效果不錯(cuò)灰度圖,易于維護(hù)和優(yōu)化。最大值法:使轉(zhuǎn)花后的灰度值為原RGB中的最大值,計(jì)算公式如(3.2.2)所示:Gray=MAX{Red,Green,Blue}(3.2.2)這種算法也被成為分解算法,可以認(rèn)為是去飽和更簡(jiǎn)單一種的方式。分解是基于每一個(gè)像素的,只取RGB的最大值或者最小值。由于其取的是最大值,所相對(duì)來(lái)說(shuō)亮度比較亮。加權(quán)平均值法:加權(quán)平均值算法考慮到了人眼的感知,由于人眼對(duì)不同顏色的光線感知不同且人類(lèi)對(duì)紅綠藍(lán)三色的感知程度依次是:Green>Red>Blue,所以我們?cè)谟?jì)算平均值的時(shí)候考慮了這個(gè)因素,對(duì)RGB三個(gè)分量在計(jì)算時(shí)賦予不同的權(quán)值,其計(jì)算公式如(3.2.3)所示:Gray=0.2898?R+0.5870?G+0.1140?B3利用這個(gè)公式進(jìn)行灰度轉(zhuǎn)換的效果較為理想。在MATLAB內(nèi)置的函數(shù)中rgb2gray()便是根據(jù)加權(quán)平均值算法原理實(shí)現(xiàn)圖像灰度轉(zhuǎn)換的,因此我們使用這一函數(shù)來(lái)將彩色的車(chē)牌圖像進(jìn)行轉(zhuǎn)換為灰度圖,得到的效果圖如圖3.2所示:圖3.2將彩色圖像轉(zhuǎn)換為灰度圖由MATLAB仿真結(jié)果來(lái)看,根據(jù)加權(quán)平均值算法來(lái)看我們可以得到滿意的灰度圖。3.3圖像的邊緣檢測(cè)通過(guò)物體對(duì)于電磁波的反射我們可以觀察到各種各樣的物體,由于電磁波的反射特性與物體本身有關(guān),因此在物體的交界處(即物體邊緣)灰度圖的灰度會(huì)有明顯的不連貫性,我們稱(chēng)之為邊緣。邊緣像素是灰度圖里灰度突變的像素,邊緣檢測(cè)就是用來(lái)檢測(cè)這些邊緣像素[]。對(duì)于灰度的突變我們可以通過(guò)梯度來(lái)進(jìn)行檢測(cè),梯度用?f來(lái)表示,其基于向量的定義式如公式(3.3.1)所示?f≡grad(f)≡利用梯度我們可以得到圖像f在位置(x,y)處最大變化率的方向。求梯度時(shí)首先要求的是一階導(dǎo)數(shù),相應(yīng)地,梯度算子對(duì)應(yīng)的是一階導(dǎo)數(shù)算子。Sobel算子是一種很常見(jiàn)的一階算子,Sobel算子處理像素時(shí),考察上、下、左、右相鄰像素點(diǎn)灰度的加權(quán)差,與之接近的鄰點(diǎn)的權(quán)值較大Sobel算子采用水平和垂直兩個(gè)方向卷積模板與圖像進(jìn)行卷積運(yùn)算。如圖3.3.1所示為Sobel算子模板,其中圖(a)是一副圖像的3×3區(qū)域,圖(b)和(c)所示為Sobel算子水平和垂直梯度模板[]。圖3.3.1圖像3×3區(qū)域和Sobel算子模板將點(diǎn)(x,y)處的像素點(diǎn)進(jìn)行Sobel算子運(yùn)算得到的結(jié)果記為S(x,y),選取一個(gè)閾值th,當(dāng)S(x,y)>th時(shí),判定該點(diǎn)為灰度圖的邊緣點(diǎn)。將所有滿足于該條件的點(diǎn)組成一個(gè)集合,記為{S(x,y)},則這個(gè)集合即為邊緣圖像。Sobel算子具備一階算子算法簡(jiǎn)單,處理速度快的優(yōu)點(diǎn),同時(shí)由于使用了加權(quán)平均算法,因此對(duì)圖像中的一些噪聲具有一定的抑制能力。為了實(shí)現(xiàn)用Sobel算子來(lái)檢測(cè)邊緣,我們調(diào)用MATLAB中的函數(shù)edge(),edge()函數(shù)可以對(duì)輸入進(jìn)來(lái)的灰度圖或二值圖來(lái)進(jìn)行邊緣檢測(cè),并輸出尺寸大小與原圖一致的二值圖,將識(shí)別到得到邊緣像素點(diǎn)記為1(即白色)其他部分記為0(即黑色)利用MATLAB來(lái)進(jìn)行Sobel算子邊緣檢測(cè)仿真的結(jié)果如圖3.3.2所示:圖3.3.2灰度圖以及進(jìn)行Sobel算子檢測(cè)后的二值圖由MATLAB仿真結(jié)果來(lái)看,利用Sobel算子邊緣檢測(cè)算法我們可以將灰度圖里顯示的物體邊緣進(jìn)行良好的提取。3.4邊緣圖像的形態(tài)學(xué)處理3.4.1形態(tài)學(xué)的相關(guān)綜述數(shù)學(xué)形態(tài)學(xué)處理(MathematicalMorphologyProcessing)簡(jiǎn)稱(chēng)為形態(tài)學(xué)處理,是數(shù)字圖像處理技術(shù)中一種很重要也是非常常見(jiàn)的處理手段之一。主要用于從圖像中提取對(duì)表達(dá)和描繪區(qū)域形狀有意義的圖像分量,使后續(xù)的識(shí)別工作能夠抓住目標(biāo)對(duì)象最為本質(zhì)的形狀特征[]。我們?cè)趯?duì)車(chē)牌圖像進(jìn)行提取邊緣處理后的圖像中有很多邊緣線,我們需要對(duì)這些邊緣線進(jìn)行處理。提取出有用的線條、去除無(wú)用的線條并且組成連貫的區(qū)域,從而便于我們進(jìn)行下一步的車(chē)牌具體定位工作。綜上所述,在定位車(chē)牌的具體位置之前,我們需要對(duì)其進(jìn)行形態(tài)學(xué)處理。形態(tài)學(xué)的基本思想是利用結(jié)構(gòu)元來(lái)測(cè)量或提取輸入圖像中相應(yīng)的形狀或特征,以便進(jìn)一步進(jìn)行圖像分析和目標(biāo)識(shí)別,以下的過(guò)程中均是利用這種思想來(lái)實(shí)現(xiàn)對(duì)圖像的處理。所謂結(jié)構(gòu)元,就是一個(gè)形狀和大小已知的像素點(diǎn)集,如圖3.4.1所示。通常還要為結(jié)構(gòu)元定義一個(gè)中心,我們將這個(gè)中心點(diǎn)稱(chēng)為O點(diǎn)(即圖3.4.1中涂紫色的部分)。圖3.4.1結(jié)構(gòu)元的示意圖3.4.1圖像的腐蝕我們?cè)趯?duì)車(chē)牌進(jìn)行Sobel算子進(jìn)行邊緣檢測(cè)后得到的圖像如圖3.4.2所示:圖3.4.2Sobel算子邊緣檢測(cè)后的圖像由圖像我們可以看出:Sobel算子邊緣檢測(cè)不僅將車(chē)牌的輪廓提取了出來(lái),而且還把車(chē)身上的一些例如保險(xiǎn)杠以及汽車(chē)標(biāo)志、尾燈等等其他物體的邊緣提取出來(lái)了,這些邊緣線并不是我們所期望得到的。為了將這些我們不希望有的邊緣線去掉,我們將對(duì)圖像進(jìn)行腐蝕操作。在數(shù)學(xué)形態(tài)學(xué)中,腐蝕(Erosion)的作用是將物體的邊界點(diǎn)消除掉,就像是物體被“腐蝕”了一樣。圖像腐蝕的原理圖如圖3.4.3所示:圖3.4.3腐蝕的示意圖將結(jié)構(gòu)元作用在圖像上,并且讓結(jié)構(gòu)元O點(diǎn)位置對(duì)應(yīng)像素點(diǎn)的灰度值等于結(jié)構(gòu)元值為1的像素點(diǎn)區(qū)域(即圖3.4.3中深藍(lán)色的部分)對(duì)應(yīng)圖像區(qū)域的最小值,根據(jù)上述的腐蝕原理的示意圖來(lái)看,如果結(jié)構(gòu)元素深藍(lán)色部分存在對(duì)應(yīng)原圖像中淺色部分,則設(shè)置O點(diǎn)為淺色(這個(gè)處理過(guò)程有點(diǎn)像布爾邏輯中的與運(yùn)算)。這樣一來(lái),就好像原圖像被“腐蝕”了一樣[]。利用MATLAB中的函數(shù)imerode()可以實(shí)現(xiàn)對(duì)算子邊緣檢測(cè)后的圖像進(jìn)行腐蝕操作,其結(jié)果如圖3.4.4所示。我們可以看到,大多數(shù)無(wú)關(guān)的邊緣線都成功被腐蝕掉了,但是對(duì)于車(chē)牌區(qū)域來(lái)說(shuō)影響并不是很大。盡管如此,我們依舊不能進(jìn)行車(chē)牌定位的處理,因?yàn)楝F(xiàn)在我們只得到了一些較為分散的區(qū)域。為此,我們還需要對(duì)其進(jìn)行平滑處理,使其成為一個(gè)一個(gè)貫通的區(qū)域,從而方便我們繼續(xù)鎖定車(chē)牌的具體位置。圖3.4.4進(jìn)行腐蝕后的圖像3.4.2圖像的平滑如上一節(jié)所述我們需要將進(jìn)行腐蝕后的圖像中分散的區(qū)域連在一起形成貫通的區(qū)域,為此我們需要對(duì)圖像進(jìn)行閉運(yùn)算。對(duì)一副圖像,我們先對(duì)其進(jìn)行一次膨脹處理后再對(duì)其進(jìn)行一次腐蝕處理,我們將這種處理方式稱(chēng)為閉運(yùn)算(Closing)。閉運(yùn)算的基本原理如圖3.4.5所示。圖3.4.5圖像的閉運(yùn)算在上一小節(jié)中,我們提到了腐蝕,與腐蝕相對(duì)應(yīng)的處理方式是膨脹(Dilation)。恰恰相反,膨脹是結(jié)構(gòu)元O點(diǎn)位置對(duì)應(yīng)像素點(diǎn)的灰度值等于結(jié)構(gòu)元值為1的像素點(diǎn)區(qū)域的最大值。從圖圖3.4.5可以看出,對(duì)圖像進(jìn)行閉運(yùn)算可以使原本分散的區(qū)域連貫起來(lái)。對(duì)于我們上一節(jié)提到的圖像區(qū)域較為分散的問(wèn)題閉運(yùn)算可使輪廓線更光滑,因?yàn)樗梢韵M窄的間斷和長(zhǎng)細(xì)的鴻溝和小的空洞,并填補(bǔ)輪廓線中的斷裂,從而得到我們想要的貫通的區(qū)域。我們根據(jù)這一理論,在MATLAB上進(jìn)行仿真,結(jié)果如圖3.4.6所示:圖3.4.6進(jìn)行閉運(yùn)算后的圖像由仿真結(jié)果我們可以看出,對(duì)腐蝕后的圖像進(jìn)行閉運(yùn)算可以很好的得到連貫的區(qū)域,從而達(dá)到實(shí)現(xiàn)對(duì)輪廓平滑的效果。并且我們也非常欣喜的看到,在圖像的正中央白色區(qū)域,已經(jīng)有了若隱若現(xiàn)的矩形車(chē)牌的雛形。3.4.3移除小對(duì)象在進(jìn)行完圖像的閉運(yùn)算后,我們雖然可喜地看見(jiàn)了二值圖中矩形車(chē)牌的區(qū)域,但是這里依舊有很多我們并不期望出現(xiàn)的區(qū)域。這些期望之外的區(qū)域如同噪聲一樣會(huì)影響著我們后續(xù)的處理,因此在開(kāi)始給車(chē)牌進(jìn)行定位的時(shí)候我們需要進(jìn)行一步“降噪”處理。這里我們調(diào)用了MATLAB中的bwareaopen()函數(shù),對(duì)上一步的圖像進(jìn)行移除小對(duì)象處理。這里我將參數(shù)設(shè)為2000,也就是說(shuō),聚團(tuán)灰度值小于2000的部分將會(huì)被移除出去[]。MATLAB仿真得到的結(jié)果圖如圖3.4.7所示:圖3.4.7移除小對(duì)象的效果圖在圖片的左半部分是我們?cè)谏弦还?jié)得到的圖像,而右半部分是我們移除小對(duì)象之后得到的圖像。此時(shí),矩形車(chē)牌的區(qū)域已經(jīng)展現(xiàn)在我們眼前了。此時(shí),我們圖像預(yù)處理的過(guò)程也結(jié)束了,我們得到了相對(duì)來(lái)說(shuō)較為容易處理的圖像,從而為車(chē)牌定位打下了良好的鋪墊。4車(chē)牌區(qū)域的定位與處理4.1車(chē)牌定位算法的綜述在上一章中,我們對(duì)圖像進(jìn)行了預(yù)處理并得到了一個(gè)有著連貫白色區(qū)域的二值圖,如圖3.4.7的圖像是較為理想的效果,我們只需確定白色區(qū)域即可。但是也會(huì)有如圖4.1.1所示的情況出現(xiàn)。圖4.1.1移除小對(duì)象后仍有連通區(qū)域在圖4.1.1中,我們可以清楚的看到在這里還有一些其他并不是目標(biāo)車(chē)牌的區(qū)域,為此我們需要精確的定位出我們的目標(biāo)區(qū)域從而對(duì)原圖進(jìn)行切割。為了達(dá)成我們的目的,我們想到統(tǒng)計(jì)二值圖中白色像素點(diǎn)的個(gè)數(shù),然后再進(jìn)行一系列的操作來(lái)選取我們目標(biāo)車(chē)牌具體的方位。4.2白色像素點(diǎn)的統(tǒng)計(jì)我們接下來(lái)要介紹兩種算法來(lái)對(duì)車(chē)牌進(jìn)行定位,但是在介紹這兩種算法之前,我們需要進(jìn)行一步統(tǒng)計(jì)像素點(diǎn)的工作,因?yàn)檫@兩種算法都是基于白色像素點(diǎn)統(tǒng)計(jì)這個(gè)工作的基礎(chǔ)上展開(kāi)的。根據(jù)二值圖的知識(shí)我們得知,在二值圖中黑色是0白色是1。根據(jù)這個(gè)原理我們只需要將二值圖中值為1的像素點(diǎn)統(tǒng)計(jì)完畢就相當(dāng)于是把白色區(qū)域的像素點(diǎn)總數(shù)完成了一次統(tǒng)計(jì)。根據(jù)上述原理,我們創(chuàng)建矩陣White_y和White_x用來(lái)分別存儲(chǔ)白色像素點(diǎn)的值(其中White_y是Y方向的值,White_x是X方向的值)。將整幅圖像的像素點(diǎn)一一與1比較,若像素點(diǎn)值為1,則White_y(White_x)的值加1。經(jīng)過(guò)行與列兩個(gè)循環(huán)后,我們便可以統(tǒng)計(jì)出白色像素點(diǎn)的數(shù)目。我們這樣做的目的是為了接下來(lái)確定上下邊界和左右邊界的位置,White_y和White_x在這里更像是將一幅圖像在Y方向和X方向的投影。4.3車(chē)牌定位算法4.3.1閾值比較算法關(guān)于如何選取車(chē)牌具體區(qū)域這一問(wèn)題,我們的中心思路是找到車(chē)牌區(qū)域的上下左右四個(gè)邊界的具體位置(分別記為Y1、Y2、X1、X2)后,利用MATLAB中選取區(qū)域的指令I(lǐng)(Y1:Y2:X1:X2)來(lái)剪裁圖像。這一小節(jié)我們采用了閾值比較的算法來(lái)確定Y1、Y2、X1、X2四個(gè)變量的坐標(biāo),閾值比較的算法是我們常見(jiàn)的一種算法,它的基本原理是我們?cè)O(shè)置一個(gè)閾值進(jìn)行判斷,若某行(列)中為1的元素大于等于我們?cè)O(shè)置的一個(gè)閾值,我們將其視為車(chē)牌區(qū)域。算法具體實(shí)現(xiàn)的步驟如下:我們首先找到圖像中白色像素點(diǎn)最多的一行。[maxyMaxY]=max(White_y),其中maxy為向量White_y的元素中的最大值,MaxY為該值得索引(相當(dāng)于一個(gè)地址)。我們這么做的目的是找Y1以及Y2起始的位置,一般來(lái)說(shuō),白色像素點(diǎn)最高的那一行是位于車(chē)牌區(qū)域內(nèi)的。這相當(dāng)于我們?cè)谲?chē)牌區(qū)域中找了一條線,然后分別向上下兩個(gè)方向延伸。對(duì)Y1這個(gè)變量來(lái)說(shuō),我們對(duì)其進(jìn)行一個(gè)判定,只要其滿足PY1處的白色像素點(diǎn)值大于5(我們?cè)O(shè)置的閾值)并且Y1大于1(即Y1在上邊界線下),我們讓其向上移動(dòng)一行,即Y1=Y1-1(對(duì)于整幅圖像來(lái)說(shuō),最上面的邊界地址是1,最下面的是y,即圖像的寬)對(duì)Y2這個(gè)變量來(lái)說(shuō),我們對(duì)其進(jìn)行一個(gè)判定,只要其滿足Y2處的白色像素點(diǎn)值大于5并且Y2小于y(即Y2在下邊界線上),我們讓其向下移動(dòng)一行,即Y2=Y2+1。通過(guò)這種方法我們可以得到車(chē)牌區(qū)域的上下邊界位置Y1和Y2,同理,我們也可以得到車(chē)牌區(qū)域的左右位置X1、X2。這里要特別注意一點(diǎn),由于車(chē)牌是矩形,每一列的像素點(diǎn)數(shù)目要小于每一行的像素點(diǎn)數(shù)目。我們不能再使用5作為閾值,而將閾值設(shè)為3。如前文所述,我們?cè)诘玫結(jié)1、Y2、X1、X2這四個(gè)邊界后,利用MATLAB中選取區(qū)域的指令I(lǐng)(Y1:Y2:X1:X2)來(lái)剪裁圖像。但是直接這樣效果并不好,我們這里簡(jiǎn)單的做了一些微調(diào),讓這個(gè)區(qū)域稍微大了一些。在MATLAB平臺(tái)上進(jìn)行仿真,結(jié)果如圖4.3.1所示:圖4.3.1定位裁剪后的車(chē)牌圖像4.3.2差分選取算法根據(jù)4.3.1節(jié)所介紹的閾值比較算法來(lái)說(shuō),在一定程度上我們確實(shí)可以定位成功車(chē)牌的位置。但是其效果并不是很穩(wěn)定,如圖4.3.2所示,仍然會(huì)出現(xiàn)切割錯(cuò)誤的情況,從而影響后續(xù)切割。圖4.3.2定位不成功的車(chē)牌圖像我們分析其出現(xiàn)的原因,發(fā)現(xiàn)其移除小對(duì)象的時(shí)候,將車(chē)牌與干擾區(qū)域連通在了一起,如圖4.3.3所示:圖4.3.3干擾區(qū)域與車(chē)牌區(qū)域的連通我們想要的是矩形的車(chē)牌區(qū)域,但是由于右上方多出來(lái)了一塊。根據(jù)4.3.1節(jié)通過(guò)設(shè)置閾值來(lái)判斷車(chē)牌區(qū)域的算法來(lái)看,由于僅僅考慮了閾值而沒(méi)有考慮到形狀問(wèn)題,我們將那一塊區(qū)域錯(cuò)誤地當(dāng)成了車(chē)牌區(qū)域,這也是這一算法的缺點(diǎn)。這節(jié)我們介紹的差分選取算法就是為了解決這一問(wèn)題提出的。由于我國(guó)現(xiàn)行的車(chē)牌均為矩形,在二值化圖像中我們也是為了找矩形的空白區(qū)域。我們通過(guò)觀察圖像后發(fā)現(xiàn),對(duì)于二值圖像來(lái)說(shuō),矩形區(qū)域的邊界像素值往往會(huì)從零個(gè)或僅有幾個(gè)白色像素點(diǎn)一下子躍變很多跟白色像素點(diǎn)。這一特性在數(shù)學(xué)上由差分可以表現(xiàn)出來(lái),在MATLAB中差分就是計(jì)算矩陣的上下相鄰行的差值。我們知道白色的矩形區(qū)域內(nèi)的像素值為1,黑色區(qū)域像素值為0。這樣一來(lái),對(duì)于上邊界而言,其差分值為1;下邊界來(lái)看,其差分值為-1。根據(jù)這一原理我們?cè)O(shè)計(jì)算法,步驟如下:我們找到Y(jié)方向上差分的最大值,將其地址記為Y1找到差分的最小值,將其記為Y2進(jìn)行一些微調(diào)X方向位置的確認(rèn)也同理。這一算法非常簡(jiǎn)潔明了,在MATLAB中我們對(duì)其進(jìn)行測(cè)試,效果如圖4.3.4所示:圖4.3.4差分選取法截取的車(chē)牌圖像我們可以很清楚的看見(jiàn),相比較于圖4.3.2,采用了差分選取算法后得到的圖像更為準(zhǔn)確。這種方法充分考慮了我們選取區(qū)域的形狀,并將其轉(zhuǎn)換為數(shù)學(xué)中的差分算法,正好彌補(bǔ)了之前算法的缺點(diǎn)。4.4車(chē)牌圖像的處理4.4.1車(chē)牌圖像的灰度化由于在4.3節(jié)中的車(chē)牌定位處理后我們得到的圖像是彩色圖像,在這里我們依舊要進(jìn)行一次灰度化處理。在前面3.2節(jié)中我們敘述了圖像的灰度化處理,這里我們應(yīng)該明確一下為什么要進(jìn)行兩次相同的操作?以及這兩次操作可不可以合并在一起?在回答上面的問(wèn)題之前,我們首先要清楚這兩次灰度化的處理目的。灰度化,是為了去除冗余信息、減少存儲(chǔ)空間、提高運(yùn)行效率。我們?cè)趯?duì)彩色圖像進(jìn)行處理之前都應(yīng)該對(duì)其進(jìn)行灰度化處理,第一次灰度化處理的對(duì)象是我們捕獲到的照片,目的是為了后面進(jìn)行車(chē)牌區(qū)域的定位;第二次灰度化處理是針對(duì)于車(chē)牌的圖像,目的是為了進(jìn)行車(chē)牌字符的識(shí)別。因此,我們可以看出來(lái)為什么我們要進(jìn)行兩次的灰度化處理。由于兩次灰度化處理的目的跟對(duì)象均不同,故也不能合并在一起進(jìn)行操作。灰度化的圖像如圖4.4.1所示:圖4.4.1車(chē)牌灰度圖像4.4.2Ostu算法實(shí)現(xiàn)二值化二值化就是將灰度圖轉(zhuǎn)換為二值圖的過(guò)程,二值化的目的是一方面為了減少計(jì)算量(因?yàn)槎祱D的每個(gè)像素點(diǎn)的值為0或者1),另一方面是為了選取對(duì)象,留下來(lái)我們感興趣的部分(這個(gè)過(guò)程有點(diǎn)像濾波)。二值化是針對(duì)于灰度圖來(lái)進(jìn)行處理的,由于灰度圖中每個(gè)像素點(diǎn)的值為灰度0~255中的某個(gè)具體數(shù)值,二值化的過(guò)程就是我們?cè)O(shè)置一個(gè)閾值來(lái)判斷[]。若某點(diǎn)處的灰度值大于閾值的為0(黑)或255(白),使圖像成為二值黑白圖。其中閾值可固定,也可自適應(yīng)閾值,二值化的核心就是圍繞這個(gè)閾值展開(kāi)的。常見(jiàn)的閾值選取方法有平均值法、直方圖法(雙峰法)、迭代最佳閾值法、自適應(yīng)二值法等等。其中比較常見(jiàn)的自適應(yīng)二值法是Ostu法,由于其在車(chē)牌識(shí)別這一項(xiàng)目中跟其他算法比起來(lái)具有顯著優(yōu)勢(shì),我們選用Ostu法作為我們的二值算法[]。Ostu算法,也稱(chēng)大津算法。Ostu法是一種灰度圖像自適應(yīng)閾值分割算法,是日本學(xué)者大津(Ostu)于1979年提出,又稱(chēng)類(lèi)間方差閾值分割法。Ostu法根據(jù)灰度圖的灰度分布特性選取一個(gè)閾值來(lái)將圖像分為前景和背景兩部分。前景是我們分割出來(lái)的部分,也就是我們想保留的部分(同樣是一種濾波的思想)。分割前景與背景的閾值是由類(lèi)方差求出的,我們根據(jù)類(lèi)方差的數(shù)學(xué)知識(shí)知道,構(gòu)成圖像的成分差距越大,其相應(yīng)像素點(diǎn)的灰度值的類(lèi)方差也就越大。部分目標(biāo)錯(cuò)分為背景或部分背景錯(cuò)分為目標(biāo)都會(huì)導(dǎo)致兩部分差別變小。因此,使類(lèi)間方差最大的分割意味著錯(cuò)誤分割的概率最小[]。Ostu算法的基本原理如下[]:Ostu算法是基于灰度圖像對(duì)應(yīng)的直方圖,假設(shè)圖像共有L個(gè)灰度級(jí),灰度級(jí)值為i的像素點(diǎn)個(gè)數(shù)為ni,那么直方圖的分布為:
p其中N是像素點(diǎn)總數(shù),pi設(shè)灰度值t為分割前景與背景的閾值,它將整個(gè)圖像分為了兩個(gè)區(qū)域:一類(lèi)是灰度值0~t像素點(diǎn)組成的背景區(qū)域A,以及灰度值t~L-1像素點(diǎn)組成的前景區(qū)域B。其中前景和背景出現(xiàn)的的概率如公式(4.4.2)以及公式(4.4.3)所示:pApB背景(A)與前景(B)的灰度均值為:ωAωB則圖像總的灰度值為:ω0由此,我們可以得到類(lèi)方差:σ2Ostu算法求出的閾值就是讓?duì)?MATLAB為我們提供了求Ostu閾值的函數(shù)graythresh(),對(duì)灰度圖使用這個(gè)函數(shù)進(jìn)行處理便可以得到Ostu閾值。從而配合二值化函數(shù)im2bw()使用,就成功實(shí)現(xiàn)了Ostu算法來(lái)對(duì)圖像進(jìn)行二值化。仿真結(jié)果如圖4.4.2所示:圖4.4.2Ostu算法實(shí)現(xiàn)二值化4.4.3車(chē)牌圖像的形態(tài)學(xué)處理為了便于我們下一步進(jìn)行字符的切割,我們要對(duì)其作出一些形態(tài)學(xué)處理。有關(guān)形態(tài)學(xué)處理,在前面的3.4節(jié)已經(jīng)介紹過(guò)很多了。這一小節(jié)中我們對(duì)二值化過(guò)后的車(chē)牌圖像分別進(jìn)行均值濾波以及腐蝕或膨脹。我們首先對(duì)其進(jìn)行中值濾波來(lái)消除噪點(diǎn)。圖4.4.3為均值濾波前的圖像,圖4.4.4為均值濾波后的圖像,如下所示:圖4.4.3均值濾波前圖4.4.4均值濾波后我們對(duì)濾波后的圖像進(jìn)行腐蝕或膨脹處理,這樣做的目的是使字符更加清晰。因?yàn)槲覀冊(cè)趯?duì)車(chē)牌圖像進(jìn)行二值化以及中值濾波的時(shí)候難免會(huì)使字符有毛邊或者是缺陷,我們計(jì)算白色區(qū)域與黑色區(qū)域的比值,若小于我們?cè)O(shè)置的一個(gè)閾值,則進(jìn)行膨脹操作,否則對(duì)其進(jìn)行腐蝕。這一步相當(dāng)于是一個(gè)字符的平滑處理,其結(jié)果如圖4.4.5所示:圖4.4.5膨脹或腐蝕后在進(jìn)行了以上的形態(tài)學(xué)處理后,我們得到了一個(gè)較為容易處理的車(chē)牌區(qū)域二值圖,接下來(lái)我們要對(duì)其進(jìn)行字符的分割與識(shí)別。5字符分割與識(shí)別5.1字符的分割我們?cè)诘谒恼轮械玫搅诵螒B(tài)學(xué)處理后的車(chē)牌圖像,現(xiàn)在我們應(yīng)該想辦法對(duì)其進(jìn)行字符識(shí)別。如果我們直接進(jìn)行七位車(chē)牌號(hào)的識(shí)別的話,同時(shí)進(jìn)行運(yùn)算過(guò)多而且非常容易產(chǎn)生錯(cuò)誤,也沒(méi)有好的識(shí)別方法,為此我們采用了先將車(chē)牌號(hào)碼的每一位字符切割出來(lái)逐位進(jìn)行檢測(cè)。這樣使得識(shí)別效率與準(zhǔn)確度大大加強(qiáng)。分割車(chē)牌字符最快的方法是根據(jù)車(chē)牌的標(biāo)準(zhǔn)尺寸來(lái)切割的方法。通過(guò)從左到右掃描校正后的車(chē)牌二值圖像,使用圖5.1.1作為一個(gè)切割模板(其中H為車(chē)牌字符高度),該方法可以解決二進(jìn)制車(chē)牌字符粘貼和鉚釘問(wèn)題,但是它在很大程度上依賴(lài)于車(chē)牌二進(jìn)制圖像的準(zhǔn)確性和標(biāo)準(zhǔn)化。如果車(chē)牌有輕微變形,車(chē)牌分割將會(huì)出現(xiàn)問(wèn)題。圖5.1.1切割模板我們根據(jù)第四章車(chē)牌定位的經(jīng)驗(yàn),可以考慮用閾值法來(lái)切割字符:還是通過(guò)首先統(tǒng)計(jì)出每一列的車(chē)牌像素點(diǎn)數(shù)目并且設(shè)置一個(gè)閾值去判斷字符邊界。在車(chē)牌上的每個(gè)字符左右邊緣,像素點(diǎn)數(shù)目會(huì)有跳變,通過(guò)找到合適范圍內(nèi)的跳變來(lái)確定字符邊界。根據(jù)確定好的邊界就可以進(jìn)行裁剪[]。5.2圖像的歸一化我們根據(jù)上面的步驟可以將車(chē)牌的漢字以及各位的數(shù)字和字母的位置找到從而對(duì)其進(jìn)行剪切,這些剪切好的圖片是尺寸不一的。我們根據(jù)模板匹配的思想(5.4節(jié)會(huì)講到)要對(duì)其進(jìn)行歸一化處理,即讓裁剪過(guò)后的圖片大小尺寸相等(長(zhǎng)寬比為2:1,這里選取的像素大小為40*20),然后我們利用imwrite()函數(shù)寫(xiě)入裁剪后的圖片,將其存儲(chǔ)在與模板庫(kù)相同的問(wèn)件夾下。對(duì)其依次命名為1——7來(lái)代表車(chē)牌的七位數(shù)字。裁剪后寫(xiě)入的漢字、字母、數(shù)字如圖5.2.1所示:圖5.3.1裁剪過(guò)的漢字、字母以及數(shù)字5.3模板庫(kù)的建立在中國(guó)大陸,車(chē)牌號(hào)的組成共有七位字符組成。首位是代表省份的簡(jiǎn)稱(chēng),第二位為字母代表著該省對(duì)應(yīng)的市級(jí)行政區(qū),剩下五位由數(shù)字和字母隨機(jī)排列組合構(gòu)成。由于神經(jīng)網(wǎng)絡(luò)方法需要對(duì)多個(gè)樣本進(jìn)行多次訓(xùn)練,而且中國(guó)規(guī)定的車(chē)牌字符相對(duì)整潔規(guī)范,因此本系統(tǒng)選擇了一種簡(jiǎn)單快速的模板匹配方法。首先,對(duì)字符進(jìn)行特征提取,并創(chuàng)建模板庫(kù)。我們搭建模板庫(kù)的目的就是將所有裁剪好的漢字、字母、數(shù)字與模板庫(kù)中的模板比對(duì),從而輸出對(duì)應(yīng)位的字符。為此我們需要建立模板庫(kù),模板庫(kù)建立包含我國(guó)各個(gè)省份的簡(jiǎn)稱(chēng),26個(gè)大寫(xiě)英文字母以及0-9共10個(gè)數(shù)字。但是我們考慮實(shí)際情況下進(jìn)行模板匹配時(shí),由于切割中的漢字、字母、數(shù)字可能會(huì)發(fā)生變形或者扭曲或者由于車(chē)牌本身上存在污漬以及在拍攝以及車(chē)牌形態(tài)學(xué)處理存在噪點(diǎn)等等情況,我們應(yīng)該對(duì)模板庫(kù)里各個(gè)字符的模板圖片進(jìn)行一些處理。我們通常采用的方法是采用平均值法將該字符多張樣本圖片取平均值得到。模板庫(kù)如圖5.3所示:圖5.3模板庫(kù)值得一提的是,這里的圖片由于每一個(gè)像素點(diǎn)都保存為.bmp的后綴格式,這是由于.jpg是壓縮存儲(chǔ)圖像的,這會(huì)降低圖像的質(zhì)量。而以.bmp為后綴的格式可以很好的保存每個(gè)像素點(diǎn)的像素值,從而使比對(duì)結(jié)果更加準(zhǔn)確[]。5.4模板匹配法識(shí)別字符我們現(xiàn)在得到了像素大小完全相等切割好的字符圖像與模板庫(kù)。根據(jù)車(chē)牌的命名特征,第一位為漢字,將其與模板庫(kù)中的漢字進(jìn)行對(duì)比;第二位是大寫(xiě)英文字母,將其與模板庫(kù)中的英文字母進(jìn)行對(duì)比;剩下的五位為英文字母與數(shù)字的組合,將其與模板庫(kù)中的數(shù)字與英文字母進(jìn)行對(duì)比[]。這個(gè)是我們進(jìn)行識(shí)別字符的主要思路,關(guān)鍵是找待測(cè)圖像與模板的比對(duì)方法。我們?cè)?.2節(jié)中得到了待測(cè)車(chē)牌每一位字符切割后并且歸一化后的圖像,并將其寫(xiě)入我們的文件夾中,在5.3節(jié)中我們建立模板庫(kù),里面存儲(chǔ)了所有可能出現(xiàn)的字符。我們現(xiàn)在的任務(wù)就是根據(jù)待測(cè)圖片來(lái)選取其對(duì)應(yīng)的模板圖像。我們這里采用一種很簡(jiǎn)單的比對(duì)方式:由于待測(cè)圖像與模板圖像均為二值圖,進(jìn)行線性計(jì)算特別是加減法非常方便,我們讓待測(cè)圖像每一個(gè)像素點(diǎn)與每個(gè)模板庫(kù)中的模板圖像的對(duì)應(yīng)像素點(diǎn)(其具有相同的位置信息)做差后存儲(chǔ)在一個(gè)40*20的矩陣之中。我們隨后統(tǒng)計(jì)該矩陣中有多少非0的像素點(diǎn),由于非0的像素點(diǎn)越多的二值圖像代表待測(cè)圖像與模板圖像的差異越大。我們將與待測(cè)圖像差異最小的模板視為對(duì)應(yīng)模板,并以字符串的形式輸出結(jié)果[]。MATLAB上仿真結(jié)果如圖5.4所示:圖5.4檢測(cè)結(jié)果可以看出我們是可以成功的識(shí)別出該車(chē)牌的車(chē)牌號(hào)碼。6測(cè)試結(jié)果本系統(tǒng)在網(wǎng)上隨機(jī)選取了70張照片,將其導(dǎo)入本測(cè)試系統(tǒng)之中,其測(cè)試結(jié)果如表6.1所示:表6.1測(cè)試結(jié)果測(cè)試項(xiàng)目測(cè)試結(jié)果(成功/失?。┏晒β蕡D片導(dǎo)入70/0100.00%車(chē)牌定位69/198.57%字符識(shí)別61/987.14%由測(cè)試結(jié)果可以看出:每個(gè)圖片都可以成功導(dǎo)入;車(chē)牌定位成功率較高,在測(cè)試的70張圖片中僅有一個(gè)圖片未能成功定位;在對(duì)車(chē)牌的字符識(shí)別這一項(xiàng)目中,有61張圖片可以成功識(shí)別出來(lái),對(duì)于可以成功定位的69中圖片中,可以成功識(shí)別的成功率為88.41%,總的來(lái)看識(shí)別成功率較高,該方法識(shí)別車(chē)牌字符是較為可靠的,基本滿足要求。對(duì)于未能成功定位車(chē)牌位置的車(chē)牌來(lái)看,該車(chē)牌圖片由于拍攝逆光較為模糊。因此這一算法的成功實(shí)現(xiàn)是依靠于像素較高的圖片。同時(shí),在未能成功識(shí)別字符的車(chē)牌中往往是其中某些位產(chǎn)生錯(cuò)誤,如圖6.1所示:圖6.1識(shí)別錯(cuò)誤的情況我們同時(shí)發(fā)現(xiàn)在車(chē)牌的后五位中英文字母I經(jīng)常與數(shù)字1產(chǎn)生識(shí)別錯(cuò)誤,同時(shí),4與A也會(huì)偶爾發(fā)生如此錯(cuò)誤。7總結(jié)與展望本文主要介紹了基于模板匹配法來(lái)實(shí)現(xiàn)機(jī)動(dòng)車(chē)的車(chē)牌識(shí)別,該系統(tǒng)通過(guò)對(duì)采集到的車(chē)牌圖像進(jìn)行預(yù)處理、車(chē)牌定位、字符切割與識(shí)別來(lái)達(dá)成車(chē)牌號(hào)碼識(shí)別這一目標(biāo)功能。相對(duì)于傳統(tǒng)的模板匹配法的車(chē)牌識(shí)別,這套算法有很多優(yōu)勢(shì),其中提出了一種差分的車(chē)牌定位方法,這種方法使車(chē)牌定位成功率大幅度提高,在圖片情況較好的情況下,定位成功率接近100%。根據(jù)第六章測(cè)試結(jié)果來(lái)看,我們對(duì)該算法的實(shí)際應(yīng)用提出了一些想法可供考慮:由于車(chē)牌識(shí)別的錯(cuò)誤結(jié)果并非識(shí)別不出
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年漳州衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)帶答案
- 商城服務(wù)員工作總結(jié)
- 安防行業(yè)顧問(wèn)工作總結(jié)
- 2025年中考英語(yǔ)一輪復(fù)習(xí)之主謂一致
- 酒店餐飲話務(wù)員工作總結(jié)
- 數(shù)碼行業(yè)話務(wù)員工作總結(jié)
- 數(shù)碼科技銷(xiāo)售工作總結(jié)
- 汽車(chē)行業(yè)市場(chǎng)推廣總結(jié)
- 【八年級(jí)下冊(cè)地理粵教版】期末測(cè)試
- 2024年石家莊郵電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- 氮?dú)饩彌_罐安全操作規(guī)程
- 金工釩鈦科技有限公司-年處理600萬(wàn)噸低品位釩鈦磁鐵礦選礦項(xiàng)目可行性研究報(bào)告
- ncv65系列安裝金盤(pán)5發(fā)版說(shuō)明
- 國(guó)能神皖安慶發(fā)電有限責(zé)任公司廠內(nèi)108MW-108MWh儲(chǔ)能項(xiàng)目環(huán)境影響報(bào)告表
- 鐵路試驗(yàn)檢測(cè)技術(shù)
- 2023-2024人教版小學(xué)2二年級(jí)數(shù)學(xué)下冊(cè)(全冊(cè))教案【新教材】
- 小學(xué)奧數(shù)基礎(chǔ)教程(附練習(xí)題和答案)
- 九年級(jí)語(yǔ)文上學(xué)期教學(xué)工作總結(jié)
- TWSJD 002-2019 醫(yī)用清洗劑衛(wèi)生要求
- GB/T 7324-2010通用鋰基潤(rùn)滑脂
- 杭州地鐵一號(hào)線工程某盾構(gòu)區(qū)間實(shí)施施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論