圖形圖像課程設(shè)計_第1頁
圖形圖像課程設(shè)計_第2頁
圖形圖像課程設(shè)計_第3頁
圖形圖像課程設(shè)計_第4頁
圖形圖像課程設(shè)計_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、圖形圖像論文論文題目: 圖 像 銳 化專業(yè)名稱: 指導(dǎo)教師: 2011年6月22日1、 實驗?zāi)康? 用MATLAB或其他的語言來實現(xiàn)數(shù)字圖像處理方面的一些操作;2 熟悉MATLAB7.1的一些基本函數(shù)及與數(shù)字圖像處理相關(guān)的函數(shù);3 熟悉圖形用戶界面(GUI),并用其來編寫界面;4 熟悉在界面(GUI)實現(xiàn)讀圖像,保存圖像,Robert算子、Sobel算子、Prewitt算子、Kirsch算子、Log算子、Canny算子進(jìn)行邊緣檢測。并能用MATLAB實現(xiàn)以上的功能;5 掌握從簡單到復(fù)雜的方法,一步一步的實現(xiàn)功能,并能耐心排錯,養(yǎng)成合作互助精神。2、 實驗任務(wù)1實現(xiàn)圖像的打開,顯示,保存操作。2

2、實現(xiàn)圖像的邊緣檢測,如Robert算子邊緣檢測,Sobel算子邊緣檢測,Prewitt算子邊緣檢測,Log算子邊緣檢測,Canny算子邊緣檢測;3實現(xiàn)整個界面的設(shè)計,編排,最終達(dá)到一種比較完美的效果。3、 主要內(nèi)容整個程序的設(shè)計過程,大致上是按照實習(xí)的任務(wù)順序來設(shè)計的?;驹O(shè)計過程如下所示:1、 在剛剛接觸MATLAB的GUI設(shè)計時,還不太熟悉GUI。因而經(jīng)過了一段時間的資料查詢和書本學(xué)習(xí)以及和同學(xué)們討論過后,漸漸掌握了基本的GUI用戶交互界面的設(shè)計方法。2、 首先是新建一個空白的GUI界面,然后根據(jù)功能的需要,往界面里拖動各個控件。在這個時候,整個界面的對齊和控件的擺放都需要經(jīng)過設(shè)計。由于我

3、們所設(shè)計的界面思路是:將所有需要實現(xiàn)的功能全部擺放在界面上,當(dāng)使用者進(jìn)入界面時就能直截了當(dāng)?shù)乜吹剿械臇|西,點擊控件就能實現(xiàn)想要的功能。所以除了菜單欄以外,所有功能都能在GUI 界面上直接找到。3、 在設(shè)計任務(wù)上要求的有幾個大范圍,我們對各個任務(wù)的設(shè)計如下:文件的打開、顯示、保存。我們將文件的打開、保存以及程序退出放到菜單欄里,當(dāng)點擊菜單欄的“文件(F)”時,會出現(xiàn)下拉菜單,點擊各個選項就能實現(xiàn)相應(yīng)功能。“文件打開”可以打開在文件夾MATLAB中'*.png'、'*.tif'、'*jpg'、'*.bmp'、'*.gif&#

4、39;格式的圖像文件,并將其顯示到GUI界面中的“原始圖像”和“處理后圖像”?!拔募4妗眲t是將當(dāng)前“處理后圖像”以*.jpg的形式保存到文件夾MATLAB中。對于“圖像顯示”,我們的設(shè)計是:當(dāng)用戶一進(jìn)入GUI界面時,就能看到界面中已經(jīng)顯示出來的兩幅一樣的圖像,它們就是“原始圖像”和“處理后圖像”。而后“原始圖像”在整個功能實現(xiàn)過程中,除了“文件打開”功能會變換顯示的圖像之外,“原始圖像”一直不做改變以便與“處理后圖像”形成對比。對于“圖像旋轉(zhuǎn)”,也是只顯示在“處理后圖像”,其針對的是原始圖像或加噪后的圖像,我們將它設(shè)計為向逆時針方向旋轉(zhuǎn)90度,并且可以一直向這個方向旋轉(zhuǎn)。實現(xiàn)圖像的邊緣檢測。

