版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 光電圖像處理課程設(shè)計(jì)說(shuō)明書(shū)</p><p> 題 目 車牌提取設(shè)計(jì) </p><p> 系 (部) 電子與通信工程系 </p><p> 專業(yè)(班級(jí)) 09光電2班 </p><p> 姓 名 <
2、;/p><p> 學(xué) 號(hào) </p><p><b> 目錄</b></p><p><b> 摘要3</b></p><p><b> 關(guān)鍵詞3</b></p><p> 1 MATLAB簡(jiǎn)
3、介4</p><p> 2 車牌定位的仿真4</p><p> 2.1原始圖像CALLBACK:4</p><p> 2.2 灰度圖CALLBACK:4</p><p> 2.3 邊緣檢測(cè)圖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 車牌定位的界面設(shè)計(jì)10</p><p> 4.1 原始圖像CALLBACK:11</p><p> 4.2 定位圖CALLBACK:12</p><p><b> 5 心得體會(huì)13</b></p><p><b> 參考文獻(xiàn)13<
6、;/b></p><p><b> 摘要</b></p><p><b> 關(guān)鍵詞</b></p><p> 車牌定位、灰度圖、邊緣檢測(cè)圖、腐蝕圖、去噪圖、填充圖、Matlab</p><p> 1 MATLAB簡(jiǎn)介</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 邊緣檢測(cè)圖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ù)碼相機(jī)拍攝的原始圖像在形成傳輸或變換過(guò)程中,會(huì)受到光學(xué)系統(tǒng)失真、系統(tǒng)噪聲、曝光不足或過(guò)量、相對(duì)運(yùn)動(dòng)等因素的影響,因此在圖像處理之前必須進(jìn)行預(yù)處理,包括去除噪聲、邊界增強(qiáng)、增加亮度等等。</p><p> 原始圖像的程序,首先通過(guò)路徑、名字(path、name)保存在文件中,再經(jīng)imread讀取圖片,最后用imshow顯示圖片。其間為便于之后
41、程序調(diào)用圖像,用handles.img=x保存圖片。輸入的彩色圖像包含大量顏色信息,會(huì)占用較多的存儲(chǔ)空間,且處理時(shí)也會(huì)降低系統(tǒng)的執(zhí)行速度,因此常將彩色圖像轉(zhuǎn)換為灰度圖像,灰度圖 調(diào)用函數(shù)y=rgb2gray(x)。邊緣檢測(cè)可以使圖像的輪廓更加突出,調(diào)用函數(shù)y=edge(x,'robert',0.15,'both')。腐蝕圖使邊緣化后的圖像去掉周圍不需提取的信息,調(diào)用函數(shù)se=[1;1;1];y=imero
42、de(x,se)。然后去噪圖是進(jìn)一步對(duì)圖像信息的刷選,函數(shù)為se=strel('rectangle',[25,25]);y=imclose(x,se);填充圖是對(duì)腐蝕圖進(jìn)行擴(kuò)充,使需要的信息量增大,調(diào)用函數(shù)y=bwareaopen(x,2000),合理調(diào)整各個(gè)參數(shù)可以選擇所需車牌信息的區(qū)域。合理位置定位圖是計(jì)算邊緣圖像的投影面積,尋找峰谷點(diǎn),大致確定車牌位置,最后再計(jì)算此連通域內(nèi)的寬高比,剔除不在域值范圍內(nèi)的連通域,最后
43、確定定位圖。</p><p> 4 車牌定位的界面設(shè)計(jì)</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 心得體會(huì)</b></p>
溫馨提示
- 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖像處理課程設(shè)計(jì)-- 圖像特征提取軟件設(shè)計(jì)
- 圖像處理課程設(shè)計(jì)
- 圖像處理課程設(shè)計(jì)
- 基于matlab的圖像處理的課程設(shè)計(jì)(車牌識(shí)別系統(tǒng))
- matlab課程設(shè)計(jì)--圖像處理
- mtalab圖像處理課程設(shè)計(jì)
- 《數(shù)字圖像處理技術(shù)課程設(shè)計(jì)報(bào)告》--車牌識(shí)別系統(tǒng)
- matlab課程設(shè)計(jì)--圖像處理
- 基于圖像處理的車牌提取系統(tǒng)的設(shè)計(jì)【開(kāi)題報(bào)告】
- c語(yǔ)言課程設(shè)計(jì)--圖像處理
- 數(shù)字圖像處理課程設(shè)計(jì)
- 數(shù)字圖像處理課程設(shè)計(jì)
- matlab課程設(shè)計(jì)圖像處理
- 數(shù)字圖像處理課程設(shè)計(jì)
- matlab課程設(shè)計(jì)--應(yīng)用圖像處理
- 數(shù)字圖像處理課程設(shè)計(jì)
- mtalab課程設(shè)計(jì) matlab圖像處理
- matlab課程設(shè)計(jì)--gui圖像處理
- matlab圖像處理課程設(shè)計(jì)報(bào)告
- 數(shù)字圖像處理課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論