版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于matlab的車牌識別系統(tǒng)一、對車輛圖像進(jìn)行預(yù)處置載入車牌圖像:function[d]=main(jpg)[filename,pathname]=uigetfile({'*.jpg','JPEG文件(*.jpg)'});if(filename==0),return,endglobalFILENAME%概念全局變量FILENAME=[pathnamefilename];I=imread(FILENAME);figure(l),imshow(I);title('原圖像');%將車牌的原圖顯示出來結(jié)果如下:將彩圖轉(zhuǎn)換為灰度圖并繪制直方圖:II二rgb2gray(I);%將彩圖轉(zhuǎn)換為灰度圖figure(2),subplot(l,2,l),imshow(Il);title('灰度圖像');figure(2),subplot(l,2,2),imhist(I1);title('灰度圖直方圖');%繪制灰度圖的直方圖結(jié)果如下所示:用roberts算子進(jìn)行邊緣檢測:I2=edge(I1,'roberts',0.18,'both');%選擇閾值0.18,用roberts算子進(jìn)行邊緣檢測figure(3),imshow(I2);title('roberts算子邊緣檢測圖像');結(jié)果如下:
se=[1;1;1];I3=imerode(I2,se);%對圖像實(shí)施侵蝕操作,即膨脹的反操作figure(4),imshow(I3);title('侵蝕后圖像');se=strel('rectangle',[25,25]);%構(gòu)造結(jié)構(gòu)元素以正方形構(gòu)造一個(gè)se
I4=imclose(I3,se);%圖像聚類、填充圖像figure(5),imshow(I4);title('滑膩圖像');I5=bwareaopen(I4,2000);%去除聚團(tuán)灰度值小于2000的部份figure(6),imshow(I5);title('從對象中移除小的對象');結(jié)果如下所示:二、車牌定位[y,x,z]二size(I5);%返回15各維的尺寸,存儲在x,y,z中myl=double(15);%將I5轉(zhuǎn)換成雙精度tic%tic表示計(jì)時(shí)的開始,toc表示計(jì)時(shí)的終止Blue_y=zeros(y,l);%產(chǎn)生一個(gè)y*1的零陣fori=1:yforj=1:xif(myI(i,j,1)==1)%若是myl(i,j,l)即myI的圖像中坐標(biāo)為(i,j)的點(diǎn)值為1,即該點(diǎn)為車牌背景顏色藍(lán)色%那么Blue_y(i,1)的值加1Blue_y(i,1)=Blue_y(i,1)+1;%藍(lán)色像素點(diǎn)統(tǒng)計(jì)endendend[tempMaxY]二max(Blue_y);%Y方向車牌區(qū)域確信%temp為向量white_y的元素中的最大值,MaxY為該值的索引PY1=MaxY;while((Blue_y(PY1,1)>=5)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while((Blue_y(PY2,1)>=5)&&(PY2<y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);%x方向車牌區(qū)域確信%%%%%%X方向%%%%%%%%%Blue_x=zeros(l,x);%進(jìn)一步確信x方向的車牌區(qū)域forj=1:xfori=PY1:PY2if(myI(i,j,1)==1)Blue_x(1,j)=Blue_x(1,j)+1;endendendPX1=1;while((Blue_x(1,PX1)<3)&&(PX1<x))PX1=PX1+1;endPX2=x;while((Blue_x(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX1=PX1-1;%對車牌區(qū)域的校正PX2=PX2+1;dw=I(PY1:PY2-8,PX1:PX2,:);t=toc;figure(7),subplot(l,2,l),imshow(IY),title('行方向合理區(qū)域');%行方向車牌區(qū)域確信figure(7),subplot(l,2,2),imshow(dw),title('定位裁剪后的車牌彩色圖像');的車牌區(qū)域如下所示:三、字符分割及處置1.車牌的進(jìn)一步處置對分割出的彩色車牌圖像進(jìn)行灰度轉(zhuǎn)換、二值化、均值濾波、侵蝕膨脹和字符分割以從車牌圖像中分離出組成車牌號碼的單個(gè)字符圖像,對分割出來的字符進(jìn)行預(yù)處置(二值化、歸一化),然后分析提取,對分割出的字符圖像進(jìn)行識別給出文本形式的車牌號碼。代碼如下:imwrite(dw,'彩色車牌.jpg');%將彩色車牌寫入彩色車牌文件中a=imread('彩色車牌.jpg');%讀取車牌文件中的數(shù)據(jù)b=rgb2gray(a);%將車牌圖像轉(zhuǎn)換為灰度圖imwrite(b,'車牌灰度圖像.jpg');%將灰度圖像寫入文件中figure(8);subplot(3,2,l),imshow(b),title('車牌灰度圖像')g_max=double(max(max(b)));g_min=double(min(min(b)));T=round(g_max-(g_max-g_min)/3);%T為二值化的閾值[m,n]=size(b);d=(double(b)>=T);%d:二值圖像imwrite(d,'均值濾波前.jpg');subplot(3,2,2),imshow(d),title('均值濾波前')%均值濾波前%濾波h=fspecial('average',3);%成立預(yù)概念的濾波算子‘a(chǎn)verage為均值濾波,模板的尺寸為3*3d=im2bw(round(filter2(h,d)));%利用指定的濾波器h對h進(jìn)行d即均值濾波imwrite(d,'均值濾波后.jpg');subplot(3,2,3),imshow(d),title('均值濾波后')%某些圖像進(jìn)行操作%膨脹或侵蝕%se=strel('square',3);%利用一個(gè)3X3的正方形結(jié)果元素對象對創(chuàng)建的圖像進(jìn)行膨脹%'line'/'diamond'/'ball'...se=eye(2);%eye(n)returnsthen-by-nidentitymatrix單位矩陣[m,n]=size(d);%返回矩陣b的尺寸信息,并存儲在m,n中ifbwarea(d)/m/n>=0.365%計(jì)算二值圖像中對象的總面積與整個(gè)面積的比是不是大于0.365d=imerode(d,se);%若是大于0.365那么圖像進(jìn)行侵蝕elseifbwarea(d)/m/n<=0.235%計(jì)算二值圖像中對象的總面積與整個(gè)面積的比是不是小于0.235d=imdilate(d,se);%若是小于那么實(shí)現(xiàn)膨脹操作endimwrite(d,'膨脹或侵蝕處置后.jpg');
subplot(3,2,4),imshow(d),title('膨脹或侵蝕處置后');2.字符分割在汽車牌照自動(dòng)識別進(jìn)程中,字符分割有繼往開來的作用。它在前期牌照定位的基礎(chǔ)上進(jìn)行字符的分割,然后再利用分割的結(jié)果進(jìn)行字符識別。字符識別的算法很多,因?yàn)檐嚺谱址g距離較大,可不能顯現(xiàn)字符粘連情形,因此此處采納的方式為尋覓持續(xù)有文字的塊,假設(shè)長度大于某閾值,那么以為該塊有兩個(gè)字符組成,需要分割。一樣分割出來的字符要進(jìn)行進(jìn)一步的處置,以知足下一步字符識別的需要??墒顷P(guān)于車牌的識別,并非需要太多的處置就已經(jīng)能夠達(dá)到正確識別的目的。在此只進(jìn)行了歸一化處置,然后進(jìn)行后期處置。%尋覓持續(xù)有文字的塊,假設(shè)長度大于某閾值,那么以為該塊有兩個(gè)字符組成,需要分割%第一創(chuàng)建子函數(shù)qiege與getword,而后挪用子程序,將車牌的字符分割開而且進(jìn)行歸一化處置d=qiege(d);[m,n]=size(d);%subplot(3,2,5),imshow(d),title(n)k1=1;k2=1;s=sum(d);j=1;whilej~=nwhiles(j)==0j=j+1;endk1=j;whiles(j)~=0&&j<=n-1j=j+1;endk2=j-1;ifk2-k1>=round(n/6.5)[val,num]=min(sum(d(:,[k1+5:k2-5])));d(:,k1+num+5)=0;%分割endend%再切割d=qiege(d);%切割出7個(gè)字符y1=10;y2=0.25;flag=0;word1=[];whileflag==0[m,n]=size(d);left=1;wide=0;whilesum(d(:,wide+1))~=0wide=wide+1;endifwide<y1%以為是左側(cè)干擾d(:,[1:wide])=0;d=qiege(d);elsetemp=qiege(imcrop(d,[11widem]));[m,n]=size(temp);all=sum(sum(temp));two_thirds=sum(sum(temp([round(m/3):2*round(m/3)],:)));iftwo_thirds/all>y2flag=1;word1=temp;endd(:,[1:wide])=0;d=qiege(d);endend%分割出第二個(gè)字符[word2,d]=getword(d);%分割出第三個(gè)字符[word3,d]=getword(d);%分割出第四個(gè)字符[word4,d]=getword(d);%分割出第五個(gè)字符[word5,d]=getword(d);%分割出第六個(gè)字符[word6,d]=getword(d);%分割出第七個(gè)字符[word7,d]=getword(d);figure(9);subplot(2,7,1),imshow(word1),title('1');subplot(2,7,2),imshow(word2),title('2');subplot(2,7,3),imshow(word3),title('3');subplot(2,7,4),imshow(word4),title('4');subplot(2,7,5),imshow(word5),title('5');subplot(2,7,6),imshow(word6),title('6');subplot(2,7,7),imshow(word7),title('7');[m,n]=size(word1);%商用系統(tǒng)程序中歸一化大小為40*20,此處演示word1=imresize(word1,[4020]);word2=imresize(word2,[4020]);word3=imresize(word3,[4020]);word4=imresize(word4,[4020]);word5=imresize(word5,[4020]);word6=imresize(word6,[4020]);word7=imresize(word7,[4020]);subplot(2,7,8),imshow(word1),title('1');subplot(2,7,9),imshow(word2),title('2');subplot(2,7,10),imshow(word3),title('3');subplot(2,7,11),imshow(word4),title('4');subplot(2,7,12),imshow(word5),title('5');subplot(2,7,13),imshow(word6),title('6');subplot(2,7,14),imshow(word7),title('7');imwrite(word1,'1.jpg');imwrite(word2,'2.jpg');imwrite(word3,'3.jpg');imwrite(word4,'4.jpg');imwrite(word5,'5.jpg');imwrite(word6,'6.jpg');imwrite(word7,'7.jpg');運(yùn)行結(jié)果如下:
四、車牌匹配識別模板匹配是圖象識別方式中最具代表性的大體方式之一,它是將從待識別的圖象或圖象區(qū)域f(i,j)中提取的假設(shè)干特點(diǎn)量與模板T(i,j)相應(yīng)的特點(diǎn)量逐個(gè)進(jìn)行比較,計(jì)算它們之間規(guī)格化的相互關(guān)量,其中相互關(guān)量最大的一個(gè)就表示期間相似程度最高,可將圖象歸于相應(yīng)的類。也能夠計(jì)算圖象與模板特點(diǎn)量之間的距離,用最小距離法判定所屬類。此處采納相減的方式來求得字符與模板中哪個(gè)字符最相似,然后找到相似度最大的輸出。汽車牌照的字符一樣有七個(gè),大部份車牌第一名是漢字,通常代表車輛所屬省份,緊接其后的為字母與數(shù)字。車牌字符識別與一樣文字識別在于它的字符數(shù)有限,漢字共約50多個(gè),大寫英文字母26個(gè),數(shù)字10個(gè)。為了實(shí)驗(yàn)方便,結(jié)合本次設(shè)計(jì)所選汽車牌照的特點(diǎn),只成立了7個(gè)數(shù)字26個(gè)字母與10個(gè)數(shù)字的模板。其他模板設(shè)計(jì)的方式與此相同。第一取字符模板,接著依次取待識別字符與模板進(jìn)行匹配,將其與模板字符相減,取得的0越多那么就越匹配。把每一幅相減后的圖的0值個(gè)數(shù)保留,即為識別出來的結(jié)果。識別的流程圖如下所示:源代碼如下:liccode=char(['0':'9''A':'Z''京遼魯陜蘇豫浙']);%成立自動(dòng)識別字符代碼表SubBw2=zeros(40,20);%產(chǎn)生40*20的全0矩陣l=1;forI=1:7ii=int2str(I);%轉(zhuǎn)為串t=imread([ii,'.jpg']);%讀取圖片文件中的數(shù)據(jù)SegBw2=imresize(t,[4020],'nearest');%對圖像做縮放處置SegBw2=double(SegBw2)>20;ifl==1 %第一名漢字識別kmin=37;kmax=43;elseifl==2 %第二位A~Z字母識別kmin=11;kmax=36;elsel>=3 %第三位以后是字母或數(shù)字識別kmin=1;kmax=36;endfork2=kmin:kmaxfname=strcat('字符模板\',liccode(k2),'.jpg');%把行向量轉(zhuǎn)化成字符串SamBw2=imread(fname);SamBw2=double(SamBw2)>1;fori=1:40forj=1:20SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j);endend%以上相當(dāng)于兩幅圖相減取得第三幅圖Dmax=0;fork1=1:40forl1=1:20if(SubBw2(k1,l1)>0|SubBw2(k1,l1)<0)Dmax=Dmax+1;endendendError(k2)=Dmax;endError1=Error(kmin:kmax);MinError=min(Error1);findc=find(Error1==MinError);Code(l*2-1)=liccode(findc(1)+kmin-1);Code(l*2)='';%輸出最大相關(guān)圖像l=l+1;endfigure(10),imshow(dw),title(['車牌號碼:',Code],'Color','r');子程序代碼:functione=qiege(d)[m,n]=size(d);top=1;bottom=m;left=1;right=n;%intwhilesum(d(top,:))==0&&top<=mtop=top+1;endwhilesum(d(bottom,:))==0&&bottom>1bottom=bottom-1;endwhilesum(d(:,left))==0&&left<nleft=left+1;endwhilesum(d(:,right))==0&&right>=1right=right-1;enddd=right-left;hh=bottom-top;e=imcrop(d,[lefttopddhh]);%返回圖像的一個(gè)裁剪區(qū)域function[word,result]=getword(d)word=[];flag=0;y1=8;y2=0.5;whileflag==0[m,n]=size(d);wide=0;whilesum(d(:,wide+1))~=0&&wide<=n-2wide=wide+1;endtemp=qiege(imcrop(d,[11widem]));[m1,n1]=size(temp);ifwide<y1&&n1/m1>y2d(:,[1:wide])=0;ifsum(sum(d))~=0d=qiege(d);%切割出最小范圍elseword=[];flag=1;endelseword=qiege(imcrop(d,[11widem]));d(:,[1:wide])=0;ifsum(sum(d))~=0d=qiege(d);flag=1;elsed=[];endendendresult=d;對另一幅車牌圖片進(jìn)行識別監(jiān)測程序,結(jié)果如下所示:」Figure1EileEditYiewInsertTcdeReEktopitindowEelp□活口雪I恰逼|口目|戸巨原圖像?>Figure3 □回岡Eile£ditYiewInsertloolsQeskto
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)貿(mào)市場消防安全管理制度
- 2026 年規(guī)范化離婚協(xié)議書標(biāo)準(zhǔn)范本
- 麻精藥品培訓(xùn)考試試題測試題庫含答案
- 環(huán)保高端培訓(xùn)課件
- 市政污泥處置及污泥再利用項(xiàng)目可行性研究報(bào)告
- 環(huán)保業(yè)務(wù)咨詢介紹
- 《GAT 2000.347-2024公安信息代碼 第347部分:數(shù)據(jù)服務(wù)資源標(biāo)識符編碼規(guī)則》專題研究報(bào)告
- 公路項(xiàng)目建議書
- 鈉離子電池生產(chǎn)線項(xiàng)目規(guī)劃設(shè)計(jì)方案
- 城市地下管網(wǎng)更新改造項(xiàng)目投資計(jì)劃書
- 2026年重慶市江津區(qū)社區(qū)專職人員招聘(642人)筆試備考試題及答案解析
- 2026年思明區(qū)公開招聘社區(qū)工作者考試備考題庫及完整答案詳解1套
- 【四年級】【數(shù)學(xué)】【秋季上】期末家長會:數(shù)海引航愛伴成長【課件】
- 小學(xué)音樂教師年度述職報(bào)告范本
- 2025年新版八年級上冊歷史期末考試模擬試卷試卷 3套(含答案)
- 2026福建廈門市校園招聘中小學(xué)幼兒園中職學(xué)校教師346人筆試參考題庫及答案解析
- 2025年合肥經(jīng)開投資促進(jìn)有限公司公開招聘11人筆試參考題庫及答案解析
- 儲能電站電力銷售協(xié)議2025
- 北京市社保信息化發(fā)展評估研究報(bào)告
- GB/T 8336-2011氣瓶專用螺紋量規(guī)
- GB/T 1048-2019管道元件公稱壓力的定義和選用
評論
0/150
提交評論