仲會(huì)娟
(陽(yáng)光學(xué)院電子信息工程系,福州 350015)
數(shù)字圖像處理實(shí)驗(yàn)教學(xué)軟件設(shè)計(jì)
仲會(huì)娟
(陽(yáng)光學(xué)院電子信息工程系,福州 350015)
針對(duì)當(dāng)前電子信息類本科專業(yè)數(shù)字圖像處理課程教學(xué)的特點(diǎn)和存在的問(wèn)題,探索開發(fā)了綜合性的實(shí)驗(yàn)教學(xué)軟件。該系統(tǒng)在Matlab內(nèi)部的圖形用戶界面開發(fā)環(huán)境(GUIDE)中以M函數(shù)的形式設(shè)計(jì)實(shí)現(xiàn),包括基本算法和綜合實(shí)例兩部分。該實(shí)驗(yàn)教學(xué)軟件界面友好、可擴(kuò)展性強(qiáng)且緊密貼合教材易于作為教師課程教學(xué)的輔助工具;同時(shí)算法結(jié)果直觀明了,并且運(yùn)行中提供算法的關(guān)鍵語(yǔ)句,可幫助學(xué)生輕松掌握?qǐng)D像處理的基本理論和基本方法,具有較高的應(yīng)用價(jià)值和應(yīng)用前景。
數(shù)字圖像處理;圖形用戶界面;實(shí)驗(yàn)教學(xué)軟件;Matlab
隨著科學(xué)技術(shù)的發(fā)展,數(shù)字圖像處理廣泛應(yīng)用,數(shù)字圖像處理已成為高等學(xué)校電子信息類專業(yè)重要的專業(yè)課。但是,由于數(shù)字圖像處理理論性和實(shí)踐性都強(qiáng),并且課程涉及的內(nèi)容廣泛,是一門綜合性很強(qiáng)的交叉學(xué)科[1],僅通過(guò)傳統(tǒng)的課堂理論教學(xué)學(xué)生不能對(duì)所學(xué)知識(shí)得到直觀的認(rèn)識(shí),因此很難切實(shí)掌握課程的基本理論和基本算法。為了解決傳統(tǒng)課堂理論教學(xué)和課內(nèi)實(shí)驗(yàn)教學(xué)相結(jié)合中無(wú)法獲得理想的培養(yǎng)效果的問(wèn)題,設(shè)計(jì)提出了采用Matlab的GUI環(huán)境建立與課程緊密結(jié)合的、界面友好的、交互性和可擴(kuò)展性強(qiáng)的教學(xué)實(shí)驗(yàn)軟件[2],目的是方便教師進(jìn)行課堂算法演示,使學(xué)生快速的、深入的理解數(shù)字圖像的基本概念和典型方法,同時(shí)幫助學(xué)生進(jìn)行課下編程語(yǔ)言的學(xué)習(xí)和鞏固。
設(shè)計(jì)采用Matlab R2012a可視化數(shù)值計(jì)算軟件平臺(tái),在GUIDE工具集中進(jìn)行組件的布局創(chuàng)建圖形用戶界面,并為每個(gè)控件編寫回調(diào)函數(shù)[3]。設(shè)計(jì)中圖形用戶界面采用自頂向下的設(shè)計(jì)方法,即先設(shè)計(jì)主界面再設(shè)計(jì)各個(gè)子模塊界面;而回調(diào)函數(shù)編程則是采用自底向上的設(shè)計(jì)方法[4],在各個(gè)子模塊功能實(shí)現(xiàn)的情況下,通過(guò)主界面程序調(diào)用各個(gè)功能模塊實(shí)現(xiàn)一個(gè)完整的實(shí)驗(yàn)教學(xué)系統(tǒng)。
該系統(tǒng)在國(guó)內(nèi)圖像處理實(shí)驗(yàn)教學(xué)軟件的研究基礎(chǔ)上設(shè)計(jì),包括了數(shù)字圖像處理學(xué)科大部分的經(jīng)典算法;而且引入一些較新的處理成果,使學(xué)生不僅掌握?qǐng)D像處理學(xué)科的基本原理和基本方法[1],也能夠了解該學(xué)科較新的研究領(lǐng)域,拓展其學(xué)科視野。同時(shí)引入一些比較熱門的綜合應(yīng)用實(shí)例,使學(xué)生站在應(yīng)用系統(tǒng)的角度去理解所學(xué)知識(shí),讓學(xué)生切實(shí)感受到圖像處理的應(yīng)用就在身邊。在畢業(yè)設(shè)計(jì)和課程設(shè)計(jì)階段,學(xué)生還可以有效利用本實(shí)軟件進(jìn)行算法選擇和組合實(shí)驗(yàn),從而提高系統(tǒng)設(shè)計(jì)開發(fā)速度,更有利于學(xué)生創(chuàng)新[3]。
該實(shí)驗(yàn)教學(xué)系統(tǒng)旨在輔助課堂教學(xué),幫助學(xué)生理解消化課堂基本知識(shí),所以它涵蓋了圖像幾何變換、圖像頻域變換、圖像增強(qiáng)、圖像分割、圖像復(fù)原、圖像編碼等數(shù)字圖像處理的經(jīng)典算法[5]??紤]到部分學(xué)生對(duì)數(shù)字圖像處理課程具有較高的學(xué)習(xí)興趣和主動(dòng)性,系統(tǒng)還提供了圖像形態(tài)學(xué)處理和一些綜合設(shè)計(jì)實(shí)例,其整體結(jié)構(gòu)如圖1所示。由于數(shù)字圖像處理涵蓋內(nèi)容比較多,因此各個(gè)子模塊可能包含不同的功能模塊,下面以圖像增強(qiáng)模塊為例,其內(nèi)部包括灰度變換、直方圖修正、圖像平滑、圖像銳化等功能模塊[6]。
在Matlab命令窗口輸入“guide”命令,打開Matlab GUIDE編輯器窗口,通過(guò)使用組件布局工具,可以添加Push Button、Axes、Static Text、Pop_up Menu、Panel等所需用戶控件,并合理設(shè)置各控件的位置及其屬性參數(shù)[7],布局完成并存盤后完成圖像增強(qiáng)模塊圖形用戶界面的設(shè)計(jì)。圖像增強(qiáng)模塊設(shè)計(jì)界面如圖2所示。
組件布局的同時(shí)系統(tǒng)生成兩個(gè)文件,“.fig”文件包含GUI界面所有組件的布置信息,“.m”文件包含用戶用來(lái)發(fā)布和控制界面和回調(diào)函數(shù)的各種函數(shù)。所以在GUI界面生成后,通過(guò)編寫重要組件的回調(diào)函數(shù)來(lái)控制各個(gè)組件動(dòng)作,如中值濾波在其下拉菜單的回調(diào)函數(shù)[8]為:
Call back函數(shù)編寫完成后運(yùn)行程序,在圖形用戶界面中選擇“打開圖像/Gaussian噪聲”,系統(tǒng)分別調(diào)用open_Callback和noise_Callback函數(shù)得到圖3所示高斯噪聲圖像,再選擇“zhongzhi_filter”即中值濾波模版以調(diào)用filt_Callback函數(shù)得到圖4所示中值濾波圖像。該設(shè)計(jì)加噪算法和空域?yàn)V波算法通過(guò)下拉菜實(shí)現(xiàn),所以除高斯噪聲外還可添加salt&pepper噪聲和speckle噪聲,除中值濾波模版外還可以選擇均值濾波和加權(quán)濾波模版。
該實(shí)驗(yàn)使學(xué)生了解不同噪聲對(duì)同一圖像信息的疊加效果,不同濾波器對(duì)各種噪聲的處理效果是不一樣的,其中中值濾波器是非線性濾波器,在濾除噪聲的同時(shí)可以有效保留圖像邊緣細(xì)節(jié)等高頻信息,尤其對(duì)椒鹽噪聲的處理效果最好。
讀入圖像之后點(diǎn)擊“對(duì)比度調(diào)節(jié)”按鈕,系統(tǒng)
調(diào)用adjust_Callback回調(diào)函數(shù)并彈出如圖5所示參數(shù)設(shè)置對(duì)話框。該參數(shù)默認(rèn)值為1表示線性變換,不為1則為非線性變換[9],不同參數(shù)對(duì)應(yīng)不同的灰度變換函數(shù),當(dāng)參數(shù)設(shè)置為5時(shí)得到灰度調(diào)整后圖像如圖6所示。
讀入原始圖像之后,在頻域增強(qiáng)中選擇“IL?PF”即理想低通濾波器,系統(tǒng)調(diào)用ILPF_Callback回調(diào)函數(shù)并彈出如圖7所示理想低通濾波圖像及其頻譜圖。通過(guò)該實(shí)驗(yàn)學(xué)生可以深刻理解理想低通濾波器的定義,和ILPF處理的優(yōu)缺點(diǎn)。
在系統(tǒng)每一步操作過(guò)程中,其回調(diào)函數(shù)對(duì)應(yīng)的核心代碼都將在“關(guān)鍵語(yǔ)句”窗口給出,使學(xué)生在對(duì)結(jié)果進(jìn)行感性認(rèn)識(shí)的同時(shí)切實(shí)幫助學(xué)生對(duì)編程算法進(jìn)行理解,對(duì)編程語(yǔ)言進(jìn)行學(xué)習(xí)。選擇界面其他按鈕將調(diào)用其對(duì)應(yīng)的回調(diào)函數(shù)并產(chǎn)生相應(yīng)的按鍵動(dòng)作,這里不再贅述。當(dāng)選擇“退出”按鈕時(shí)系統(tǒng)退出圖像增強(qiáng)模塊界面并返回系統(tǒng)主界面。
為滿足部分學(xué)生對(duì)圖像處理課程的進(jìn)一步學(xué)習(xí)的需要,幫助大家從全局的角度理解各個(gè)圖像處理算法,系統(tǒng)給出了一個(gè)完整的程序設(shè)計(jì)實(shí)例——數(shù)字圖像水印處理。該模塊對(duì)圖像幾何變換、圖像頻域變換、圖像增強(qiáng)、圖像編碼等內(nèi)容進(jìn)行綜合應(yīng)用,實(shí)現(xiàn)離散小波域內(nèi)水印圖像嵌入和提取的算法。模塊通過(guò)峰值信噪比(PSNR)反應(yīng)水印圖像對(duì)原始圖像的影響程度,通過(guò)水印相似度體現(xiàn)提取的水印和原始水印圖像的相似程度,如圖8和圖9所示。
通過(guò)案例的學(xué)習(xí)使學(xué)生從全局的視角上理解
數(shù)字圖像處理的基本理論和基本方法,從應(yīng)用層的角度出發(fā)對(duì)課程基本理論和典型算法進(jìn)行反思,以達(dá)到溫故而知新的目的。
與Visual C++和Java等面向?qū)ο蟮母呒?jí)編程語(yǔ)言相比,由于Matlab軟件提供了豐富的圖像處理函數(shù)所以編程簡(jiǎn)單,且Matlab GUI開發(fā)環(huán)境設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)單[7],因此本文提出基于Matlab GUI的數(shù)字圖像處理實(shí)驗(yàn)教學(xué)軟件設(shè)計(jì),該系統(tǒng)操作簡(jiǎn)單方便、緊密貼合教材易于作為課程輔助教學(xué);該系統(tǒng)算法結(jié)果直觀、提供算法關(guān)鍵編程語(yǔ)句易于學(xué)生理解、使用和做二次開發(fā),具有較高的應(yīng)用價(jià)值和應(yīng)用前景。
[1]趙珊,劉靜.“數(shù)字圖像處理”課程教學(xué)改革探討[J].科技資訊:科技教育,2010,25(04):178-179.
[2]王帆,劉慧.基于MATLAB GUI的數(shù)字圖像處理實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[J].中國(guó)科技信息:信息科技,2010,34(11):124-125.
[3]陸垚光,毛濤濤,王正林,等.精通MATLAB GUI設(shè)計(jì)[M]. 3版,北京:電子工業(yè)出版社,2008.
[4]英英.基于MATLAB的圖形圖像處理系統(tǒng)的實(shí)現(xiàn)[D].呼和浩特:內(nèi)蒙古大學(xué),2013.
[5]Rafael C.Gonzalez,Richard E.Woods.數(shù)字圖像處理(MAT?LAB版)[M].阮秋琦,譯,2版,北京:電子工業(yè)出版社,2014.
[6]莫德舉,梁光華.數(shù)字圖像處理[M].北京:北京郵電出版社,2010.
[7]錢超.基于MATLAB GUI的指紋圖像采集及預(yù)處理研究[D].太原:中北大學(xué),2013.
[8]周品,李曉東.MATLAB數(shù)字圖像處理[M].北京:清華大學(xué)出版社,2012.
[9]魏晗,陳剛.MATLAB數(shù)字信號(hào)與圖像處理范例實(shí)戰(zhàn)速查寶典[M].北京:清華大學(xué)出版社,2013.
The Design of Experiment Teaching Software for Digital Image Processing
ZHONG Huijuan
(Yango College,Fuzhou 350015,China)
In accordance with the features and problems of the present teaching about the course of Digital Im?age Processing for electronic information undergraduate,in this paper an comprehensive experimental teaching software was developed.The experimental teaching software of digital image processing was designed by M lan?guage in the component layout tool GUIDE of Matlab and it comprises basic algorithm and integrated instance. This system with friendly interface and rich contents fitting materials,and it with good extensibility,so in class it can be used as auxiliary teaching tool.Meanwhile the object teaching can help students master the basic theories and technique of digital image processing,so it has a high value and prospects.
digital image processing;graphic user interface;experimental teaching software;matlab
G642
A
1673-2928(2015)06-0045-04
(責(zé)任編輯:王彥永)
2015-09-05
仲會(huì)娟(1985-),女,陽(yáng)光學(xué)院電子信息工程系助教,主要研究方向:信號(hào)處理、圖像處理。