光電圖像處理課程設計--車牌提取設計_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  光電圖像處理課程設計說明書</p><p>  題 目  車牌提取設計   </p><p>  系 (部) 電子與通信工程系 </p><p>  專業(yè)(班級) 09光電2班 </p><p>  姓 名 <

2、;/p><p>  學 號 </p><p><b>  目錄</b></p><p><b>  摘要3</b></p><p><b>  關鍵詞3</b></p><p>  1 MATLAB簡

3、介4</p><p>  2 車牌定位的仿真4</p><p>  2.1原始圖像CALLBACK:4</p><p>  2.2 灰度圖CALLBACK:4</p><p>  2.3 邊緣檢測圖CALLBACK:5</p><p>  2.4 腐蝕圖CALLBACK:5</p><p

4、>  2.5 去噪圖CALLBACK:6</p><p>  2.6 填充圖CALLBACK:6</p><p>  2.7 行合理位置圖CALLBACK:7</p><p>  2.8 定位圖CALLBACK:8</p><p>  2.9 回原圖CALLBACK:9</p><p>  3車牌定位的

5、分析10</p><p>  4 車牌定位的界面設計10</p><p>  4.1 原始圖像CALLBACK:11</p><p>  4.2 定位圖CALLBACK:12</p><p><b>  5 心得體會13</b></p><p><b>  參考文獻13<

6、;/b></p><p><b>  摘要</b></p><p><b>  關鍵詞</b></p><p>  車牌定位、灰度圖、邊緣檢測圖、腐蝕圖、去噪圖、填充圖、Matlab</p><p>  1 MATLAB簡介</p><p><b>  2 車

7、牌定位的仿真</b></p><p>  2.1原始圖像CALLBACK: </p><p>  function pushbutton1_Callback(hObject, eventdata, handles)</p><p>  [name,path]=uigetfile('*.*','');</p>

8、<p>  file=[path,name];</p><p>  x=imread(file); </p><p>  axes(handles.axes1);</p><p>  imshow(x);</p><p>  handles.img=x;</p><p>  guidata(h

9、Object, handles);</p><p><b>  出圖:</b></p><p>  2.2 灰度圖CALLBACK:</p><p>  function radiobutton1_Callback(hObject, eventdata, handles)</p><p>  x=handles.img;

10、</p><p>  y=rgb2gray(x);</p><p>  axes(handles.axes1);</p><p>  imshow(y);</p><p>  handles.img1=y;</p><p>  guidata(hObject, handles);</p><p>

