摘要:數(shù)字圖像處理是一門理論性和實(shí)踐性較強(qiáng)的專業(yè)課程,教學(xué)實(shí)踐證明通過使用MATLAB編程軟件,取得了很好的教學(xué)效果,教學(xué)質(zhì)量明顯提高,有利于學(xué)生動手和創(chuàng)新能力的培養(yǎng)。
關(guān)鍵詞:數(shù)字圖像處理;教學(xué)實(shí)踐;MATLAB
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2012)31-7539-02
數(shù)字圖像處理技術(shù)是一門綜合性學(xué)科,其內(nèi)容涉及數(shù)學(xué)、編碼學(xué)、模式識別等多個(gè)學(xué)科,已成為一門重要的信息技術(shù)類專業(yè)課程[1]。國內(nèi)大多高校對《數(shù)字圖像處理》課程的教學(xué)時(shí)數(shù)通常設(shè)置為40~60學(xué)時(shí),而其理論部分涉及傅立葉變換、余弦變換、小波變換等數(shù)學(xué)理論較強(qiáng)的章節(jié),大量的理論推導(dǎo)和公式證明極易使學(xué)生在學(xué)習(xí)初期就產(chǎn)生畏難情緒,如何在有限的課時(shí)內(nèi)將大量的數(shù)字圖像處理技術(shù)的理論講精講透,同時(shí)提高學(xué)生的算法分析、算法設(shè)計(jì)的實(shí)踐能力是現(xiàn)階段數(shù)字圖像處理課程教學(xué)改革中的重要內(nèi)容。
本文將MATLAB編程技術(shù)同《數(shù)字圖像處理技術(shù)》教學(xué)有機(jī)結(jié)合,在數(shù)字圖像處理理論講解的過程中,適當(dāng)?shù)囊隡ATLAB集成的工具箱及自帶函數(shù),不但能增加學(xué)生對抽象數(shù)學(xué)公式的感性認(rèn)識,提高相關(guān)理論分析的效率,而且能夠極大的激發(fā)學(xué)生的學(xué)習(xí)熱情,提高了學(xué)生的實(shí)踐能力[2]。
1 MATLAB有利于降低抽象理論的理解難度
圖像處理的軟件有很多,現(xiàn)在常用的有VC++、VB、MATLAB以及Photoshop。Photoshop能夠便捷的實(shí)現(xiàn)圖像的增強(qiáng)、剪切、濾波等操作,因而許多人認(rèn)為圖像處理就是Photoshop。事實(shí)上,Photoshop只是一種通用的圖像處理軟件,一般用來提高視覺感受。而圖像處理的主要工作是針對不同的應(yīng)用領(lǐng)域提取不用的信息,這是Photoshop不支持的[3]。VC++功能強(qiáng)大、執(zhí)行效率高,但是繁雜的編程方法很難在短時(shí)間掌握。而MATLAB是一套用于科學(xué)工程計(jì)算的可視化高性能語言,其語法規(guī)則簡單,易于算法仿真,同時(shí)MATLAB集成的圖像處理工具箱更是為圖像處理提供了有力的技術(shù)支持[4]。下面給出兩個(gè)基于傅立葉變換的實(shí)例,進(jìn)一步闡明MATLAB在揭示數(shù)字圖像處理抽象概念、性質(zhì)時(shí)的直觀性與便捷性。
例1:在講解二維離散傅里葉變換中一些抽象、復(fù)雜的數(shù)學(xué)公式,如果在簡單介紹其基本概念及性質(zhì)后,使用MATLAB自帶函數(shù)fft及fft2做進(jìn)一步的數(shù)值驗(yàn)證,將大大加強(qiáng)學(xué)生對抽象理論的直觀認(rèn)知與理解。
代碼1:“b=[1 2;3 4];t=fft(b);tt=fft(fft(b),[],2);”先對二維矩陣b進(jìn)行一次行方向上的一維傅立葉變換,再對結(jié)果進(jìn)行一次列方向上的一維傅立葉變換;代碼2:“ttt=fft2(b);” 直接對二維矩陣b進(jìn)行一次二維傅立葉變換。在MATLAB命令窗口鍵入變量tt及 ttt,發(fā)現(xiàn)兩者數(shù)值是一致的,從而使學(xué)生認(rèn)識到一維傅立葉變換與二維傅立葉變換的內(nèi)在聯(lián)系。
例2:在講解到圖像空域與傅立葉頻域關(guān)系時(shí),可采用如下效果圖。圖1(a)為原始圖像,圖1(f)為圖1(a)對應(yīng)的中心移位后傅立葉頻譜圖,圖1(b)、?。╟)為僅保留圖1(f)中心圓形區(qū)域的頻譜及其對應(yīng)傅立葉逆變換圖,圖(d)、(e)為僅保留圖1(f) 圓形區(qū)域外的頻譜及其對應(yīng)傅立葉逆變換圖,圖1(g-j)為圖1(b-e)縮小了中心區(qū)域范圍相應(yīng)的效果圖。圖1(b-e) 能使學(xué)生直觀的認(rèn)識到變換后的低頻(即頻譜的中心區(qū)域),對應(yīng)圖像的主要框架和背景,變換后的高頻(即頻譜的外圍區(qū)域),對應(yīng)圖像的細(xì)節(jié)和邊緣輪廓。而圖1(b-e)與圖1?。╣-j)的對比又能使學(xué)生深入體會到頻譜的數(shù)據(jù)量對相應(yīng)的傅立葉逆變換的影響。
2 MATLAB有利于提高算法原理的實(shí)踐效率
MATLAB提供的圖像變換函數(shù)包括傅立葉變換、離散余弦變換、Radon變換、小波變換。這類MATLAB自帶的函數(shù),無需學(xué)生編寫復(fù)雜的代碼,通過直接調(diào)用函數(shù)進(jìn)行數(shù)值演算,有助于加深學(xué)生對各種變換內(nèi)在實(shí)質(zhì)的理解,同時(shí)大大降低了相應(yīng)變換應(yīng)用的門檻。以數(shù)字圖像水印為例,將學(xué)生分為3個(gè)項(xiàng)目組,分別要求在離散傅立葉域、離散余弦域、小波域嵌入水印信息,并對嵌入水印信息后的圖像進(jìn)行攻擊或篡改,最后提取水印信息完成版權(quán)認(rèn)證或篡改檢測。這類與實(shí)際應(yīng)用結(jié)合比較密切的項(xiàng)目極易調(diào)動學(xué)生的學(xué)習(xí)興趣,但如果讓學(xué)生自己編寫數(shù)字圖像水印中所需的傅立葉變換、余弦變換、小波變換及其相應(yīng)逆變換,學(xué)生將耗費(fèi)大量的時(shí)間在變換的代碼編寫,而非水印嵌入、提取算法。下圖為學(xué)生做的基于小波域脆弱水印[5]系統(tǒng)的效果圖。通過實(shí)際項(xiàng)目、問題的研究分析,學(xué)生更能深刻的理解數(shù)字圖像處理概念和方法,同時(shí)也增強(qiáng)了獨(dú)立思考、積極探索解決問題的實(shí)踐動手能力。在課程的中后期教學(xué)過程中,還鼓勵學(xué)習(xí)能力較強(qiáng)的學(xué)生參與了老師承擔(dān)的學(xué)術(shù)課題以及大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目的研發(fā)工作,進(jìn)一步提高學(xué)生的綜合素質(zhì)。
3 總結(jié)
在《數(shù)字圖像處理》教學(xué)實(shí)踐中,引入MATLAB編程軟件,能使學(xué)生盡快理解抽象數(shù)學(xué)概念,體驗(yàn)典型算法的處理效果,同時(shí)只需花少量的時(shí)間在算法編程上,而把大部分時(shí)間用于具體問題的分析處理上。在教學(xué)的過程中適當(dāng)設(shè)置圖像處理項(xiàng)目設(shè)計(jì)環(huán)節(jié),不僅能夠充分調(diào)動學(xué)生學(xué)習(xí)的積極性,而且能提高學(xué)生的學(xué)習(xí)主動性和創(chuàng)新能力。
參考文獻(xiàn):
[1] 張麗紅.“數(shù)字圖像處理”課程的研究性教學(xué)探索及實(shí)踐[J].中國科教創(chuàng)新導(dǎo)刊,2011(13):207-208.
[2] 楊淼,張宏遠(yuǎn),李豐林.數(shù)字圖像處理課程的實(shí)例教學(xué)[J].科教文匯,2011(4):100-101.
[3] 徐飛.MATLAB應(yīng)用圖像處理[M].西安: 西安電子科技大學(xué)出版社,2002.
[4] 李哲毓,郗華,徐強(qiáng).Matlab用于《數(shù)字圖像處理技術(shù)》的教學(xué)探索與實(shí)踐[J].價(jià)值工程,2011(17):207-208.
[5] 李國良,譚月輝,齊京禮,等.多小波域可恢復(fù)半脆弱數(shù)字水印算法[J].計(jì)算機(jī)工程2011,37(17):84-86.