matlab車牌識別字符切割,車牌識別字符分割問題_第1頁
matlab車牌識別字符切割,車牌識別字符分割問題_第2頁
matlab車牌識別字符切割,車牌識別字符分割問題_第3頁
matlab車牌識別字符切割,車牌識別字符分割問題_第4頁
matlab車牌識別字符切割,車牌識別字符分割問題_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

matlab車牌識別字符切割,車牌識別字符分割問題function[d]=main(jpg)closeall;clear;[filename,filepath]=uigetfile('.jpg','輸??個需要識別的車牌圖像');%直接?動讀?%file=strcat(filepath,filename);I=imread(file);%figure(1),imshow(I);title('原圖');I1=rgb2gray(I);%figure(2),subplot(1,2,1),imshow(I1);title('灰度圖');%figure(2),subplot(1,2,2),imhist(I1);title('灰度圖直?圖');I2=edge(I1,'roberts',0.18,'both');%邊緣檢測%figure(3),imshow(I2);title('robert算?邊緣檢測')se=[1;1;1];I3=imerode(I2,se);%腐蝕%figure(4),imshow(I3);title('腐蝕后圖像');se=strel('rectangle',[20,20]);%?成?個矩陣I4=imclose(I3,se);%閉運算%figure(5),imshow(I4);title('平滑圖像的輪廓');I5=bwareaopen(I4,2000);%figure(6),imshow(I5);title('從對象中移除?對象');%車牌定位[y,x,~]=size(I5);myI=double(I5);%轉(zhuǎn)換為doublele類型%begin橫向掃描Blue_y=zeros(y,1);fori=1:yforj=x:-1:1if(myI(i,j,1)==1)%如果myI(i,j,1)即myI圖像中坐標為(i,j)的點為??%則Blue_y的相應(yīng)?的元素white_y(i,1)值加1Blue_y(i,1)=Blue_y(i,1)+1;%藍?像素點統(tǒng)計endend

end[temp,MaxY]=max(Blue_y);%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)&&(PY2PY2=PY2+1;endIY=I(PY1:PY2,:,:);%IY為原始圖像I中截取的縱坐標在PY1:PY2之間的部分%end橫向掃描%begin縱向掃描Blue_x=zeros(1,x);%進?步確定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)<5)&&(PX1PX1=PX1+1;endPX2=x;while((Blue_x(1,PX2)<5)&&(PX2>PX1))PX2=PX2-1;end%end縱向掃描PX1=PX1-2;%對車牌區(qū)域的校正PX2=PX2+2;dw=I(PY1+2:PY2-2,PX1+6:PX2-6,:);

figure(7),subplot(1,2,1),imshow(IY),title('??向合理區(qū)域');figure(7),subplot(1,2,2),imshow(dw),title('定位剪切后的彩?車牌圖像')imwrite(dw,'dw.jpg');a=imread('dw.jpg');b=rgb2gray(a);imwrite(b,'車牌灰度圖像.jpg');figure(8);subplot(1,2,1),imshow(b),title('車牌灰度圖像')thresh=graythresh(b);d=im2bw(b,thresh);%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,'2.車牌?值圖像.jpg');figure(8);subplot(1,2,2),imshow(d),title('2.車牌?值圖像')figure(9),subplot(1,2,1),imshow(d),title('3.中值濾波前')%濾波h=medfilt2(d);%h=fspecial('average',3);d=im2bw(h)%d=im2bw(round(filter2(h,d)));%BW=im2bw(I,level)將灰度圖像I轉(zhuǎn)換為?進制圖像。輸出圖像%BW將輸?圖像中亮度值?于level的像素替換為值1(??),其他替換為值0(??imwrite(d,'4.中值濾波.jpg');figure(9),subplot(1,2,2),imshow(d),title('4.中值濾波后')%膨脹或腐蝕se=eye(2);%eye(n)returnsthen-by-nidentitymatrix單位矩陣[m,n]=size(d);ifbwarea(d)/m/n>=0.365%計算?積d=imerode(d,se);%imerode實現(xiàn)圖像腐蝕d為待處理圖像,se是結(jié)構(gòu)元素對象elseifbwarea(d)/m/n<=0.235d=imdilate(d,se);%imdilate圖像膨脹endimwrite(d,'5.膨脹或腐蝕處理后.jpg');

%figure(8),subplot(3,2,5),imshow(d),title('5.膨脹或腐蝕處理后')%尋找連續(xù)有?字的塊,若長度?于某閾值,則認為該塊有兩個字符組成,需要分割d=qiege(d);[m,n]=size(d);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;%分割endendd=qiege(d);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;endifwided(:,[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;%WORD1endd(:,[1:wide])=0;d=qiege(d);endend%分割出第?個字符[word2,d]=getword(d);%分割出第?個字符[word3,d]=getword(d);%分割出車牌的點舍棄不要[word4,d]=getword(d);%分割出第三個字符[word5,d]=getword(d);%分割出第四個字符[word6,d]=getword(d);%分割出第五個字符[word7,d]=getword(d);%分割出第六個字符%[word8,d]=getword(d);%分割出第七個字符[m,n]=size(word1);word1=imresize(word1,[4020]);word2=imresize(word2,[4020]);word2=imresize(word3,[4020]);word4=imresize(word4,[4020]);word5=imresize(word5,[4020]);word6=imresize(word6,[4020]);word7=imresize(word7,[4020]);%word8=imresize(word8,[4020]);figure(16),subplot(1,8,1),imshow(word1),title('1');subplot(1,8,2),imshow(word2),title('2');subplot(1,8,3),imshow(word2),title('3');subplot(1,8,4),imshow(word4),title('4');subplot(1,8,5),imshow(word5),title('5');subplot(1,8,6),imshow(word6),title('6');subplot(1,8,7),imshow(word7),title('7');%subplot(1,8,7),imshow(word8),title('8');%?程序:(getword?程序)

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-2%有??加1知道沒有??,也就%是找出?個??區(qū)域wide=wide+1;endtemp=qiege(imcrop(d,[11widem]));[m1,n1]=size(temp);ifwidey2d(:,[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;functione=qiege(d)[m,n]=size(d);top=1;bottom=m;left=1;right=n;%initwhilesum(d(top,:))==0&&top<=m%切割出??區(qū)域(橫切)top=top+1;en

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論