韋琳 凃玲英
摘要 本文以作者在數字圖像處理課程中的教學實踐,對于如何有效地講解數字圖像處理的各種算法,提出了一些具體的教學方法。應用Matlab實現一個GUI演示系統(tǒng),用于教學,讓教學變得生動,讓學生可以更直觀地了解各種算法的原理和實現機制。
關鍵詞 數字圖像處理 算法 實踐 教學方法
中圖分類號:G424 文獻標識碼:A DOI:10.16400/j.cnki.kjdks.2015.08.047
Discussion on Application of Matlab in Digital Image Processing Teaching
WEI Lin, TU Lingying
(School of Electrical and Electronic Engineering, Hubei University of Technology, Wuhan, Hubei 430068)
Abstract In this paper, take the authors Digital Image Processing courses teaching practice, to explain how digital image processing algorithms, made a number of specific teaching methods. Matlab achieve a GUI application demonstration system for teaching, allowing teaching to life, so that students can more intuitive understanding of the principle and mechanism of various algorithms.
Key words digital image processing; algorithm; practice; teaching methods
引言
數字圖像處理是一個各種學科相互交叉的領域,涉及光學、數學、電子技術、計算機技術等各個學科,是一門綜合性的技術學科,在醫(yī)療、軍事、工業(yè)生產、農業(yè)生產、科學技術教育等很多領域均有廣泛應用。因此它既是非常重要的專業(yè)課,又起著承前啟后的作用。而Matlab是近些年來國內外使用最普遍的科技軟件之一,其語法結構相對簡單,數值計算分析、圖形繪制和圖像處理等功能強大,具有高品質的圖像可視化效果和極強的頁面設計能力。
正是這樣,才將Matlab引入數字圖像處理教學環(huán)節(jié),使原本抽象的內容變得生動具體,易于理解。通過改革實踐教學體系,既可以在課堂教學中進行理論演示,又能夠激發(fā)出學生們的創(chuàng)新思維,更可以有效提高學生們的實踐能力。
1 將Matlab引入教學過程中的方法探討
怎樣將數字圖像處理課程的理論教學和實驗教學集合為一體,我們提出一種方案:把Matlab等包含圖像處理操作的數值軟件直接作為實驗軟件或者開發(fā)出基于Matlab平臺的圖像處理實驗教學軟件,并應用于教學實踐。
(1)將Matlab引入到數字圖像處理的教學實踐中,通過模擬演示,讓抽象問題具體生動,保證了教學和實驗的同步進行。教學實踐結果證明,Matlab的應用極大程度上提高了教學的效率,凝聚了學生們的觀察能力,積極擴展了學生們的思維方式和思維空間,取得了良好的教學效果。
(2)在編程實踐的過程中,可以比較容易地掌握使用Matlab進行圖像處理的方法,且能夠根據數字圖像處理的基本原理很快地掌握其經典算法。原因是:二維數據矩陣是數字圖像在計算機中的表現形式,而Matlab中包括極強的圖像處理工具和矩陣計算功能,能夠節(jié)省編程過程,使得在圖像處理方面的效率高于使用其他語言。
另外,隨著Matlab在高等教學過程中普及程度提高,學生在進行相關專業(yè)基礎課的學習過程中就已經接觸過Matlab語言,并具有一定編程能力,因此在學習Matlab數字圖像處理工具箱中的函數時相對較容易。
2 圖像各種算法的教學實踐
(1)圖像基本運算是圖像預處理中將要采用的一些基本運算,包括圖像的點運算、代數運算、幾何運算,其中圖像的點運算有灰度直方圖、灰度的線性變換、灰度的窗口變換、灰度拉伸、灰度均衡;圖像的代數運算有加法、減法、乘法、除法;圖像的幾何運算有平移、縮放、旋轉。
例如:圖像的旋轉是指使圖像做某一角度的轉動。在講述完圖像旋轉的算法之后,希望能夠讓學生能夠更為直觀的了解旋轉之后的結果,因而完成Matlab的算法實現。
在Matlab中,圖像旋轉的函數是imrotate,該函數需要調用圖像插值算法,對旋轉后的圖像進行插值。圖1為圖像采用不同插值算法后的旋轉示例。左上圖為原圖像,右上圖為使用bicubic插值方法順時針旋轉45€暗玫降耐枷瘢笙巒枷裎猚rop方式顯示旋轉后的圖像,右下圖像為使用loose方式顯示旋轉后的圖像,讓學生直觀體會旋轉之后的效果。
(2)圖像增強和復原可以提高圖像的質量,例如去除噪音,提高圖像的對比度等。圖像增強用以改善供人觀看的圖像的主觀質量,它存在空域增強與頻域增強方法,空域增強包括圖像灰度變換、直方圖修改、圖像平滑濾波、圖像銳化濾波實施方法,頻域濾波增強可采用低通濾波、高通濾波;圖像復原過程要找到圖像質量下降的原因,想辦法消除它,使圖像恢復原樣,在圖像復原中有維納濾波復原和約束最小二乘方復原,例如:直方圖均衡化是指將一幅圖像的像素值均勻地分布在圖像的各個區(qū)間上,從而使圖像的視覺效果得到改善。在講述完直方圖均衡化的算法之后,希望能夠讓學生能夠更為直觀的了解均衡化之后的結果,因而完成Matlab的算法實現。
在Matlab中,用于直方圖均衡化的函數是histeq,它的調用方法如下所示:J=histeq(I)
其中I指輸入原圖像,J指的是直方圖均衡后圖像。圖2為直方圖均衡化的示例。左上圖是原圖像,右上圖為均衡圖像,其下方圖均為其對應直方圖,可見執(zhí)行這個程序會發(fā)現直方圖均衡化后的圖像對比度更高,其直方圖分布也更加均勻。讓學生能充分了解直方圖均衡化的優(yōu)點和結果。
(3)圖像壓縮可以把原來較大的圖像用較小的字節(jié)進行傳輸,同時要求復原后圖像可以有較好的品質。利用圖像壓縮,能夠減輕圖像存儲和傳輸的負擔,可以使圖像快速傳輸和實時處理。
例:在闡述完各種壓縮算法后,做一個綜合的Jpeg壓縮算法的演示,如圖3,4所示。演示結論:當圖像細節(jié)較少,灰度范圍窄,內容排列比較整齊時,壓縮比會比較高,而當圖像細節(jié)比較豐富,灰度范圍廣,內容比較無序時,壓縮比會顯著降低。因為圖像壓縮可以減少像素間冗余,而圖3中圖像細節(jié)較少,像素之間相關性大,故壓縮的空間大;而圖4中圖像細節(jié)豐富,像素之間相關性小,故壓縮比也小。讓學生能夠直觀地了解圖像壓縮之后的效果。
3 總結
高校進行教育的最終目的是培養(yǎng)具有創(chuàng)新能力和國際競爭力、符合社會發(fā)展需要的實用型人才,著重培養(yǎng)學生的開拓創(chuàng)新能力和實際應用能力。因此,應用能力的培養(yǎng)是課程教學的主要目標之一。隨著計算機技術的迅速發(fā)展,學生們準確全面掌握該課程的經典算法、基本原理,特別重點培養(yǎng)學生使用計算機語言進行系統(tǒng)編程、仿真的實踐實習環(huán)節(jié)。學生們通過自己上機實驗,能夠提高自己進行編程的能力,增加對數字圖像處理過程的了解,加深相關理論知識的理解。由此可知,實踐教學的過程是培養(yǎng)學生實際應用能力的重要環(huán)節(jié),也可以提高學生在處理實際問題中的創(chuàng)新能力。
項目:2013年承接湖北省教研項目《學生自主學習和創(chuàng)新能力的培養(yǎng)和研究》,項目編號:2013281
參考文獻
[1] [美]岡薩雷斯.數字圖像處理(MATLAB版)[M].阮秋琦等譯.北京:電子工業(yè)出版社,2009.
[2] 羅華飛.MATLAB GUI設計學習手記[M].北京:北京航空航天大學出版社,2009.
[3] 吳欣慧,楊軍平,李靜.數字圖像處理課程實踐教學的探索與應用[J].職業(yè)時空,2010(4).
[4] 李熙瑩.“數字圖像處理”課程設計與學生實踐動手能力的培養(yǎng)[J].計算機教育,2008(8).