數字圖像處理技術大作業報告《車牌圖像字符分割》_第1頁
數字圖像處理技術大作業報告《車牌圖像字符分割》_第2頁
數字圖像處理技術大作業報告《車牌圖像字符分割》_第3頁
數字圖像處理技術大作業報告《車牌圖像字符分割》_第4頁
數字圖像處理技術大作業報告《車牌圖像字符分割》_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數字圖像處理技術大作業報告《車牌圖像字符分割》

目錄1課題任務及要求……………………31.1任務……………………………31.2要求……………………………31.3任務……………………………32第I類圖片處理……………………42.1第一種方法…………………42.2第二種方法…………………52.3關鍵代碼………………………73第II類圖片處理……………………93.1第一種方法…………………93.2第二種方法………………103.3第三種方法………………113.3關鍵代碼……………………124第III類圖片處理…………………164.1第一種方法………………164.2關鍵代碼…………………175心得體會………………19課題任務及要求1.1任務使用MATLAB從提供的車牌圖像中完成至少10幅圖像的車牌字符分割1.2要求成績為中者至少完成II類文件夾中3幅圖像的分割;成績為良者至少完成II類文件夾中4幅圖像的分割;成績為優者除了完成II類文件夾中4幅圖像的分割外,還需完成III類文件夾中1幅圖像的分割;1.3評價優:各字符完整,字符彼此及字符與其它分割物無粘連,車牌區域除字符外其它分割物少或者無。良:各字符完整,字符間有少許粘連,但不影響辨識。中:字符不太完整,或者車牌區域有較多非字符分割物,或者字符粘連較多。差:字符不完整或缺字符,字符粘連較多,無法完整辨識車牌。第I類圖片處理2.1第一種方法2.1.1處理步驟A、讀入原始圖像B、預處理i、灰度化ii、求閾值iii、二值化C、求垂直投影D、把車牌的邊緣噪聲背景變為黑色E、去除左右兩邊的噪聲F、背景處理G、去除孤立噪聲H、字符分割I、運行顯示分割結果2.1.2分割效果截圖A、魯JD9309號車牌如圖1所示。圖1魯JD9309號車牌分割結果B、黑G77777號車牌如圖2所示。圖2黑G77777號車牌分割結果C、魯ENB911號車牌如圖3所示。圖3黑ENB911號車牌分割結果2.2第二種方法2.2.1處理步驟A、讀入原始圖像B、預處理i、邊緣檢測(Sobel算子)ii、膨脹化iii、旋轉矯正iv、灰度化v、二值化vi、去除孤立噪聲C、水平和垂直投影(去除車牌以外的區域)D、去掉上下邊框和柳釘E、去除左右邊框(投影法)F、去除字符左右背景(投影法)G、分割字符(垂直投影法)H、運行顯示分割結果2.2.2分割效果截圖A、川A99999號車牌如圖4所示。圖4川A99999號車牌分割結果B、川R87979號車牌如圖5所示。圖5川R87979號車牌分割結果2.3關鍵代碼2.3.1第一種方法%對車牌進行再處理,把邊緣噪聲背景變為黑色,便于下一步的分割以及識別forx=1:m%對圖片從上往下進行掃描count=0;forz=1:n-1ifbw(x,z)*bw(x,z+1)==0ifbw(x,z)==1||bw(x,z+1)==1count=count+1;endendendifcount<11%跳變次數小于11次(跳變就是從0到1或者從1到0)bw(x,1:n)=0;end;end……%字符分割X=[];%用來存放水平分割線的橫坐標flag=0;forj=1:size(bw,2)sum_y=sum(bw(:,j));iflogical(sum_y)~=flag%列和有變化時,記錄下此列X=[Xj];flag=logical(sum_y);endendfigureforn=1:7char=bw(:,X(2*n-1):X(2*n)-1);%進行粗分割fori=1:size(char,1)%這兩個for循環對分割字符的上下進行裁剪ifsum(char(i,:))~=0top=i;breakendendfori=1:size(char,1)ifsum(char(size(char,1)-i,:))~=0bottom=size(char,1)-i;breakendendchar=char(top:bottom,:);subplot(2,4,n);imshow(char);end2.3.2第二種方法……%分割字符(垂直投影法)[height,Twidth]=size(I6);Cwidth=Twidth*47/409;%單一字符間距Cspace=Twidth*12/409;%字符間距SecThspace=Twidth*34/409;%第二個和第三個字符間距projection=sum(I6,1);figure;fori=1:7ifi==1k=(floor(Twidth-Cwidth));%切換到最后一個字符起始列k=k-1;else%自右向左逐列掃描k=(floor(k-Cwidth-Cspace));%切換字符的起始列end%對特殊情況置一處理ifk<=0k=1;end%取當前字符fprintf('第%d字符起始列的大概位置:%d\n',i,k);fprintf('列投影值:%d\n',projection(1,k));character=I6(:,k:ceil(k+Cwidth)+1);subplot(178-i);imshow(character);%第二個和第三個字符之間的空格特殊處理ifi==5k=k-SecThspace+Cspace;endend第II類圖片處理3.1第一種方法3.1.1處理步驟A、讀入原始圖像B、對圖像亮度調節C、圖像預處理i、灰度化ii、求閾值iii、二值化iv、求垂直投影D、圖像再處理i、把邊緣噪聲變為黑色ii、對圖像左右兩邊消除噪聲iii、背景處理E、字符分割F、運行顯示分割結果3.1.2分割效果截圖A、蒙A16777號車牌如圖6所示。圖6蒙A16777號車牌分割結果B、遼B57368號車牌如圖7所示。圖7遼B57368號車牌分割結果C、鄂K9M555號車牌如圖8所示。圖8鄂K9M555號車牌分割結果3.2第二種方法3.2.1處理步驟A、讀入原始圖像B、預處理i、將RGB圖像轉化為灰度圖像C、去除邊框干擾i、去除左側邊框干擾ii、去除右側邊框干擾D、二值化E、形態學濾波處理F、字符分割G、運行顯示分割結果3.2.2分割效果截圖A、魯A88888號車牌如圖9所示。圖9魯A88888號車牌分割結果3.3第三種方法3.3.1處理步驟A、讀入原始圖像B、圖像預處理i、將RGB圖像轉化為灰度圖像ii、二值化iii、形態學濾波處理C、去除圖像頂端和低端的不感興趣區域D、分割字符按行累積量E、分割字符F、運行顯示分割結果3.3.2分割效果截圖A、晉F21696號車牌如圖10所示。圖10晉F21696號車牌分割結果3.4關鍵代碼3.3.1第一種方法%對車牌進行再處理,把邊緣噪聲背景變為黑色,便于下一步的分割以及識別forx=1:m%對圖片從上往下進行掃描count=0;forz=1:n-1ifbw(x,z)*bw(x,z+1)==0ifbw(x,z)==1||bw(x,z+1)==1count=count+1;endendendifcount<11%跳變次數小于11次(跳變就是從0到1或者從1到0)bw(x,1:n)=0;end;end……%字符分割X=[];%用來存放水平分割線的橫坐標flag=0;forj=1:size(bw,2)sum_y=sum(bw(:,j));iflogical(sum_y)~=flag%列和有變化時,記錄下此列X=[Xj];flag=logical(sum_y);endendfigureforn=1:7char=bw(:,X(2*n-1):X(2*n)-1);%進行粗分割fori=1:size(char,1)%這兩個for循環對分割字符的上下進行裁剪ifsum(char(i,:))~=0top=i;breakendendfori=1:size(char,1)ifsum(char(size(char,1)-i,:))~=0bottom=size(char,1)-i;breakendendchar=char(top:bottom,:);subplot(2,4,n);imshow(char);end3.3.2第二種方法%去除邊框干擾[r,s]=size(CuDingWeiErZhi);%size函數的行數返回第一個輸出變量,將數組的列返回到第二個輸出變量YuJingDingWei=double(CuDingWeiErZhi);%;CuDingWeiErZhiX2=zeros(1,s);%產生1行s列全零數組fori=1:rforj=1:sif(YuJingDingWei(i,j)==1)X2(1,j)=X2(1,j)+1;%白色像素點統計endendend[temp,MaxX]=max(X2);%去除左側邊框干擾[g,h]=size(YuJingDingWei);ZuoKuanDu=0;YouKuanDu=0;KuanDuYuZhi=5;whilesum(YuJingDingWei(:,ZuoKuanDu+1))~=0ZuoKuanDu=ZuoKuanDu+1;endifZuoKuanDu<KuanDuYuZhi%認為時左側干擾YuJingDingWei(:,[1:ZuoKuanDu])=0;%給圖像d中1到KuanDu寬度間的點賦值為零YuJingDingWei=QieGe(YuJingDingWei);%值為零的點會被切割endsubplot(2,2,3),imshow(YuJingDingWei),title('去除左側邊框的二值車牌圖像')%去除右邊邊框干擾[e,f]=size(YuJingDingWei);%上一步裁剪了一次,所以需要再次獲取圖像大小d=f;whilesum(YuJingDingWei(:,d-1))~=0YouKuanDu=YouKuanDu+1;d=d-1;endifYouKuanDu<KuanDuYuZhi%認為時右側干擾YuJingDingWei(:,[(f-YouKuanDu):f])=0;%YuJingDingWei=QieGe(YuJingDingWei);%值為零的點會被切割endsubplot(2,2,4),imshow(YuJingDingWei),title('車牌二值圖像')3.3.3第三種方法%去除圖像頂端和底端的不感興趣區域Y1=zeros(y1,1);fori=1:y1forj=1:x1if(I3(i,j,1)==1)Y1(i,1)=Y1(i,1)+1;endendendPy1=1;Py0=1;while((Y1(Py0,1)<20)&&(Py0<y1))Py0=Py0+1;endPy1=Py0;while((Y1(Py1,1)>=20)&&(Py1<y1))Py1=Py1+1;endI2=I2(Py0:Py1,:,:);subplot(3,2,6);imshow(I2),title('目標車牌區域');%分割字符按行積累量X1=zeros(1,x1);forj=1:x1fori=1:y1if(I3(i,j,1)==1)X1(1,j)=X1(1,j)+1;endendendfigure(5);plot(0:x1-1,X1),title('列方向像素點灰度值累計和'),xlabel('列值'),ylabel('累積像素量');Px0=1;Px1=1;第III類圖片處理4.1第一種方法4.1.1處理步驟A、讀入原始圖像B、圖像預處理i、轉化為灰度圖像ii、Canny算子邊緣檢測iii、腐蝕圖像iv、聚類、填充v、形態學濾波處理C、車牌定位i、車牌粗定位(找到行列像素累計和最大,然后同時自增和自減)1)、確定車牌行的起始位置2)、確定車牌列的起始位置ii、車牌精定位(分割并裁剪車牌字符串部分)1)、對粗定位得到的車牌進行預處理2)、去除邊框干擾(包括左邊框和右邊框)3)、最后得到形態學濾波后的車牌二值圖像D、車牌字符分割E、運行顯示分割結果4.1.2分割效果截圖A、粵A3Y347號車牌如圖11所示。圖11粵A3Y347號車牌分割結果B、云AU7526號車牌如圖12所示。圖12云AU7526號車牌分割結果4.2關鍵代碼%去除邊框干擾[r,s]=size(CuDingWeiErZhi);%size函數的行數返回第一個輸出變量,將數組的列返回到第二個輸出變量YuJingDingWei=double(CuDingWeiErZhi);%;CuDingWeiErZhiX2=zeros(1,s);%產生1行s列全零數組fori=1:rforj=1:sif(YuJingDingWei(i,j)==1)X2(1,j)=X2(1,j)+1;%白色像素點統計endendend[temp,MaxX]=max(X2);%去除左側邊框干擾[g,h]=size(YuJingDingWei);ZuoKuanDu=0;YouKuanDu=0;KuanDuYuZhi=5;whilesum(YuJingDingWei(:,ZuoKuanDu+1))~=0ZuoKuanDu=ZuoKuanDu+1;endifZuoKuanDu<KuanDuYuZhi%認為時左側干擾YuJingDingWei(:,[1:ZuoKuanDu])=0;%給圖像d中1到KuanDu寬度間的點賦值為零YuJingDingWei=QieGe(YuJingDingWei);%值為零的點會被切割endsubplot(2,2,3),imshow(YuJingDingWei),title('去除左側邊框的二值車牌圖像')%去除右邊邊框干擾[e,f]=size(YuJingDingWei);%上一步裁剪了一次,所以需要再次獲取圖像大小d=f;whilesum(YuJingDingWei(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論