期末課程報告:數字圖像中車牌識別的matlab實現_第1頁
期末課程報告:數字圖像中車牌識別的matlab實現_第2頁
期末課程報告:數字圖像中車牌識別的matlab實現_第3頁
期末課程報告:數字圖像中車牌識別的matlab實現_第4頁
期末課程報告:數字圖像中車牌識別的matlab實現_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. 數字圖像處理期末課程報告 題 目: 車牌識別的matlab實現 題目類型: 軟件型 學 院 信息工程與自動化學院 專 業(yè): 計算機科學與技術 年 級: XXXX 學 號: XXXXXXX 學生姓名: xxx 指導教師: xx 日 期: 2012-6-8 目錄摘要:2關鍵詞:2實驗工具:2車輛牌照識別流程:2實驗內容及步驟31.圖像預處理:32.車牌定位車牌起始位置和終止位置53.圖片二值化54.列方向像素點灰度值累計65.字符分割:76.建立字符模板數據庫87.歸一化訓練9結果分析:13摘要:本次課程設計的目的是通過對基于MATLAB的字符識別的研究,以汽車牌照識別的設計為實例,詳細介紹字

2、符識別的相關原理。整個汽車牌照識別的過程分為預處理、邊緣提取、車牌定位、字符分割、字符識別五大模塊,用MATLAB軟件編程來實現每一個部分,最后識別出汽車牌照。在研究的同時對其中出現的問題進行了具體分析,處理。尋找出對于具體的汽車牌照識別過程的最好的方法。關鍵詞:MATLAB字符識別車牌識別神經網絡圖像處理實驗工具:MATLAB 7.8(R2009a)。車輛牌照識別流程:基于 MATLAB圖像處理的汽車牌照識別,主要包括車牌定位、字符車牌分割、和車牌字符識別三個關鍵環(huán)節(jié)。流程圖如下:原始圖像圖像預處理車牌定位字符分割字符數據庫字符識別其中,(1) 原始圖像:由數碼相機或其它掃描裝置拍攝到的圖像

3、;(本實驗圖片由數碼相機獲得)(2) 圖像預處理:對動態(tài)采集到的圖像進行灰度處理、邊緣檢測、腐蝕、膨脹、濾波、等處理排除圖像干擾;(3) 車牌定位:計算邊緣圖像的投影面積,尋找峰谷點,大致確定車牌位置,再計算此連通域內的寬高比,剔除不在域值范圍內的連通域,最后得到的便為車牌區(qū)域;(4) 字符分割:利用投影檢測的字符定位分割方法得到單個的字符;(5) 字符數據庫:構造訓練樣本數據庫,為第6步的字符識別建立字符模板數據庫;(6) 字符識別:通過基于模板匹配的OCR算法或基于人工神經網絡的OCR算法,通過特征對比或訓練識別出相關的字符,得到最后的汽車牌照,包括英文字母和數字。實驗內容及步驟1. 圖像

4、預處理:預處理源代碼:>> I=imread('h:tukucar1.jpg');%讀取圖像 figure(); subplot(3,2,1),imshow(I), title('原始圖像');>> I1=rgb2gray(I);%轉化為灰度圖像subplot(3,2,2),imshow(I1),title('灰度圖像');>> I2=edge(I1,'robert',0.09,'both');%采用robert算子進行邊緣檢測subplot(3,2,3),imshow(I2),

5、title('邊緣檢測后圖像');>> se=1;1;1; %線型結構元素 I3=imerode(I2,se); %腐蝕圖像subplot(3,2,4),imshow(I3),title('腐蝕后邊緣圖像');>> se=strel('rectangle',25,25); %矩形結構元素I4=imclose(I3,se);%圖像聚類、填充圖像subplot(3,2,5),imshow(I4),title('填充后圖像');>> I5=bwareaopen(I4,2000);%去除聚團灰度值小于2