5、包括“Robert算子”、“Sobel算子”、“Prewitt算子”、“Log算子”、“Canny算子”這5個選擇。這5項均放在一個“button group”“邊緣檢測”中,每次點擊都只有一項“radio Button”起作用,分別對“原始圖像”進(jìn)行處理后顯示到“處理后圖像”中,4、 為了圖像處理的易于觀察性,我們添加了一個名為“恢復(fù)原圖”的“push Button”。當(dāng)使用者點擊該按鈕時,在“處理后圖像”中則會顯示與“原始圖像”相同的未經(jīng)過處理的圖像。這時,使用者可以像剛進(jìn)入GUI界面一樣進(jìn)行各種處理,若不滿意“處理后圖像”或者不下心點擊了其它不需要的功能,則可以點擊該按鈕,使圖像復(fù)原。5

6、、 整個設(shè)計過程中,最重要的也是花費最多時間的部分就是為各個功能按鈕添加程序代碼,從圖像的讀入到處理后圖像的顯示,每個細(xì)節(jié)都需要考慮并且在實驗過程進(jìn)行中反復(fù)的糾錯和修改。6、 設(shè)計完成之后整個界面如下:4、 算法實現(xiàn)讀取圖片,使用者可以從按鈕中讀出文件夾“MATLAB”中的圖像,并將其顯示到兩個坐標(biāo)軸axes1和axes2中。在菜單編輯器中“打開”的Callback中加入如下程序代碼:function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% even

7、tdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%global imfilename,pathname=. uigetfile('*.*''*.bmp''*.jpg''*.tif''*.png','selecet pictrue');if isequal(filename,0)|isequal(pathname

8、,0) return;endstr=pathname filename;im=imread(str);axes(handles.axes1);imshow(im);setappdata(handles.figure1,'im',im);圖片保存。當(dāng)用戶想要對處理后圖像進(jìn)行保存時,可以通過按鈕實現(xiàn)功能,將“處理后圖像”即坐標(biāo)軸axes2中的圖像文件保存到文件夾“MATLAB”中。在菜單編輯器中“保存”的Callback函數(shù)中加入如下程序代碼:function pushbutton2_Callback(hObject, eventdata, handles)% hObject ha

9、ndle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%global BWfilename,pathname=. uiputfile('*.tif''*.jpg''*.png''*.bmp','save pictrue');if isequal(filename

10、,0)|isequal(pathname,0) returnelse str=pathname filename axes(handles.axes2); im=getimage(handles.axes2); imwrite(im,str);End程序退出。當(dāng)用戶點擊“退出”按鈕,則執(zhí)行整個GUI界面的退出功能。在菜單編輯器中“退出”的Callback子函數(shù)中添加如下代碼:function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata

11、 reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)close(gcf) %關(guān)閉當(dāng)前Figure窗口句柄 圖像的邊緣檢測。對于該功能的實現(xiàn),本程序在一個Button group“邊緣檢測”中設(shè)置了5個radio Button,分別在每個按鈕的回調(diào)函數(shù)Callback中添加代碼,每次用戶點擊該組按鈕時只有一個按鈕起作用,分別對同一圖像進(jìn)行邊緣檢測處理。所添加的程序如下:function uipanel4_Selectio

12、nChangeFcn(hObject, eventdata, handles)% hObject handle to the selected object in uipanel4 % eventdata structure with the following fields (see UIBUTTONGROUP)% EventName: string 'SelectionChanged' (read only)% OldValue: handle of the previously selected object or empty if none was selected%

13、NewValue: handle of the currently selected object% handles structure with handles and user data (see GUIDATA)global BW %定義全局變量im=getappdata(handles.figure1,'im');str=get(hObject,'string'); %拿到所選按鈕的名稱axes(handles.axes2); %使用第二個axes switch str %選擇語句 %恢復(fù)原圖 case'Initial' %點擊原圖按鈕

