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

 

 

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

>_<:而後,選擇空模板(Blang GUI),點擊 OK,便可打開 GUIDE 的設計界面,以下:編輯器

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

>_<:Menu Bar 中新建一個菜單項,名字爲「文件」,其餘設置請看下圖:函數

>_<:在「文件」菜單下添加菜單項:「打開」,「保存」,「退出」。見下圖:工具

  

PS:若是須要在菜單項「退出」上面添加一個分割線的話,選中「Separator above this item」就好了。ui

PS:保存個人界面爲 pjimage.fig. 保存完畢以後,會自動打開 pjimage.m 文件,而咱們全部的程
序都是要寫在這個 M 文件裏面的。在編程中,咱們的每個鼠標動做都對應一個 Callback
函數那麼咱們的菜單項也是如此的。this

>_<:在界面上,單擊鼠標右鍵選擇「Property Inspector」,便可打開屬性窗口。當咱們點擊不一樣的
控件時,其對應的屬性都會在這裏顯示,咱們能夠進行修改。最主要的屬性莫過於 Tag 屬性
和 String 屬性。設置當前 Figure 窗口的 Tag 屬性爲:figure_pjimage,窗口的標題(Name 屬性)爲:圖像處理
實例。以下:spa

>_<:而後,點擊工具欄的保存按鈕。以後,點擊工具欄的運行按鈕 (Run Figure)。注意,工具欄
的圖標都會有提示的,像運行按鈕的提示就是 Run Figure. 咱們會看到以下的界面:設計

PS:那說明,咱們保存的.fig 文件的目錄不是當前目錄,可是不要緊啊,咱們只要點擊「Change
Directory」來改變當前目錄。固然,若是你想把當前目錄添加到 MATLAB 路徑也能夠,那
就點擊「Add to Path」就 OK 了。我在這裏推薦點擊「Change Directory」,由於沒有什麼太
大必要把其添加到 MATLAB 路徑中,通常是工具箱須要添加或者咱們的函數或程序寫完了 ,
而在 MATLAB 的命令窗口找不到咱們的函數的時候,咱們能夠將函數或程序所在的目錄添
加到 MATLAB 路徑。
>_<:咱們的程序運行時的樣子,是這樣的:3d

>_<:咱們能夠經過上面的按鈕 「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
相關文章
相關標籤/搜索