6、000的部分subplot(3,2,6),imshow(I5),title('形態(tài)濾波后圖像');預處理結果截圖:行列方向像素值累計值: 源代碼:y,x,z=size(I5);I6=double(I5); Y1=zeros(y,1); for i=1:y for j=1:x if(I6(i,j,1)=1) Y1(i,1)= Y1(i,1)+1; end end end temp MaxY=max(Y1); figure(); subplot(3,2,1),plot(0:y-1,Y1),title('行方向像素點灰度值累計和'),xlabel('行值

7、9;),ylabel('像素');運行截圖:2. 車牌定位車牌起始位置和終止位置PY1=MaxY; while (Y1(PY1,1)>=45)&&(PY1>1) PY1=PY1-1; end PY2=MaxY; while (Y1(PY2,1)>=45)&&(PY2<y) PY2=PY2+1; end IY=I(PY1:PY2,:,:); X1=zeros(1,x); for j=1:x for i=PY1:PY2 if(I6(i,j,1)=1) X1(1,j)= X1(1,j)+1; end endendsubplot(

8、3,2,2),plot(0:x-1,X1),title('列方向像素點灰度值累計和'),xlabel('列值'),ylabel('像數');3. 圖片二值化代碼:if isrgb(DW) I1 = rgb2gray(DW); %將RGB圖像轉化為灰度圖像else I1=I; endg_max=double(max(max(I1);g_min=double(min(min(I1);T=round(g_max-(g_max-g_min)/3); % T 為二值化的閾值m,n=size(I1);% d:二值圖像%h=graythresh(I1);I1=

9、im2bw(I1,T/256);subplot(3,2,4);imshow(I1),title('二值化車牌圖像');運行截圖:濾波二值化圖像:I2=bwareaopen(I1,20);subplot(3,2,5);imshow(I2),title('形態(tài)學濾波后的二值化圖像');過濾出目標車牌區(qū)域:y1,x1,z1=size(I2);I3=double(I2);TT=1;%去除圖像頂端和底端的不感興趣區(qū)域%Y1=zeros(y1,1); for i=1:y1 for j=1:x1 if(I3(i,j,1)=1) Y1(i,1)= Y1(i,1)+1 ; end

10、 end endPy1=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('目標車牌區(qū)域');運行截圖:4. 列方向像素點灰度值累計代碼:X1=zeros(1,x1);for j=1:x1 for i=1:y1 if(I3(i,j,1)=1) X1(1,j)= X

11、1(1,j)+1; end end endfigure(5);plot(0:x1-1,X1),title('列方向像素點灰度值累計和'),xlabel('列值'),ylabel('累計像素量');運行截圖:5. 字符分割:Px0=1;Px1=1;figure();for i=1:7while (X1(1,Px0)<3)&&(Px0<x) Px0=Px0+1;endPx1=Px0;while (X1(1,Px1)>=3)&&(Px1<x)|(Px1-Px0)<10) Px1=Px1+1;

12、endZ=I2(:,Px0:Px1,:);switch strcat('Z',num2str(i) case 'Z1' PIN0=Z; case 'Z2' PIN1=Z; case 'Z3' PIN2=Z; case 'Z4' PIN3=Z; case 'Z5' PIN4=Z; case 'Z6' PIN5=Z; otherwise PIN6=Z;endsubplot(1,7,i);imshow(Z);Px0=Px1;end運行結果:6. 建立字符模板數據庫1) 將下列圖片存到相應的

13、圖片庫中,待之后檢測比對時用。(注:每個字符圖像要單獨存放為.jpg文件。) 2) 新建一個自定義函數pretreatment.m 文件,對這些圖片進行統一處理:function inpt = pretreatment(I)if isrgb(I) I1 = rgb2gray(I);else I1=I;endI1=imresize(I1,50 25);%將圖片統一劃為50*25大小I1=im2bw(I1,0.9);m,n=size(I1);inpt=zeros(1,m*n);for j=1:n for i=1:m inpt(1,m*(j-1)+i)=I1(i,j); endend7. 歸一化訓練

14、代碼:I0=pretreatment(imread('h:tuku0.jpg');I1=pretreatment(imread('h:tuku1.jpg');I2=pretreatment(imread('h:tuku2.jpg');I3=pretreatment(imread('h:tuku3.jpg');I4=pretreatment(imread('h:tuku4.jpg');I5=pretreatment(imread('h:tuku5.jpg');I6=pretreatment(imrea

15、d('h:tuku6.jpg');I7=pretreatment(imread('h:tuku7.jpg');I8=pretreatment(imread('h:tuku8.jpg');I9=pretreatment(imread('h:tuku9.jpg');I10=pretreatment(imread('h:tukuA.jpg');I11=pretreatment(imread('h:tukuB.jpg');I12=pretreatment(imread('h:tukuC.jpg

16、9;);I13=pretreatment(imread('h:tukuD.jpg');I14=pretreatment(imread('h:tukuG.jpg');I15=pretreatment(imread('h:tukuK.jpg');I16=pretreatment(imread('h:tukuL.jpg');I17=pretreatment(imread('h:tukuM.jpg');P=I0',I1',I2',I3',I4',I5',I6',I7&

17、#39;,I8',I9',I10',I11',I12',I13',I14',I15',I16',I17'T=eye(18,18); %輸出樣本% bp神經網絡參數設置net=newff(minmax(P),1250,32,18,'logsig','logsig','logsig','trainrp');net.inputWeights1,1.initFcn ='randnr'net.layerWeights2,1.initFcn =&#

18、39;randnr'net.trainparam.epochs=5000;net.trainparam.show=50;%net.trainparam.lr=0.003;net.trainparam.goal=0.0000000001;net=init(net);net,tr=train(net,P,T);%訓練樣本測試字符代碼:PIN0=pretreatment(PIN0);PIN1=pretreatment(PIN1);PIN2=pretreatment(PIN2);PIN3=pretreatment(PIN3);PIN4=pretreatment(PIN4);PIN5=pretr

19、eatment(PIN5);PIN6=pretreatment(PIN6);P0=PIN0',PIN1',PIN2',PIN3',PIN4',PIN5',PIN6'for i=2:7 T0= sim(net ,P0(:,i); T1 = compet (T0) ; d = find(T1 = 1) - 1; if (d=10) str='A' elseif (d=11) str='B' elseif (d=12) str='C' elseif (d=13) str='D' e

20、lseif (d=14) str='G' elseif (d=15) str='K' elseif (d=16) str='L' elseif (d=17)第一次訓練 str='M' elseif (d=0) str='0' elseif (d=1) str='1' elseif (d=2) str='2' elseif (d=3) str='3' elseif (d=4) str='4' elseif (d=5) str='5' elseif (d=6) str='6' elseif (d=7) str='7' elseif (d=8) str='8' elseif (d=9) str='9' else str=num2str(d); end switch i case 2 str2=str; cas

溫馨提示

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

評論

0/150

提交評論