11、;<b>  出圖:</b></p><p>  2.3 邊緣檢測圖CALLBACK:</p><p>  function radiobutton2_Callback(hObject, eventdata, handles)</p><p>  x=handles.img1;</p><p>  y=edge(x,&#

12、39;robert',0.15,'both');</p><p>  axes(handles.axes1);</p><p>  imshow(y);</p><p>  handles.img2=y;</p><p>  guidata(hObject, handles);</p><p>

13、<b>  出圖:</b></p><p>  2.4 腐蝕圖CALLBACK:</p><p>  function radiobutton3_Callback(hObject, eventdata, handles)</p><p>  x=handles.img2;</p><p>  se=[1;1;1];<

14、;/p><p>  y=imerode(x,se);</p><p>  axes(handles.axes1);</p><p>  imshow(y);</p><p>  handles.img3=y;</p><p>  guidata(hObject, handles);</p><p>

15、<b>  出圖:</b></p><p>  2.5 去噪圖CALLBACK: </p><p>  function radiobutton4_Callback(hObject, eventdata, handles)</p><p>  x=handles.img3;</p><p>  se=strel('

16、;rectangle',[25,25]);</p><p>  y=imclose(x,se);</p><p>  axes(handles.axes1);</p><p>  imshow(y);</p><p>  handles.img4=y;</p><p>  guidata(hObject, ha

17、ndles);</p><p><b>  出圖:</b></p><p>  2.6 填充圖CALLBACK:</p><p>  function radiobutton5_Callback(hObject, eventdata, handles)</p><p>  x=handles.img4;</p>

18、;<p>  y=bwareaopen(x,2000);</p><p>  axes(handles.axes1);</p><p>  imshow(y);</p><p>  handles.img5=y;</p><p>  guidata(hObject, handles);</p><p>&

19、lt;b>  出圖:</b></p><p>  2.7 行合理位置圖CALLBACK:</p><p>  function radiobutton6_Callback(hObject, eventdata, handles)</p><p>  I=handles.img;</p><p>  I1=rgb2gray(I

20、);</p><p>  I2=edge(I1,'robert',0.15,'both');</p><p>  se=[1;1;1];</p><p>  I3=imerode(I2,se);</p><p>  se=strel('rectangle',[25,25]);</p>

21、<p>  I4=imclose(I3,se);</p><p>  I5=bwareaopen(I4,2000);</p><p>  [y,x,z]=size(I5);</p><p>  myI=double(I5);</p><p><b>  tic</b></p><p>

22、;  Blue_y=zeros(y,1);% y=zeros(450,1)</p><p><b>  for i=1:y</b></p><p><b>  for j=1:x</b></p><p>  if(myI(i,j,1)==1) </p><p>  Blue_y(i,1)= Blue

23、_y(i,1)+1;</p><p><b>  end </b></p><p>  end </p><p><b>  end</b></p><p>  [temp MaxY]=max(Blue_y);</p><p><b>  PY1=Ma

24、xY;</b></p><p>  while ((Blue_y(PY1,1)>=5)&&(PY1>1))</p><p>  PY1=PY1-1;</p><p><b>  end </b></p><p><b>  PY2=MaxY;</b>&l

25、t;/p><p>  while ((Blue_y(PY2,1)>=5)&&(PY2<y))</p><p>  PY2=PY2+1;</p><p><b>  end</b></p><p>  IY=I(PY1:PY2,:,:);</p><p>  axes(han

26、dles.axes1);</p><p>  imshow(IY);</p><p><b>  出圖:</b></p><p>  2.8 定位圖CALLBACK:</p><p>  function pushbutton3_Callback(hObject, eventdata, handles)</p>

27、;<p>  x=handles.img;</p><p>  axes(handles.axes1);</p><p>  imshow(x);</p><p>  function radiobutton7_Callback(hObject, eventdata, handles)</p><p>  I=handles.i

28、mg;</p><p>  I1=rgb2gray(I);</p><p>  I2=edge(I1,'robert',0.15,'both');</p><p>  se=[1;1;1];</p><p>  I3=imerode(I2,se);</p><p>  se=strel(

29、'rectangle',[25,25]);</p><p>  I4=imclose(I3,se);</p><p>  I5=bwareaopen(I4,2000);</p><p>  [y,x,z]=size(I5);</p><p>  myI=double(I5);</p><p><b

30、>  tic</b></p><p>  Blue_y=zeros(y,1);% y=zeros(450,1)</p><p><b>  for i=1:y</b></p><p><b>  for j=1:x</b></p><p>  if(myI(i,j,1)==1) &

31、lt;/p><p>  Blue_y(i,1)= Blue_y(i,1)+1;</p><p><b>  end </b></p><p>  end </p><p><b>  end</b></p><p>  [temp MaxY]=max(Blue_y)

32、;</p><p><b>  PY1=MaxY;</b></p><p>  while ((Blue_y(PY1,1)>=5)&&(PY1>1))</p><p>  PY1=PY1-1;</p><p><b>  end </b></p>&l

33、t;p><b>  PY2=MaxY;</b></p><p>  while ((Blue_y(PY2,1)>=5)&&(PY2<y))</p><p>  PY2=PY2+1;</p><p><b>  end</b></p><p>  IY=I(PY1:P

34、Y2,:,:);</p><p>  Blue_x=zeros(1,x);</p><p><b>  for j=1:x</b></p><p>  for i=PY1:PY2</p><p>  if(myI(i,j,1)==1)</p><p>  Blue_x(1,j)= Blue_x(1

35、,j)+1; </p><p><b>  end </b></p><p>  end </p><p><b>  end</b></p><p><b>  PX1=1;</b></p><p>  whi

36、le ((Blue_x(1,PX1)<3)&&(PX1<x))</p><p>  PX1=PX1+1;</p><p><b>  end </b></p><p><b>  PX2=x;</b></p><p>  while ((Blue_x(1,PX2)&

37、lt;3)&&(PX2>PX1))</p><p>  PX2=PX2-1;</p><p><b>  end</b></p><p>  PX1=PX1-1;</p><p>  PX2=PX2+1;</p><p>  dw=I(PY1:PY2-8,PX1:PX2,:)

38、;</p><p>  axes(handles.axes1);</p><p>  imshow(dw);</p><p><b>  出圖:</b></p><p>  2.9 回原圖CALLBACK:</p><p>  function pushbutton3_Callback(hObje

39、ct, eventdata, handles)</p><p>  x=handles.img;</p><p>  axes(handles.axes1);</p><p>  imshow(x);</p><p><b>  出圖:</b></p><p><b>  3車牌定位的分

40、析</b></p><p>  由數(shù)碼相機拍攝的原始圖像在形成傳輸或變換過程中,會受到光學系統(tǒng)失真、系統(tǒng)噪聲、曝光不足或過量、相對運動等因素的影響,因此在圖像處理之前必須進行預處理,包括去除噪聲、邊界增強、增加亮度等等。</p><p>  原始圖像的程序,首先通過路徑、名字(path、name)保存在文件中,再經(jīng)imread讀取圖片,最后用imshow顯示圖片。其間為便于之后

41、程序調(diào)用圖像,用handles.img=x保存圖片。輸入的彩色圖像包含大量顏色信息,會占用較多的存儲空間,且處理時也會降低系統(tǒng)的執(zhí)行速度,因此常將彩色圖像轉換為灰度圖像,灰度圖 調(diào)用函數(shù)y=rgb2gray(x)。邊緣檢測可以使圖像的輪廓更加突出,調(diào)用函數(shù)y=edge(x,'robert',0.15,'both')。腐蝕圖使邊緣化后的圖像去掉周圍不需提取的信息,調(diào)用函數(shù)se=[1;1;1];y=imero

42、de(x,se)。然后去噪圖是進一步對圖像信息的刷選,函數(shù)為se=strel('rectangle',[25,25]);y=imclose(x,se);填充圖是對腐蝕圖進行擴充,使需要的信息量增大,調(diào)用函數(shù)y=bwareaopen(x,2000),合理調(diào)整各個參數(shù)可以選擇所需車牌信息的區(qū)域。合理位置定位圖是計算邊緣圖像的投影面積,尋找峰谷點,大致確定車牌位置,最后再計算此連通域內(nèi)的寬高比,剔除不在域值范圍內(nèi)的連通域,最后

43、確定定位圖。</p><p>  4 車牌定位的界面設計</p><p><b>  界面圖:</b></p><p>  4.1 原始圖像CALLBACK:</p><p>  function pushbutton1_Callback(hObject, eventdata, handles)</p>&

44、lt;p>  [name,path]=uigetfile('*.*','');</p><p>  file=[path,name];</p><p>  x=imread(file); </p><p>  axes(handles.axes1);</p><p>  imshow(x);

45、</p><p>  handles.img=x;</p><p>  guidata(hObject, handles);</p><p><b>  出圖:</b></p><p>  4.2 定位圖CALLBACK:</p><p>  function pushbutton3_Callba

46、ck(hObject, eventdata, handles)</p><p>  x=handles.img;</p><p>  axes(handles.axes1);</p><p>  imshow(x);</p><p>  function radiobutton7_Callback(hObject, eventdata, ha

47、ndles)</p><p>  I=handles.img;</p><p>  I1=rgb2gray(I);</p><p>  I2=edge(I1,'robert',0.15,'both');</p><p>  se=[1;1;1];</p><p>  I3=imerode

48、(I2,se);</p><p>  se=strel('rectangle',[25,25]);</p><p>  I4=imclose(I3,se);</p><p>  I5=bwareaopen(I4,2000);</p><p>  [y,x,z]=size(I5);</p><p>  m

49、yI=double(I5);</p><p><b>  tic</b></p><p>  Blue_y=zeros(y,1);% y=zeros(450,1)</p><p><b>  for i=1:y</b></p><p><b>  for j=1:x</b>&l

50、t;/p><p>  if(myI(i,j,1)==1) </p><p>  Blue_y(i,1)= Blue_y(i,1)+1;</p><p><b>  end </b></p><p>  end </p><p><b>  end</b></p

51、><p>  [temp MaxY]=max(Blue_y);</p><p><b>  PY1=MaxY;</b></p><p>  while ((Blue_y(PY1,1)>=5)&&(PY1>1))</p><p>  PY1=PY1-1;</p><p>&l

52、t;b>  end </b></p><p><b>  PY2=MaxY;</b></p><p>  while ((Blue_y(PY2,1)>=5)&&(PY2<y))</p><p>  PY2=PY2+1;</p><p><b>  end<

53、;/b></p><p>  IY=I(PY1:PY2,:,:);</p><p>  Blue_x=zeros(1,x);</p><p><b>  for j=1:x</b></p><p>  for i=PY1:PY2</p><p>  if(myI(i,j,1)==1)<

54、/p><p>  Blue_x(1,j)= Blue_x(1,j)+1; </p><p><b>  end </b></p><p>  end </p><p><b>  end</b></p><p><b>  PX

55、1=1;</b></p><p>  while ((Blue_x(1,PX1)<3)&&(PX1<x))</p><p>  PX1=PX1+1;</p><p><b>  end </b></p><p><b>  PX2=x;</b></

56、p><p>  while ((Blue_x(1,PX2)<3)&&(PX2>PX1))</p><p>  PX2=PX2-1;</p><p><b>  end</b></p><p>  PX1=PX1-1;</p><p>  PX2=PX2+1;</p&g

57、t;<p>  dw=I(PY1:PY2-8,PX1:PX2,:);</p><p>  axes(handles.axes1);</p><p>  imshow(dw);</p><p><b>  出圖:</b></p><p><b>  5 心得體會</b></p>

溫馨提示

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

評論

0/150

提交評論