資源描述:
《基于MATLAB GUI的數(shù)字圖像處理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、數(shù)字圖像處理課程論文基于matlabGUI的彩色圖像處理技術(shù)姓名:學(xué)號(hào):班級(jí):一.概述圖形用于界面(GraphicalUserInterfaces,GUI)是提供人機(jī)交互的工具和方法。GUI是包含圖形對(duì)象(如窗口、圖標(biāo)、菜單和文本)的用戶界面。以某種方式選擇或激活這些對(duì)象時(shí),通常會(huì)引起動(dòng)作或者發(fā)生變化。一個(gè)設(shè)計(jì)優(yōu)秀的GUI能夠非常直觀的讓用戶知道如何操作MATLAB界面,并且了解設(shè)計(jì)者的開發(fā)意圖。MATLAB的GUI為開發(fā)者提供了一個(gè)不脫離MATLAB的開發(fā)環(huán)境,有助于MATLAB程序的GUI集成。這樣可以使開發(fā)者不必理會(huì)
2、一大堆煩雜的代碼,簡化程序,但是同樣可以實(shí)現(xiàn)向決策者提供圖文并茂的界面,甚至達(dá)到多媒體的效果??梢哉fMATLAB提供了一個(gè)簡便的開發(fā)環(huán)境,可以讓開發(fā)者快速上手,提高了開發(fā)者的工作效率。二.完成任務(wù)所謂的GUIDE就是圖形用戶界面開發(fā)環(huán)境(GraphicalUserInterfaceDevelopmentEnvironment),它向用戶提供了一系列的創(chuàng)建用戶圖形界面的工具。這些工具大大簡化了GUI設(shè)計(jì)和生成的過程。通過GUIDE完成一下任務(wù):1)用戶可以通過菜單欄和按鈕進(jìn)行圖像的讀取,保存與退出。2)設(shè)計(jì)圖形用戶界面,讓用
3、戶能夠通過按鈕對(duì)圖像進(jìn)行灰度變化變成灰度圖。3)通過滑塊,用戶可以對(duì)圖像的亮度進(jìn)行調(diào)整5)通過按鈕,用戶可以查看圖片的直方圖。6)能對(duì)圖像加入各種椒鹽噪聲,并通過濾波法去除。7)通過選項(xiàng),用戶可以查看圖片的邊緣檢測圖,界面中可供選擇的檢測方式有roberts、sobel、prewitt、log、canny五種,當(dāng)用戶選擇orginal時(shí)顯示原圖。三.設(shè)計(jì)過程1.總體設(shè)計(jì)通過GUIDE向?qū)瓿山缑婀δ艿牟季?,根?jù)所需完成功能用戶界面布局如下圖1。圖1用戶功能界面2.控件設(shè)計(jì)及程序?qū)崿F(xiàn)2.1打開圖片,保存圖片,退出。拖拽三個(gè)個(gè)
4、按鈕放在合適的位置,雙擊按鈕修改字體大小、顏色等,在functionOpen_Callback(hObject,eventdata,handles)函數(shù)下添加如下程序即可完成打開圖片控件功能。[filename,filepath]=uigetfile({'*.bmp;*.jpg;*.png;*.jpeg;*.tif;*gif;*Imagefiles'},'');ifisequal(filename,0)
5、
6、isequal(filepath,0)return;endstr=[filepath,filename];x=imre
7、ad(str);axes(handles.axes1)imshow(x);在functionSave_Callback(hObject,eventdata,handles)函數(shù)下添加如下程序即可完成保存圖片控件功能。globalbnew_f_handle=figure('visible','off');new_axes=copyobj(handles.axes2,new_f_handle);set(new_axes,'units','default','position','default');[filename,path
8、namefileindex]=uiputfile({'*.jpg';'*.bmp';'*.png'},'savepictureas');if~filenamereturnelsefile=strcat(pathname,filename);switchfileindexcase1print(new_f_handle,'-djpeg',file);case2print(new_f_handle,'-dbmp',file);case3print(new_f_handle,'-dpng',file)endenddelete(ne
9、w_f_handle);在functionExit_Callback(hObject,eventdata,handles)函數(shù)下添加如下程序即可完成退出控件功能。clccloseallclose(gcf)clear圖2.1打開一幅圖2.2.灰度變換按鈕。先讀取一幅圖片顯示在左邊區(qū)域,通過按鈕將灰度圖顯示在右邊域。在functionRgb2gray_Callback(hObject,eventdata,handles)函數(shù)下添加如下代碼即可完成灰度變化功能。globalxaxes(handles.axes2)y=rgb2gr
10、ay(x);imshow(y);圖2.2灰度變化圖2.3圖像增強(qiáng)。先讀取一幅圖片顯示在左邊區(qū)域,通過按鈕將灰度圖顯示在右邊域??赏ㄟ^按鈕“圖像增強(qiáng)”或者滑塊改變改變圖像的強(qiáng)度。在functionIncrease_Callback(hObject,eventdata,handles)函數(shù)下添加如下代碼即可