張 勇 曹高飛 潘 宏
(瀘州醫學院,四川 瀘州 646000)
圖形用戶界面GUI(Graphical User Interfaces)是面向對象的用戶界面,包含窗口、圖標、菜單、文本等對象,它提供了人機交互的工具和方法。MATLAB的GUI為開發者提供了一個不脫離MATLAB的開發環境,有助于MATLAB程序的GUI集成。在MATLAB中的GUIDE就是圖形用戶界面開發環境(Graphical User Interface Development Environment),它向用戶提供了一系列的創建用戶圖形界面的工具,這些工具大大簡化了設計和生成的過程。設計一個GUI程序可分為三個步驟:1)圖形界面設計2)控件屬性設置3)程序代碼編寫。下面就以此步驟介紹實現圖像分割的GUI程序。
用GUIDE版面設計器根據比較設計需要首先拖拽兩個圖形窗口Axes,一個作為待處理圖片區域,另一個作為已處理圖片區域;其次,拖拽1個下拉菜單Pop-up menu作為圖像分割算法的選擇按鈕;第三,拖拽3個按鈕Push Button作為輸入圖像、保存圖像、退出界面的按鈕;第四,拖拽一個Slider微調按鈕,實現閾值的選取;第五,拖拽一個Edit Text編輯文本框,實現編輯文本框與微調按鈕的同步;最后,合理布局所有按鈕及圖形,使界面達到美觀工整后運行GUI,系統自動生成GUI文件。
控件是GUI必不可少的組成部分,每一個控件都有其各自的屬性。在初步定好GUI界面時,需要對添加在上面的控件進行基本屬性的設置。需要設置的屬性主要有:FontSize、String、Tag、Max、Min、Resize、Units。
屬性設置好之后,圖像分割主界面如圖1。

圖1 圖像分割的GUI主界面
圖像分割GUI界面設計完成后需要在按鈕的callback回調函數中添加代碼。
①將待處理的圖像載入圖形窗口的程序代碼如下:


運行結果如圖2所示。

圖2 載入圖像后GUI界面
②保存圖像的程序代碼:

運行結果如圖3所示。

圖3 保存處理后的圖像
③退出界面回調函數程序代碼:

下拉菜單pop-up menu回調函數程序代碼:



運行結果如圖4,圖5所示。

圖4 roberts算子圖像分割

圖5 sobel算子圖像分割
編輯文本框Edit Text回調函數程序代碼:

圖像分割是指根據需要將圖像劃分為有意義的若干區域或部分的圖像處理技術。MATLAB圖形用戶界面的應用,使基于閾值的圖像分割處理變得更加的簡潔和直觀。