基于Matlab的車牌識(shí)別實(shí)現(xiàn)源碼(共10頁(yè))

上傳人:Xgjmqtw****nqtwad... 文檔編號(hào):61245719 上傳時(shí)間:2022-03-10 格式:DOC 頁(yè)數(shù):10 大?。?1KB
收藏 版權(quán)申訴 舉報(bào) 下載
基于Matlab的車牌識(shí)別實(shí)現(xiàn)源碼(共10頁(yè))_第1頁(yè)
第1頁(yè) / 共10頁(yè)
基于Matlab的車牌識(shí)別實(shí)現(xiàn)源碼(共10頁(yè))_第2頁(yè)
第2頁(yè) / 共10頁(yè)
基于Matlab的車牌識(shí)別實(shí)現(xiàn)源碼(共10頁(yè))_第3頁(yè)
第3頁(yè) / 共10頁(yè)

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《基于Matlab的車牌識(shí)別實(shí)現(xiàn)源碼(共10頁(yè))》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于Matlab的車牌識(shí)別實(shí)現(xiàn)源碼(共10頁(yè))(10頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、精選優(yōu)質(zhì)文檔-----傾情為你奉上 function[]=main(jpg) close all clc tic %測(cè)定算法執(zhí)行的時(shí)間 [fn,pn]=uigetfile('timg1,jpg','選擇圖片') %讀入圖片 I=imread([pn,fn]); figure,imshow(I);title('原始圖像'); %顯示原始圖像 Im1=rgb2gray(I); figure(2), subplot(1,2,1), imshow(Im1); title('灰度圖'); figure(2), subplot(1,2,2), imhist(

2、Im1); title('灰度圖的直方圖'); %顯示圖像的直方圖 Tiao=imadjust(Im1,[0.19,0.78],[0,1]); %調(diào)整圖片 figure(3), subplot(1,2,1), imshow(Tiao);title('增強(qiáng)灰度圖'); figure(3), subplot(1,2,2), imhist(Tiao); title('增強(qiáng)灰度圖的直方圖'); Im2=edge(Tiao,'Roberts','both'); %使用sobel算子進(jìn)行邊緣檢測(cè) figure(4), imshow(Im2); title('sob

3、el算子實(shí)現(xiàn)邊緣檢測(cè)') se=[1;1;1]; Im3=imerode(Im2,se); figure(5), imshow(Im3); title('腐蝕效果圖'); se=strel('square',40);%'rectangle',[25,25]/'diamond',25/ Im4=imclose(Im3,se); figure(6), imshow(Im4); title('平滑圖像的輪廓'); Im5=bwareaopen(Im4,1500); figure(7), imshow(Im5); title('移除小對(duì)象'); [y,x,z]

4、=size(Im5); %返回Im5各維的尺寸,并存儲(chǔ)在變量y、x、z中 Im6=double(Im5); %將Im5換成雙精度數(shù)值 %開(kāi)始橫向掃描 tic %tic計(jì)時(shí)開(kāi)始,toc結(jié)束,計(jì)算tic與toc之間程序的運(yùn)行時(shí)間 Blue_y=zeros(y,1); %產(chǎn)生y*1的全0矩陣 for i=1:y %逐行掃描 for j=1:x if(Im6(i,j,1)==1)%如果Im6圖像中坐標(biāo)為(i,j)的點(diǎn)值為1,即為移除小對(duì)象的白色區(qū)域, Blue_y(i,1)= Blue_y(i,1)+1;%則y*1列矩陣的相應(yīng)像

5、素點(diǎn)的元素值加1, end end end [temp MaxY]=max(Blue_y);%temp為向量Blue_y的矩陣中的最大值,MaxY為該值的索引(最大值在向量中的位置) %返回包含最大元素的列,即白色區(qū)域最寬的列 %Y方向車牌區(qū)域確定 figure(8),subplot(1,2,1), plot(0:y-1,Blue_y),title('行方向白色像素點(diǎn)累計(jì)'),xlabel('行數(shù)'),ylabel('個(gè)數(shù)'); PY1=MaxY; while ((Blue_y(PY1,1)>=120)&&(PY1>1)) PY1

6、=PY1-1; end PY2=MaxY; while ((Blue_y(PY2,1)>=40)&&(PY2

7、值確定 end end end figure(8),subplot(1,2,2), plot(0:x-1,Blue_x),title('列方向白色像素點(diǎn)累計(jì)'),xlabel('列數(shù)'),ylabel('個(gè)數(shù)'); PX1=1; while ((Blue_x(1,PX1)<3)&&(PX1PX1)) PX2=PX2-1; end %end縱向掃描 PX1=PX1-2;%對(duì)車牌區(qū)域的

8、校正 PX2=PX2+2; dw=I(PY1:PY2,PX1:PX2,:); t=toc; figure(9),subplot(1,2,1),imshow(IY),title('垂直方向合理區(qū)域'); figure(9),subplot(1,2,2),imshow(dw),title('定位剪切后的彩色車牌圖像') imwrite(dw,'dw.jpg'); %將圖像寫入圖形文件中 a=imread('dw.jpg'); b=rgb2gray(a); imwrite(b,'車牌灰度圖像.jpg'); figure(10); subplot(3,2,1), imshow(

9、b), title('1.車牌灰度圖像') g_max=double(max(max(b))); g_min=double(min(min(b))); T=round(g_max-(g_max-g_min)/3); %T為設(shè)定的二值化的閾值,返回一個(gè)四舍五入的整數(shù)值 [m,n]=size(b); d=(double(b)>=T); %d為二值圖像 imwrite(d,'車牌二值圖像.jpg'); figure(10); subplot(3,2,2), imshow(d), title('2.車牌二值圖像') figure(10), subplot(3,2,3),

10、 imshow(d), title('3.均值濾波前') h=fspecial('average',3);%建立預(yù)定義的濾波算子,average為均值濾波,模板尺寸為3*3 d=imbinarize(round(filter2(h,d))); %im2bw,使用指定的濾波器h對(duì)h進(jìn)行d即均值濾波 imwrite(d,'均值濾波后.jpg'); figure(10), subplot(3,2,4), imshow(d), title('4.均值濾波后') se=eye(2);%單位矩陣 [m,n]=size(d); %d為二值圖像,返回信息矩陣 if bwarea(d

11、)/m/n>=0.365%二值圖像中對(duì)象的總面積與整個(gè)面積的比大于0.365 d=imerode(d,se);%進(jìn)行腐蝕 elseif bwarea(d)/m/n<=0.235%二值圖像中對(duì)象的總面積與整個(gè)面積的比值小于0.235 d=imdilate(d,se);%進(jìn)行膨脹 end imwrite(d,'膨脹或腐蝕處理后.jpg'); figure(10), subplot(3,2,5), imshow(d), title('5.膨脹或腐蝕處理后.jpg') d=qiege(d); %切割,尋找連續(xù)有文字的塊,若長(zhǎng)度大于某閾值,則認(rèn)為該塊有兩個(gè)字符組成

12、,需要分割 [m,n]=size(d); 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; end end d

13、=qiege(d); y1=10;y2=0.25;flag=0;word1=[]; while flag==0 [m,n]=size(d); wide=0; while sum(d(:,wide+1))~=0 %掃過(guò)的地方不全為黑色,向右移動(dòng),直到不是停止 wide=wide+1; end if wide

14、se temp=qiege(imcrop(d,[1 1 wide m]));%返回已經(jīng)切割好的區(qū)域 [m,n]=size(temp); all=sum(sum(temp));%統(tǒng)計(jì)切割區(qū)域所有元素 two_thirds=sum(sum(temp([round(m/3):2*round(m/3)],:)));%統(tǒng)計(jì)切割區(qū)域1/3至2/3行所有元素 if two_thirds/all>y2 flag=1;word1=temp; end d(:,[1

15、:wide])=0;d=qiege(d); end end [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); %分割出第七個(gè)字符 word1=imresize(word1,[40 20]);%模板字符大小統(tǒng)一為40*20,為字符辨認(rèn)做準(zhǔn)備 word2=i

16、mresize(word2,[40 20]); word3=imresize(word3,[40 20]); word4=imresize(word4,[40 20]); word5=imresize(word5,[40 20]); word6=imresize(word6,[40 20]); word7=imresize(word7,[40 20]); figure(11); subplot(2,7,1),imshow(word1),title('1'); subplot(2,7,2),imshow(word2),title('2'); subplot(2,7,3),ims

17、how(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'); imwrite(word1,'1.jpg'); imwrite(word2,'2.jpg'); imwrite(word3,'3.jpg'); imwrite(word4,'4.jpg'); imwrite(

18、word5,'5.jpg'); imwrite(word6,'6.jpg'); imwrite(word7,'7.jpg'); liccode=char(['0':'9' 'A':'Z' '遼粵豫鄂魯陜京津蘇浙']); %建立自動(dòng)識(shí)別字符代碼表,將t'0':'9' 'A':'Z' '魯陜蘇豫'多個(gè)字符串組成一個(gè)字符數(shù)組,每行對(duì)應(yīng)一個(gè)字符串,字符數(shù)不足的自動(dòng)補(bǔ)空格 SubBw2=zeros(40,20);%40*20的零矩陣 l=1; for I=1:7 ii=int2str(I);%整型轉(zhuǎn)換字符串 t=imread([ii,'.jpg']); S

19、egBw2=imresize(t,[40 20],'nearest');%改變圖片的大小 SegBw2=double(SegBw2)>50;%將灰度圖轉(zhuǎn)化為二值圖像,double產(chǎn)生0-255的灰度值 if l==1 %第一位漢字識(shí)別 kmin=37; kmax=46;%模板中漢字所在的位置 elseif l==2 %第二位字母識(shí)別 kmin=11; kmax=36;%A-Z字母位置 else l>=3 %第三位后字母或數(shù)字識(shí)別 kmin=1;

20、 kmax=36; end for k2=kmin:kmax fname=strcat('字符模板\',liccode(k2),'.jpg'); SamBw2=imread(fname); SamBw2=double(SamBw2)>50;%將模板轉(zhuǎn)換為二值圖,double產(chǎn)生0-255的灰度值 for i=1:40 for j=1:20 SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j);

21、 end end %相當(dāng)于兩幅圖相減得第三幅圖 Dmax=0; for k1=1:40 for l1=1:20 if abs(SubBw2(k1,l1))>0 Dmax=Dmax+1; end end end Error(k2)=Dmax; end Error1=Error(kmin:kmax);%

22、模板對(duì)應(yīng)的字符模板進(jìn)行匹配選擇 MinError=min(Error1); findc=find(Error1==MinError); Code(l*2-1)=liccode(findc(1)+kmin-1); Code(l*2)=' '; l=l+1; end msgbox(Code,'識(shí)別結(jié)果') function [word,result]=getword(d) %定義分割字符用函數(shù)(1) word=[];flag=0;y1=8;y2=0.5; while flag==0 [m,n]=size(d); w

23、ide=0; while sum(d(:,wide+1))~=0 && wide<=n-2 wide=wide+1; end temp=imcrop(d,[1 1 wide m]);%用于返回圖像的一個(gè)裁剪區(qū)域 [m1,n1]=size(temp); z=sum(temp,2);count=0; for i=1:m1 if z(i)~=0 count=count+1; end end if count

24、,[1,wide])=0; d=qiege(d); else temp=qiege(imcrop(d,[1 1 wide m]));%用于返回圖像的一個(gè)裁剪區(qū)域 [m1,n1]=size(temp); if widey2 %寬度過(guò)小,或長(zhǎng)大于寬的兩倍 d(:,[1,wide])=0; if sum(sum(d))~=0 %d中所有元素之和 d=qiege(d);%切割出最小范圍 else

25、 word=[];flag=1; end else word=qiege(imcrop(d,[1 1 wide m]));%劃分出的temp進(jìn)行切割 d(:,[1:wide])=0;%切割完后該區(qū)域變?yōu)楹谏? if sum(sum(d))~=0 d=qiege(d);flag=1; else d=[]; end end end en

26、d result=d; function e=qiege(d) %定義分割字符用函數(shù)(2) [m,n]=size(d); top=1;bottom=m;left=1;right=n; %inte while sum(d(top,:))==0 && top<=m top=top+1; end while sum(d(bottom,:))==0 && bottom>=1 bottom=bottom-1; end while sum(d(:,left))==0 && left<=n left=left+1; end while sum(d(:,right))==0 && right>=1 right=right-1; end dd=right-left; hh=bottom-top; e=imcrop(d,[left top dd hh]); //字符實(shí)別需要字符圖庫(kù),沒(méi)有對(duì)照?qǐng)D庫(kù)是識(shí)別不了的 專心---專注---專業(yè)

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!