>_<:在 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上顯示
>_<:運行程序,經過「打開」菜單項,打開一個圖片。效果以下: