

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 圖形圖像論文</b></p><p> 論文題目: 圖 像 銳 化</p><p><b> 目錄</b></p><p> 實(shí)習(xí)目的…………………………………………3</p><p> 實(shí)習(xí)任務(wù)…………………………………………3</p><
2、p> 主要內(nèi)容…………………………………………3</p><p> 算法實(shí)現(xiàn)…………………………………………5</p><p> 實(shí)習(xí)總結(jié)………………………………………11</p><p> 參考文獻(xiàn)……………………………………………12</p><p><b> 實(shí)驗(yàn)?zāi)康?lt;/b></p>
3、<p> 用MATLAB或其他的語(yǔ)言來(lái)實(shí)現(xiàn)數(shù)字圖像處理方面的一些操作;</p><p> 熟悉MATLAB7.1的一些基本函數(shù)及與數(shù)字圖像處理相關(guān)的函數(shù);</p><p> 熟悉圖形用戶界面(GUI),并用其來(lái)編寫界面;</p><p> 熟悉在界面(GUI)實(shí)現(xiàn)讀圖像,保存圖像,Robert算子、Sobel算子、Prewitt算子、Log算子、C
4、anny算子、zerocross算子進(jìn)行邊緣檢測(cè)。并能用MATLAB實(shí)現(xiàn)以上的功能;</p><p> 掌握從簡(jiǎn)單到復(fù)雜的方法,一步一步的實(shí)現(xiàn)功能,并能耐心排錯(cuò),養(yǎng)成合作互助精神。</p><p><b> 實(shí)驗(yàn)任務(wù)</b></p><p> 1.實(shí)現(xiàn)圖像的打開(kāi),顯示,保存操作。</p><p> 2.實(shí)現(xiàn)圖像的
5、邊緣檢測(cè),如Robert算子邊緣檢測(cè),Sobel算子邊緣檢測(cè),Prewitt算子邊緣檢測(cè),Log算子邊緣檢測(cè),Canny算子邊緣檢測(cè),zerocross算子邊緣檢測(cè);</p><p> 3.實(shí)現(xiàn)整個(gè)界面的設(shè)計(jì),編排,最終達(dá)到一種比較完美的效果。</p><p><b> 主要內(nèi)容</b></p><p> 整個(gè)程序的設(shè)計(jì)過(guò)程,大致上是按照
6、實(shí)習(xí)的任務(wù)順序來(lái)設(shè)計(jì)的?;驹O(shè)計(jì)過(guò)程如下所示:</p><p> 在剛剛接觸MATLAB的GUI設(shè)計(jì)時(shí),還不太熟悉GUI。因而經(jīng)過(guò)了一段時(shí)間的資料查詢和書本學(xué)習(xí)以及和同學(xué)們討論過(guò)后,漸漸掌握了基本的GUI用戶交互界面的設(shè)計(jì)方法。</p><p> 首先是新建一個(gè)空白的GUI界面,然后根據(jù)功能的需要,往界面里拖動(dòng)各個(gè)控件。在這個(gè)時(shí)候,整個(gè)界面的對(duì)齊和控件的擺放都需要經(jīng)過(guò)設(shè)計(jì)。由于我們所設(shè)
7、計(jì)的界面思路是:將所有需要實(shí)現(xiàn)的功能全部擺放在界面上,當(dāng)使用者進(jìn)入界面時(shí)就能直截了當(dāng)?shù)乜吹剿械臇|西,點(diǎn)擊控件就能實(shí)現(xiàn)想要的功能。所有功能都能在GUI 界面上直接找到。</p><p> 在設(shè)計(jì)任務(wù)上要求的有幾個(gè)大范圍,我們對(duì)各個(gè)任務(wù)的設(shè)計(jì)如下:</p><p> 文件的打開(kāi)、顯示、保存。我們將文件的打開(kāi)、保存以及程序退出放到GUI界面上,點(diǎn)擊各個(gè)選項(xiàng)就能實(shí)現(xiàn)相應(yīng)功能。可以打開(kāi)在文件夾
8、‘MATLAB’中'*.png'、'*.tif'、'*jpg'、'*.bmp'、'*.gif'格式的圖像文件,并將其顯示到GUI界面中的“原始圖像”和“處理后圖像”?!拔募4妗眲t是將當(dāng)前“處理后圖像”以‘*.jpg’的形式保存到文件夾‘MATLAB’中。對(duì)于“圖像顯示”,我們的設(shè)計(jì)是:當(dāng)用戶一進(jìn)入GUI界面時(shí),就能看到界面中已經(jīng)顯示出來(lái)的兩幅的圖像,它們就
9、是“待處理圖像”和“處理后圖像”。而后“待處理圖像”在整個(gè)功能實(shí)現(xiàn)過(guò)程中,除了“文件打開(kāi)”功能會(huì)變換顯示的圖像之外,“待處理圖像”一直不做改變以便與“處理后圖像”形成對(duì)比。</p><p> 實(shí)現(xiàn)圖像的邊緣檢測(cè)。包括“Robert算子”、“Sobel算子”、“Prewitt算子”、“Log算子”、“Canny算子”"zerocross算子"這6個(gè)選擇。這6項(xiàng)均放在一個(gè)“button grou
10、p”——“邊緣檢測(cè)”中,每次點(diǎn)擊都只有一項(xiàng)“radio Button”起作用,分別對(duì)“待處理圖像”進(jìn)行處理后顯示到“處理后圖像”中,</p><p> 為了圖像處理的易于觀察性,我們添加了一個(gè)名為“恢復(fù)原圖”的“push Button”。當(dāng)使用者點(diǎn)擊該按鈕時(shí),在“處理后圖像”中則會(huì)顯示與“原始圖像”相同的未經(jīng)過(guò)處理的圖像。這時(shí),使用者可以像剛進(jìn)入GUI界面一樣進(jìn)行各種處理,若不滿意“處理后圖像”或者不下心點(diǎn)擊了
11、其它不需要的功能,則可以點(diǎn)擊該按鈕,使圖像復(fù)原。</p><p> 整個(gè)設(shè)計(jì)過(guò)程中,最重要的也是花費(fèi)最多時(shí)間的部分就是為各個(gè)功能按鈕添加程序代碼,從圖像的讀入到處理后圖像的顯示,每個(gè)細(xì)節(jié)都需要考慮并且在實(shí)驗(yàn)過(guò)程進(jìn)行中反復(fù)的糾錯(cuò)和修改。</p><p> 設(shè)計(jì)完成之后整個(gè)界面如下:</p><p><b> 算法實(shí)現(xiàn)</b></p&g
12、t;<p> 讀取圖片,使用者可以從按鈕中讀出文件夾“MATLAB”中的圖像,并將其顯示到兩個(gè)坐標(biāo)軸axes1和axes2中。在菜單編輯器中“打開(kāi)”的Callback中加入如下程序代碼:</p><p> function pushbutton1_Callback(hObject, eventdata, handles)</p><p> % hObject ha
13、ndle to pushbutton1 (see GCBO)</p><p> % eventdata reserved - to be defined in a future version of MATLAB</p><p> % handles structure with handles and user data (see GUIDATA)</p>&l
14、t;p> %global im</p><p> [filename,pathname]=...</p><p> uigetfile({'*.*';'*.bmp';'*.jpg';'*.tif';'*.png'},'selecet pictrue');</p><
15、;p> if isequal(filename,0)||isequal(pathname,0)</p><p><b> return;</b></p><p><b> end</b></p><p> str=[pathname filename];</p><p> im=im
16、read(str);</p><p> axes(handles.axes1);</p><p> imshow(im);</p><p> setappdata(handles.figure1,'im',im);</p><p> 圖片保存。當(dāng)用戶想要對(duì)處理后圖像進(jìn)行保存時(shí),可以通過(guò)按鈕實(shí)現(xiàn)功能,將“處理后圖像”即坐
17、標(biāo)軸axes2中的圖像文件保存到文件夾“MATLAB”中。在菜單編輯器中“保存”的Callback函數(shù)中加入如下程序代碼:</p><p> function pushbutton2_Callback(hObject, eventdata, handles)</p><p> % hObject handle to pushbutton2 (see GCBO)</p>
18、<p> % eventdata reserved - to be defined in a future version of MATLAB</p><p> % handles structure with handles and user data (see GUIDATA)</p><p> %global BW</p><p>
19、 [filename,pathname]=...</p><p> uiputfile({'*.tif';'*.jpg';'*.png';'*.bmp'},'save pictrue');</p><p> if isequal(filename,0)||isequal(pathname,0)</p
20、><p><b> return</b></p><p><b> else</b></p><p> str=[pathname filename]</p><p> axes(handles.axes2);</p><p> im=getimage(handles.
21、axes2);</p><p> imwrite(im,str);</p><p><b> End</b></p><p> 程序退出。當(dāng)用戶點(diǎn)擊“退出”按鈕,則執(zhí)行整個(gè)GUI界面的退出功能。在菜單編輯器中“退出”的Callback子函數(shù)中添加如下代碼:</p><p> function pushbutton
22、3_Callback(hObject, eventdata, handles)</p><p> % hObject handle to pushbutton3 (see GCBO)</p><p> % eventdata reserved - to be defined in a future version of MATLAB</p><p>
23、% handles structure with handles and user data (see GUIDATA)</p><p> close(gcf) %關(guān)閉當(dāng)前Figure窗口句柄</p><p> 圖像的邊緣檢測(cè)。對(duì)于該功能的實(shí)現(xiàn),本程序在一個(gè)Button group——“邊緣檢測(cè)”中設(shè)置了6個(gè)radio Button,分別在每個(gè)按鈕的回調(diào)函數(shù)Callback中添
24、加代碼,每次用戶點(diǎn)擊該組按鈕時(shí)只有一個(gè)按鈕起作用,分別對(duì)同一圖像進(jìn)行邊緣檢測(cè)處理。所添加的程序如下:</p><p> function uipanel5_SelectionChangeFcn(hObject, eventdata, handles)</p><p> global BW %定義全局變量</p><p> im=getappdata(hand
25、les.figure1,'im');</p><p> str=get(hObject,'string'); %拿到所選按鈕的名稱</p><p> axes(handles.axes2); %使用第二個(gè)axes</p><p> switch str %選擇語(yǔ)句</p><p><b&g
26、t; %恢復(fù)原圖</b></p><p> case'Initial' %點(diǎn)擊原圖按鈕</p><p> imshow(im); %顯示原圖</p><p><b> %Robert算子</b></p><p> case'Roberts' %點(diǎn)擊Roberts
27、邊緣檢測(cè)按鈕</p><p> BW=edge(im,'roberts');</p><p> imshow(BW);</p><p><b> %Sobel算子</b></p><p> case'Sobel' %點(diǎn)擊Sobel邊緣檢測(cè)按鈕</p><p&g
28、t; BW=edge(im,'sobel',0.02);</p><p> imshow(BW);</p><p> %Prewitt算子</p><p> case'Prewitt' %點(diǎn)擊Prewitt邊緣檢測(cè)按鈕</p><p> BW=edge(im,'prewitt',0.
29、04); </p><p> imshow(BW);</p><p><b> %LOG算子</b></p><p> case'Log' %點(diǎn)擊Log邊緣檢測(cè)按鈕 </p><p> BW=edge(im, 'log',0.003);</p><
30、p> imshow(BW);</p><p><b> %Cannny算子</b></p><p> case'Canny' %點(diǎn)擊Canny邊緣檢測(cè)按鈕</p><p> BW=edge(im,'canny',0.2);</p><p> imshow(BW);<
31、/p><p> case'Zerocross' %點(diǎn)擊Zerocross邊緣檢測(cè)按鈕</p><p> BW=edge(im,'zerocross',0.01);</p><p> imshow(BW);</p><p><b> end;</b></p><p&g
32、t; guidata(hObject,handles)</p><p><b> 總結(jié)</b></p><p> 雖然這次實(shí)習(xí)只有二個(gè)星期的時(shí)間,但是我們對(duì)圖像處理的各種方法及應(yīng)用有了更深的理解,學(xué)會(huì)了應(yīng)用MATLAB軟件及GUI來(lái)實(shí)現(xiàn)界面的操作和編程處理。MATLAB是我們?cè)谝郧昂鸵院蟮膶W(xué)習(xí)工作中都會(huì)經(jīng)常應(yīng)用到的軟件,但是在以前還是對(duì)其了解不足,操作不是很了解
33、,在實(shí)習(xí)之初便因?yàn)檫@個(gè)問(wèn)題而無(wú)從下手。于是我們尋找了許多這方面的書籍以及應(yīng)用網(wǎng)絡(luò)教程來(lái)對(duì)其進(jìn)行學(xué)習(xí),逐漸的增強(qiáng)了對(duì)MATLAB及GUI的了解,能夠摸索著開(kāi)始進(jìn)行編寫。實(shí)習(xí)中也遇到了很多問(wèn)題,但通過(guò)查閱書籍、同學(xué)間討論、請(qǐng)教老師以及網(wǎng)上查找最終能夠得以解決,完成這次實(shí)習(xí)。</p><p> 通過(guò)這次實(shí)習(xí),我們學(xué)會(huì)了應(yīng)用MATLAB軟件來(lái)實(shí)現(xiàn)圖像處理中的一些重要的操作并且對(duì)MATLAB也能夠更加了解,對(duì)其的一些常見(jiàn)
34、函數(shù)以及與圖像處理相關(guān)的函數(shù)都比較了解,并能夠應(yīng)用這些函數(shù)來(lái)解決圖像處理的問(wèn)題。GUI對(duì)于我們是一個(gè)新的知識(shí),通過(guò)各方面的學(xué)習(xí),我們最終對(duì)GUI也有了比較深的了解,能夠很順利的應(yīng)用GUI來(lái)設(shè)計(jì)出適合并且美觀的界面。圖像處理是我們這學(xué)期的一門很重要的課程,在課上雖然學(xué)習(xí)了很多知識(shí),但是不經(jīng)過(guò)自己動(dòng)手操作而只看到書上的一些概念和處理的圖片并不能很清楚的了解到各種操作的效果,并且不動(dòng)手操作,知識(shí)就只能局限于書本上。經(jīng)過(guò)這次實(shí)習(xí),不但能夠讓我們
35、再次復(fù)習(xí)了本學(xué)期所學(xué)的圖像處理的知識(shí),加深了對(duì)這些知識(shí)的記憶,并且讓我們對(duì)圖像處理的各種處理方法有了更加直觀的了解,不但加深了記憶也能因此更加了解各種處理方法的應(yīng)用,可以用MATLAB軟件來(lái)對(duì)這些處理來(lái)實(shí)現(xiàn)。</p><p> 這次實(shí)習(xí)要實(shí)現(xiàn)的內(nèi)容比較多,其中有一些易操作的也有一些比較復(fù)雜的,在實(shí)習(xí)過(guò)程中也會(huì)遇到一些難以突破的問(wèn)題,但是在這個(gè)過(guò)程中需要我們耐心的學(xué)習(xí),一步一步通過(guò)各種途經(jīng)學(xué)習(xí)到解決的方法,也培養(yǎng)
36、了我們的耐心和學(xué)習(xí)的能力。這次是四人一組的實(shí)習(xí),因此合理的分工合作也是很重要的,通過(guò)實(shí)習(xí)也培養(yǎng)了我們之間分工協(xié)作互幫互助的精神。</p><p> 總體來(lái)說(shuō),我們的這次實(shí)習(xí)還是比較成功的,較為成功的完成了我們的實(shí)習(xí)任務(wù),并且達(dá)到到了我們實(shí)習(xí)的目的。</p><p><b> 參考文獻(xiàn)</b></p><p> 《MATLAB 7.X圖像處
37、理》 :賀興華、周媛媛、王繼陽(yáng)、周暉等編著,人民郵電出版社 2006年版</p><p> 《MATLAB GUI設(shè)計(jì)學(xué)習(xí)手記》 :羅華飛編著,北京航空航天大學(xué)出版社2009版。</p><p> 《數(shù)字圖像處理(MATLAB版)》 :岡薩雷斯著、阮秋琦等譯,電子工業(yè)出版社2005版。</p><p> 《MATLAB基礎(chǔ)及其應(yīng)用教程》 :周開(kāi)利、鄧春暉主編
38、,北京大學(xué)出版社2007版。</p><p> 《MATLAB在信號(hào)與圖像處理中的應(yīng)用》 :朱習(xí)軍、隋思漣、張賓、劉尊年主編,電子工業(yè)出版社2009版。</p><p> 《MATLAB語(yǔ)言與工程數(shù)據(jù)分析》 :隋思漣、王巖主編,清華大學(xué)出版社2009版。</p><p> 《MATLAB函數(shù)速查手冊(cè)》 :鄧薇編著,人民郵電出版社2008版。</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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于linuxqt圖形圖像課程設(shè)計(jì)
- 圖形圖像處理課程設(shè)計(jì)報(bào)告
- 圖形圖像處理綜合課程設(shè)計(jì)題目
- 圖形圖像處理圖像分割
- 圖形圖像論文處理
- 專題十五圖形圖像專題
- 圖形圖像處理matlab
- 幾種圖形圖像壓縮方法.pdf
- 單元七圖形圖像處理
- ps圖形圖像處理教案
- 圖形圖像界面中的圖標(biāo)設(shè)計(jì).pdf
- 激光直寫機(jī)圖形圖像軟件設(shè)計(jì)
- ps圖形圖像處理教案
- 文本顯示與圖形圖像處理
- 多媒體課件圖形圖像處理
- 圖形圖像廣告平面設(shè)計(jì)畢業(yè)論文
- 圖形圖像廣告平面設(shè)計(jì)畢業(yè)論文
- 激光直寫機(jī)圖形圖像軟件設(shè)計(jì).pdf
- 基于PHOTOSHOP圖形圖像操作課程考試系統(tǒng)的研究.pdf
- 多媒體圖形圖像 音頻視頻
評(píng)論
0/150
提交評(píng)論