王帆 劉慧
1中國人民解放軍94159部隊99分隊, 蘭州 730020
2甘肅省銀行學(xué)校,蘭州 730020
基于Matlab GUI的數(shù)字圖像處理實驗平臺設(shè)計
王帆1劉慧2
1中國人民解放軍94159部隊99分隊, 蘭州 730020
2甘肅省銀行學(xué)校,蘭州 730020
利用Matlab的圖形用戶界面環(huán)境(GUI)設(shè)計了數(shù)字圖像處理實驗平臺。該平臺具有良好的交互性,實用性和可擴展性,能幫助學(xué)生切實掌握數(shù)字圖像處理的基本理論和基本方法。
數(shù)字圖像處理;圖形用戶界面;實驗平臺Abstract In this paper, a experiment platform of digital image processing was designed by Graphic User Interface (GUI) of Matlab.This platform has good interaction,practicability and extensibility,it can help students master the basic theories and technique of digital image processing.
digital image processing;graphic user interface;experiment platform
隨著數(shù)字圖像處理[1,2]在諸多領(lǐng)域的廣泛應(yīng)用,許多高校開始在電子信息、通信工程、計算機、自動化等專業(yè)開設(shè)數(shù)字圖像處理課程。但是數(shù)字圖像處理涉及面廣、實用性強,學(xué)生在較緊的課時安排內(nèi)要掌握該課程的基本理論和基本方法有一定難度,因此,如何幫助學(xué)生深入理解基本概念和基礎(chǔ)理論,切實掌握數(shù)字圖像處理的典型方法是教學(xué)中的一個難點問題。
針對這一難點問題,我們利用Matlab的圖形用戶界面環(huán)境(GUI)[3]設(shè)計了數(shù)字圖像處理實驗平臺。同其他基于Matlab GUI的平臺一樣[4-7],該平臺具有良好的交互性,實用性和可擴展性,為學(xué)生提供了一個數(shù)字圖像處理的算法演示及模擬開發(fā)的實驗平臺,能幫助供學(xué)生熟悉并掌握數(shù)字圖像處理的基本理論和基本方法。
該實驗平臺分為五大模塊,包括圖像變換、圖像增強、圖像壓縮、圖像復(fù)原和圖像分割。實驗平臺模塊如圖1所示,由于圖像處理涵蓋的內(nèi)容較多,因此各大模塊還包含了不同的功能子塊。
利用M語言編程建立實驗平臺主界面的部分代碼如下,在主界面中點擊任一子模塊,就可打開相應(yīng)子模塊界面。如果學(xué)生需要增減模塊或調(diào)整主界面的外觀,可以通過修改主界面的代碼來實現(xiàn)。
本實驗系統(tǒng)有多個功能模塊,下面只詳細(xì)敘述邊緣檢測子模塊。
在Matlab命令窗口中輸入GUIDE,打開界面編輯器(Layout Editor),從界面編輯器的左側(cè)控件中,選擇4個坐標(biāo)軸(Axes)控件,4個文本標(biāo)簽(Static Text)控件,2個按鈕(Push Button)控件,通過布置這些控件的位置和設(shè)置它們的屬性就可以設(shè)計出邊緣檢測子模塊運行前的界面如圖2所示。
圖1 實驗平臺模塊
圖2 邊緣檢測子程序界面(運行前)
圖3 邊緣檢測子程序界面(運行后)
界面設(shè)計好之后再按下列代碼設(shè)計界面中重要控件的回調(diào)函數(shù)。
回調(diào)函數(shù)設(shè)計好之后,點擊“邊緣檢測”按鈕可以得到原始圖像對應(yīng)于Soble,Canny,Roberts三種算子的邊緣如圖3所示。點擊“返回主程序”可以關(guān)閉邊緣檢測子模塊,返回到圖像分割模塊。通過修改回調(diào)程序中圖像讀入函數(shù)imread中的文件名,學(xué)生可以對不同圖像做邊緣檢測。
與Visual Basic、Visual C++和Java等面向?qū)ο蟮某绦蛘Z言相比,由于Matlab提供了豐富的圖像處理函數(shù),且M語言和Matlab GUI開發(fā)環(huán)境也較簡單,因此本文提出的數(shù)字圖像處理實驗平臺,易于學(xué)生理解,使用和做二次開發(fā),具有良好的應(yīng)用前景。
[1] RAFAEL C.GONZALEZ,RICHARD E.WOODS著;阮秋琦,等譯. 數(shù)字圖像處理(第二版)[M]. 電子工業(yè)出版社.2003
[2] KENNETH R.CASTLEMAN著; 朱志剛等譯. 數(shù)字圖像處理[M].電子工業(yè)出版社.2004
[3] 陸垚光,毛濤濤,王正林,王玲.精通MATLAB GUI設(shè)計[M].電子工業(yè)出版社.2008
[4] 潘文霞, 范永威, 陸小花, 劉迅.MATLAB 在電路教學(xué)中的三種應(yīng)用方法[J]. 電力系統(tǒng)及其自動化學(xué)報.2006,18(6):108-112
[5] 藺紅,陳潔.Matlab在電路理論分析中的應(yīng)用[J].計算機應(yīng)用與軟件.2007,24(3):106-107
[6] 秦輝,席裕庚.基于Matlab GUI的預(yù)測控制仿真平臺設(shè)計[J]. 系統(tǒng)仿真學(xué) 報.2006,18(10):2778-2781
[7] Selleri, S. A Matlab application programmer interface for educational elctromagnetics[J],Antennas and Propagation Society International Symposium,IEEE,2003(3):450-453
10.3969/j.issn.1001-8972.2011.07.065