高揚(yáng)
摘要:在MATLABGUI的環(huán)境下,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)數(shù)字圖像處理演示系統(tǒng),利用系統(tǒng)演示圖像處理的方法、過程。系統(tǒng)界面友好、內(nèi)容豐富、具有良好的交互性和實(shí)用性,為學(xué)生提供了一個(gè)數(shù)字圖像處理的算法演示及模擬開發(fā)的實(shí)驗(yàn)平臺(tái),能幫助學(xué)生掌握數(shù)字圖像處理的理論方法,有利于學(xué)生加深對(duì)原理、算法的理解,激發(fā)學(xué)生的學(xué)習(xí)興趣。
關(guān)鍵詞:數(shù)字圖像處理;圖形用戶界面;交互式可視化
引言
數(shù)字圖像處理處在科技發(fā)展的前沿,是一門理論性和實(shí)踐性非常強(qiáng)的學(xué)科,為了讓學(xué)生對(duì)數(shù)字圖像處理過程有一個(gè)比較直觀的認(rèn)識(shí),在學(xué)習(xí)具體算法時(shí)需要形象化演示來加深理解。MATLAB軟件提供了圖像處理工具箱,GUI更提供了友好的圖形用戶交互界面開發(fā)環(huán)境,使操作便捷簡(jiǎn)單,方便進(jìn)行功能的修改和擴(kuò)充。
為了讓學(xué)生加深理解MATLAB圖像處理工具箱中的函數(shù)的使用方法,以及利用GUI進(jìn)行二次開發(fā)的過程。本文基于MATLAB GUI設(shè)計(jì)了一個(gè)數(shù)字圖像處理演示系統(tǒng),該系統(tǒng)具有很好的交互性,用戶可以與機(jī)器交互操作,在界面上直接輸入設(shè)置參數(shù),即可得到直觀的的處理結(jié)果,因而便于使用者的處理操作和分析處理結(jié)果。
1.實(shí)驗(yàn)平臺(tái)總體結(jié)構(gòu)設(shè)計(jì)
本次設(shè)計(jì)是通過MATLAB R2014b軟件實(shí)現(xiàn)一個(gè)數(shù)字圖像處理演示系統(tǒng)。本系統(tǒng)功能分為八個(gè)模塊,如下所示:圖像基本操作模塊數(shù)字圖像處理基礎(chǔ)模塊圖像增強(qiáng)模塊圖像分割模塊圖像幾何變換模塊頻域處理模塊數(shù)學(xué)形態(tài)學(xué)模塊綜合演示模塊。系統(tǒng)框圖如圖1所示:
本次系統(tǒng)結(jié)構(gòu)設(shè)計(jì)采用總分的方法,即先設(shè)計(jì)系統(tǒng)介紹界面和主界面,再設(shè)計(jì)各個(gè)子界面。M文件的編寫也是如此,先編寫主框架的回調(diào)函數(shù),再編寫子模塊的回調(diào)函數(shù)。系統(tǒng)的子界面是由不同功能按鍵調(diào)用的,每個(gè)按鍵都有相對(duì)應(yīng)的子界面。通過點(diǎn)擊按鍵運(yùn)行相對(duì)應(yīng)的M文件,而后彈出相應(yīng)的子界面。
此系統(tǒng)的主界面設(shè)計(jì)為先是動(dòng)畫界面介紹系統(tǒng)名稱,而后跳轉(zhuǎn)到系統(tǒng)介紹界面。介紹界面具體設(shè)計(jì)為:在圖形界面編窗口里,首先調(diào)用axes控件和靜態(tài)文本框,axes控件用來生成坐標(biāo)軸對(duì)象,以便于顯示界面背景圖像。再通過改變靜態(tài)文本框的屬性來顯示相關(guān)系統(tǒng)介紹。同時(shí)添加一個(gè)按鈕并設(shè)置為進(jìn)入系統(tǒng)。系統(tǒng)介紹界面效果如圖2所示。
在介紹界面單擊進(jìn)入按鈕后,進(jìn)入系統(tǒng)主界面,主界面中央有一個(gè)系統(tǒng)功能選擇面板,分布著八個(gè)按鍵,分別為圖像基本操作、圖像處理基礎(chǔ)、圖像增強(qiáng)、圖像分割、圖像幾何運(yùn)算、頻域處理、數(shù)學(xué)形態(tài)學(xué)及綜合演示。界面右下角為退出按鍵,用以退出系統(tǒng)。如圖3所示為主界面窗口:
本實(shí)驗(yàn)系統(tǒng)有多個(gè)功能模塊,下面只詳細(xì)敘述圖像分割模塊。
2. 圖像分割模塊的實(shí)現(xiàn)
2.1 閾值分割
閾值分割是最常用的圖像分割方法,因其操作簡(jiǎn)單、計(jì)算量小、性能較穩(wěn)定而成為圖像分割中最基本、最廣泛使用的分割技術(shù)。閾值分割特別適用于目標(biāo)和背景占據(jù)不同灰度級(jí)的圖片。此界面通過滑動(dòng)條的滑動(dòng)來設(shè)置閾值參數(shù),也可通過動(dòng)態(tài)文本框手動(dòng)輸入閾值T,滑動(dòng)條與文本框是連通的,滑動(dòng)條滑動(dòng)后的值可在文本框內(nèi)顯示,文本框內(nèi)的值也可以轉(zhuǎn)換成滑動(dòng)條的值,實(shí)現(xiàn)不同閾值的分割。其處理效果如圖4所示。
閾值滑動(dòng)條回調(diào)函數(shù)如下:
T=get(hObject,'Value');
axes(handles.axes6);
I=imread('xiaoxiang.jpg');
Ibw = im2bw(I,T/255); %閾值分割
imshow(Ibw);
set(handles.edit3,'string',num2str(get(hObject,'Value')));
閾值文本框回調(diào)函數(shù)如下:
T=get(hObject,'string');
T=str2num(T);
axes(handles.axes6);
I=imread('xiaoxiang.jpg');
Ibw = im2bw(I,T/255);
imshow(Ibw);
set(handles.slider3,'Value',str2num(get(hObject,'string')));
2.2 邊緣檢測(cè)
圖像邊緣是所要提取的目標(biāo)區(qū)域和背景的分界線,將圖像邊緣檢測(cè)出來才能進(jìn)一步將目標(biāo)和背景區(qū)分開來。通過讀取圖像按鈕激活算子選擇按鈕和算子類型面板控件,使用radiobutton單選按鈕來選擇邊緣檢測(cè)的算子并進(jìn)行邊緣檢測(cè)。共有5個(gè)算子,Canny算子、Sobel算子、Robert算子、Prewitt算子、Log算子。以Canny算子邊緣檢測(cè)為例,算子檢測(cè)圖像邊緣效果如圖5所示。
Canny算子按鍵回調(diào)函數(shù)如下:
I=imread('yaoli.jpg');
I=rgb2gray(I);
axes(handles.axes4);
BW1 = edge(I,'canny');
imshow(BW1);
3. 結(jié)論
本文主要闡述了數(shù)圖像處理演示系統(tǒng)的設(shè)計(jì)步驟和實(shí)現(xiàn)方法,此系統(tǒng)可以達(dá)到界面操作可視化、處理結(jié)果可視化的要求,系統(tǒng)的各級(jí)界面都能實(shí)現(xiàn)人為動(dòng)態(tài)的參數(shù)設(shè)置,并能在界面上顯示處理結(jié)果進(jìn)行分析,同時(shí)突出了原理介紹、實(shí)驗(yàn)操作和結(jié)果分析的功能,將理論與實(shí)踐完美結(jié)合,有助于學(xué)習(xí)圖像處理技術(shù)和進(jìn)行進(jìn)一步的開發(fā)。通過對(duì)圖像處理結(jié)果的比較,可以形象地驗(yàn)證圖像處理算法,能夠充分的體現(xiàn)出圖形用戶界面的易用性、良好的擴(kuò)展性以及便捷性,用戶只需通過簡(jiǎn)單的操作就能完成想實(shí)現(xiàn)的功能。此外,圖形用戶界面十分的人性化,我們可以人為的設(shè)計(jì)界面,使界面上的控件布局更加美觀,達(dá)到激起學(xué)生學(xué)習(xí)興趣的效果。
參考文獻(xiàn):
[1]邢文博,蔣敬.基于Matlab開發(fā)數(shù)字圖像處理GUI[N].電氣電子教學(xué)學(xué)報(bào),2013-12-15.
[2]賈永紅.研究生《圖像處理與分析》課程的建設(shè)與改革[J].地理空間信息,2012,10(1):171-174.
[3]岡薩雷斯.數(shù)字圖像處理的MATLAB實(shí)現(xiàn)[M].第2版.北京:清華大學(xué)出版社,2013:4-6.
[4]羅華飛.MATLAB GUI設(shè)計(jì)學(xué)習(xí)手記[M].第2版.北京:北京航空航天大學(xué)出版社,2011:345-402.
[5]張鳴.基于MATLAB GUI的通信原理演示系統(tǒng)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2013,30(9):111-113.
[6]曹高飛.基于MATLAB的圖像增強(qiáng)教學(xué)演示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013:24.
[7]陳垚光,毛濤濤.精通MATLAB GUI設(shè)計(jì)[M].第3版.北京:電子工業(yè)出版社,2013:87.
[8]李磊.基于MATLAB GUI的數(shù)字圖像處理系統(tǒng)設(shè)計(jì)[D].成都:成都理工大學(xué),2012:31.
[9]張弘,謝鳳英.數(shù)字圖像處理與分析[M].第2版.北京:機(jī)械工業(yè)出版社,2013:124.
[10]陳超.MATLAB應(yīng)用實(shí)例精講----圖像處理與GUI設(shè)計(jì)篇[M].北京:電子工業(yè)出版社,2011:286-293.
[11]郭依正,焦蓬蓬.Matlab GUI在低質(zhì)量指紋圖像增強(qiáng)中的應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(07):57-63.endprint