14、imshow(im); %顯示原圖 %Robert算子 case'Roberts' %點擊Roberts邊緣檢測按鈕 BW=edge(im,'roberts'); imshow(BW); %Sobel算子case'Sobel' %點擊Sobel邊緣檢測按鈕 BW=edge(im,'sobel',0.02); imshow(BW);%Prewitt算子case'Prewitt' %點擊Prewitt邊緣檢測按鈕 BW=edge(im,'prewitt',0.04); imshow(BW); %LOG算

15、子 case'Log' %點擊Log邊緣檢測按鈕 BW=edge(im, 'log',0.003); imshow(BW); %Cannny算子case'Canny' %點擊Canny邊緣檢測按鈕 BW=edge(im,'canny',0.2); imshow(BW);end;guidata(hObject,handles5、 總結(jié) 雖然這次實習(xí)只有二個星期的時間,但是我們對圖像處理的各種方法及應(yīng)用有了更深的理解,學(xué)會了應(yīng)用MATLAB軟件及GUI來實現(xiàn)界面的操作和編程處理。MATLAB是我們在以前和以后的學(xué)習(xí)工作中都會經(jīng)常應(yīng)用到

16、的軟件,但是在以前還是對其了解不足,操作不是很了解,在實習(xí)之初便因為這個問題而無從下手。于是我們尋找了許多這方面的書籍以及應(yīng)用網(wǎng)絡(luò)教程來對其進(jìn)行學(xué)習(xí),逐漸的增強(qiáng)了對MATLAB及GUI的了解,能夠摸索著開始進(jìn)行編寫。實習(xí)中也遇到了很多問題,但通過查閱書籍、同學(xué)間討論、請教老師以及網(wǎng)上查找最終能夠得以解決,完成這次實習(xí)。 通過這次實習(xí),我們學(xué)會了應(yīng)用MATLAB軟件來實現(xiàn)圖像處理中的一些重要的操作并且對MATLAB也能夠更加了解,對其的一些常見函數(shù)以及與圖像處理相關(guān)的函數(shù)都比較了解,并能夠應(yīng)用這些函數(shù)來解決圖像處理的問題。GUI對于我們是一個新的知識,通過各方面的學(xué)習(xí),我們最終對GUI也有了比較

17、深的了解,能夠很順利的應(yīng)用GUI來設(shè)計出適合并且美觀的界面。圖像處理是我們這學(xué)期的一門很重要的課程,在課上雖然學(xué)習(xí)了很多知識,但是不經(jīng)過自己動手操作而只看到書上的一些概念和處理的圖片并不能很清楚的了解到各種操作的效果,并且不動手操作,知識就只能局限于書本上。經(jīng)過這次實習(xí),不但能夠讓我們再次復(fù)習(xí)了本學(xué)期所學(xué)的圖像處理的知識,加深了對這些知識的記憶,并且讓我們對圖像處理的各種處理方法如灰度變換、直方圖均衡、濾波等等對圖像產(chǎn)生的效果有了更加直觀的了解,不但加深了記憶也能因此更加了解各種處理方法的應(yīng)用,可以用MATLAB軟件來對這些處理來實現(xiàn)。 這次實習(xí)要實現(xiàn)的內(nèi)容比較多,其中有一些易操作的也有一些比較復(fù)雜的,在實習(xí)過程中也會遇到一些難以突破的問題,但是在這個過程中需要我們耐心的學(xué)習(xí),一步一步通過各種途經(jīng)學(xué)習(xí)到解決的方法,也培養(yǎng)了我們的耐心和學(xué)習(xí)的能力。這次是兩人一組的實習(xí),因此合理的分工合作也是很重要的,通過實習(xí)也培養(yǎng)了我們之間分工協(xié)作互幫互助的精神。 總體來說,我們的這次實習(xí)還是比較成功的,較為成功的完成了我們的實習(xí)任務(wù),并且達(dá)到到了我們實習(xí)的目的。6、 參考文獻(xiàn)MATLAB 7.X圖像處

溫馨提示

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

評論

0/150

提交評論