[matlab] MATLAB 界面編程 傻瓜教程


 

 

>_<:在 MATLAB 的命令窗口(Command Window)中運行 guide 命令,來打開 GUIDE 界面,如下:

>_<:然后,選擇空模板(Blang GUI),點擊 OK,即可打開 GUIDE 的設計界面,如下:

>_<:點擊工具欄上的菜單編輯器(Tools->Menu Editor),打開菜單編輯器,如下:

>_<:Menu Bar 中新建一個菜單項,名字為“文件”,其他設置請看下圖:

>_<:在“文件”菜單下添加菜單項:“打開”,“保存”,“退出”。見下圖:

  

PS:如果需要在菜單項“退出”上面添加一個分割線的話,選中“Separator above this item”就行了。

PS:保存我的界面為 pjimage.fig. 保存完畢之后,會自動打開 pjimage.m 文件,而我們所有的程
序都是要寫在這個 M 文件里面的。在編程中,我們的每一個鼠標動作都對應一個 Callback
函數那么我們的菜單項也是如此的。

>_<:在界面上,單擊鼠標右鍵選擇“Property Inspector”,即可打開屬性窗口。當我們點擊不同的
控件時,其對應的屬性都會在這里顯示,我們可以進行修改。最主要的屬性莫過於 Tag 屬性
和 String 屬性。設置當前 Figure 窗口的 Tag 屬性為:figure_pjimage,窗口的標題(Name 屬性)為:圖像處理
實例。如下:

>_<:然后,點擊工具欄的保存按鈕。之后,點擊工具欄的運行按鈕 (Run Figure)。注意,工具欄
的圖標都會有提示的,像運行按鈕的提示就是 Run Figure. 我們會看到如下的界面:

PS:那說明,我們保存的.fig 文件的目錄不是當前目錄,但是沒關系啊,我們只要點擊“Change
Directory”來改變當前目錄。當然,如果你想把當前目錄添加到 MATLAB 路徑也可以,那
就點擊“Add to Path”就 OK 了。我在這里推薦點擊“Change Directory”,因為沒有什么太
大必要把其添加到 MATLAB 路徑中,一般是工具箱需要添加或者我們的函數或程序寫完了 ,
而在 MATLAB 的命令窗口找不到我們的函數的時候,我們可以將函數或程序所在的目錄添
加到 MATLAB 路徑。
>_<:我們的程序運行時的樣子,是這樣的:

>_<:我們可以通過上面的按鈕 “View”來查看該菜單項
的響應函數,也就是 Callback 函數。也可以在 pjimage.m 中看,比如保存的 Tag 屬性是
m_file_save,那么它對應的 Callback 函數的名字就是 m_file_save_Callback。依次類推了。
下面我們來寫打開菜單項的函數,要打開一個圖片,當然要用打開對話框了。在界面編程中 ,
打開對話框的函數是 uigetfile. 關於它的詳細的說明用 help uigetfile 命令查看。下面是打開
菜單的響應函數:

1 % --------------------------------------------------------------------
2 function m_file_open_Callback(hObject, eventdata, handles)
3 % hObject    handle to m_file_open (see GCBO)
4 % eventdata  reserved - to be defined in a future version of MATLAB
5 % handles    structure with handles and user data (see GUIDATA)
6 [filename,pathname]=uigetfile(...
7     {'*.bmp;*.jpg;*.jpeg','Image Files(*.bmp,*.jpg,*.png,*.jpeg)';...
8     '*.*','All Files(*.*)'},...
9     'Pick an Image');

>_<:保存.m 文件,並運行程序。點擊“文件”下的“打開”,會打開如下的打開對話框:

>_<:選擇一個文件之后,程序中的 filename 就是你選擇的文件的文件名,pathname 就是該文件
所 在 的 目 錄 的 路 徑 。 比 如 : filename =5.jpg , pathname =C:\Documents and
Settings\Administrator\My Documents\。
>_<:那么獲得路徑之后,我們要怎么樣才能讀入和顯示一個圖片呢?讀入圖片可以用 imread 函
數,而顯示可以在一個坐標軸上。那么我們需要在界面上畫上一個坐標軸,為了對比,我們
畫兩個坐標軸,一個顯示處理前,一個顯示處理后的。並且將處理前的坐標軸的 Tag 屬性改
為 axes_src,處理后的坐標軸的 Tag 屬性為 axes_dst。更改之后,保存。如下:

>_<:然后在 m_file_open_Callback 程序原來的基礎上,再添加如下的程序:

1 axes(handles.axes_src);%用axes命令設定當前操作的坐標軸是axes_src
2 fpath=[pathname filename];%將文件名和目錄名組合成一個完整的路徑
3 imshow(imread(fpath));%用imread讀入圖片,並用imshow在axes_src上顯示

>_<:運行程序,通過“打開”菜單項,打開一個圖片。效果如下:

PS:這里只是簡單地介紹一下matlab怎么創建界面程序,有時候合理的使用工具會加快研
究進度,matlab有很強的數值計算分析及仿真能力,這里就不多說啦~
>_<:這里有個比較完整的小傻瓜教程,連接如下:http://pan.baidu.com/s/1ntx9Csp
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM