黃朝兵,楊 杰
(武漢理工大學(xué)信息工程學(xué)院,湖北武漢, 430070)
“數(shù)學(xué)圖像處理”是高等學(xué)校信息類相關(guān)專業(yè)的重要專業(yè)課程,主要學(xué)習(xí)應(yīng)用計算機(jī)對數(shù)字圖像進(jìn)行處理和分析的基本理論和方法。近年來各高校對該課程的教學(xué)和實驗進(jìn)行了一些研究和改革[1-4]。我校電子信息工程專業(yè),圖像處理課程安排在大學(xué)三年級下學(xué)期。高年級學(xué)生的工程應(yīng)用能力培養(yǎng),必須重視面向?qū)ο蟪绦蛟O(shè)計和可視化程序設(shè)計。我們既著眼于學(xué)生對圖像處理的理論知識和方法的學(xué)習(xí),又要考慮到面向工程實踐的程序設(shè)計能力的提高。為此,我們通過構(gòu)建圖像處理課程的課程體系,改革教學(xué)方法,取得了良好的效果。
圖像處理課程體系的目標(biāo)是通過圖像處理課程的課堂教學(xué)和課程實踐,使學(xué)生了解圖像處理的產(chǎn)生、發(fā)展和應(yīng)用,國內(nèi)外的研究現(xiàn)狀和重要成果;使學(xué)生理解圖像處理的概念、原理、思想方法和處理過程,掌握圖像處理技術(shù);使學(xué)生能夠運(yùn)用Matlab和VC++編寫具有一定功能的軟件系統(tǒng);為學(xué)生在今后完成畢業(yè)設(shè)計、開展工程應(yīng)用、從事科研及今后就業(yè)打好基礎(chǔ)。
該課程體系包括“數(shù)字圖像處理”和“圖像處理程序設(shè)計”二門課程和一門課程設(shè)計。“數(shù)字圖像處理”課程側(cè)重講解圖像處理中的基本概念、基本原理和思想方法,以Matlab作為工具,對算法進(jìn)行仿真實驗,加深學(xué)生對算法思想的理解;“圖像處理程序設(shè)計”側(cè)重講解用C++和VC++來編程實現(xiàn)圖像處理的過程,掌握圖像處理技術(shù),訓(xùn)練學(xué)生面向工程應(yīng)用的開發(fā)能力;課程設(shè)計側(cè)重于給學(xué)生設(shè)計綜合訓(xùn)練題目,使學(xué)生在理論分析、算法設(shè)計、程序設(shè)計、計算、運(yùn)用標(biāo)準(zhǔn)和規(guī)范和查閱資料等方面得到訓(xùn)練,培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識的能力。
在“數(shù)字圖像處理”的課堂教學(xué)中,我們將傳統(tǒng)教學(xué)與問題式教學(xué)相結(jié)合。在圖像變換、圖像增強(qiáng)、圖像復(fù)原、圖像壓縮、圖像分割、圖像表示與描述和彩色圖像處理等單元的教學(xué)中,我們按照問題引人、分析、解決、總結(jié)、應(yīng)用和擴(kuò)展等六個步驟進(jìn)行。
1)問題引人—從實際需要中引人問題。比如圖像識別、檢索和目標(biāo)跟蹤中,人們只關(guān)心圖像中的物體或?qū)ο蠖雎詧D像的背景,這就需要對圖像進(jìn)行分割以提取需要的物體或?qū)ο?,于是引人了圖像分割問題。
2)問題分析—從圖像自身的特點(diǎn)性質(zhì)出發(fā)進(jìn)行分析,找到解決問題的算法思想。如何分割圖像要分析圖像的像素值的特點(diǎn),根據(jù)像素值的不連續(xù)性提出邊緣檢測和連接的圖像分割方法,根據(jù)像素值的相似性提出了閾值分割方法和區(qū)域分割方法;通過進(jìn)一步分析,在邊緣檢測中有不同的邊緣檢測算子;邊緣連接有啟發(fā)式搜索、曲線擬合等;在閾值分割的求閾值方法中,有全局閾值法、自適應(yīng)閾值法、人工法、迭代法、最大類間方差法、最大熵法和最小誤差法等;在區(qū)域分割方法中,有種子區(qū)域生長法和區(qū)域分裂合并法。
3)問題解決—根據(jù)分析得到的思想,設(shè)計和實現(xiàn)具體算法。通過分析,確定各種方法的具體設(shè)計和實現(xiàn)步驟,用Matlab語言進(jìn)行編程實現(xiàn),并對結(jié)果進(jìn)行分析。在課堂中演示主要方法的設(shè)計和實現(xiàn)過程,留一部分由學(xué)生練習(xí)完成。
4)問題總結(jié)—分析各種算法的優(yōu)點(diǎn)、缺點(diǎn)和適用范圍。通過對各種分割方法的分割結(jié)果進(jìn)行實驗比較,結(jié)合理論分析,總結(jié)出它們的特點(diǎn)和適用的情況。
5)問題應(yīng)用—將得到的理論和方法應(yīng)用于實際,解決實際問題。讓學(xué)生收集一些圖片,從所學(xué)的分割方法中,選擇合適的方法進(jìn)行分割,并對結(jié)果進(jìn)行分析。
6)問題擴(kuò)展—根據(jù)實際應(yīng)用中發(fā)現(xiàn)的新問題,研究解決方案。在實際問題中,可能會出現(xiàn)一些意想不到的問題,比如得到的圖像被噪聲污染,分割的結(jié)果中包含一些小目標(biāo)等,這就需要在分割之前,對圖像進(jìn)行濾波消除噪聲處理,在分割之后采用數(shù)學(xué)形態(tài)學(xué)或比較目標(biāo)大小來去掉小目標(biāo)。
在“圖像處理程序設(shè)計”的教學(xué)和考核中,將傳統(tǒng)方法與任務(wù)驅(qū)動型方法相結(jié)合。課程安排40學(xué)時,其中講課24學(xué)時,實驗16學(xué)時,包括C++程序設(shè)計、Visual C++程序設(shè)計及用Visual C++進(jìn)行圖像處理程序設(shè)計等內(nèi)容。我們在C++程序設(shè)計和Visual C++程序設(shè)計采取課堂講授輔之以實驗練習(xí)。其中C++部分講課6學(xué)時,實驗4學(xué)時;VC++部分講課8學(xué)時,實驗6學(xué)時。在剩下的用Visual C++進(jìn)行圖像處理程序設(shè)計部分的教學(xué)和課程考核方面結(jié)合任務(wù)驅(qū)動進(jìn)行。
任務(wù)驅(qū)動式教學(xué)[7]是以學(xué)生為中心,其學(xué)習(xí)圍繞著一個目標(biāo),基于幾項任務(wù),在強(qiáng)烈的問題動機(jī)驅(qū)動下,進(jìn)行自主探索和互動協(xié)作的學(xué)習(xí)實踐活動。
1)課程考核題作為項目任務(wù)
我們設(shè)計了十個方面的考核大題作為項目任務(wù),包括圖像灰度變換、圖像直方圖均衡化、圖像均值濾波、圖像中值濾波和圖像梯度銳化、圖像Sobel邊緣檢測、圖像LOG邊緣檢測、圖像閾值分割、圖像區(qū)域生長分割和圖像頻域低通濾波等。每個項目任務(wù)要求學(xué)生用Visual C++建立應(yīng)用項目,建立功能菜單,建立顯示原始圖像和處理結(jié)果圖像的對話框,給出實現(xiàn)要求功能的程序設(shè)計算法和運(yùn)行結(jié)果等。我們以圖像直方圖均衡化項目任務(wù)為例,要求用VC++實現(xiàn)如下功能。
(1)建立一個單文檔的應(yīng)用項目;
(2)在主框架添加菜單“圖像處理”;
(3)實現(xiàn)“顯示原圖像”功能,并以對話框的形式顯示;
(4)實現(xiàn)“顯示原圖像直方圖”功能,并以對話框的形式顯示;
(5)實現(xiàn)“圖像直方圖均衡化”功能,實現(xiàn)“顯示均衡化處理后的直方圖”功能,并以對話框的形式顯示。
2)課堂和實驗教學(xué)任務(wù)
用Visual C++進(jìn)行圖像處理程序設(shè)計部分講課10學(xué)時,實驗6學(xué)時。用4學(xué)時介紹與設(shè)備無關(guān)位圖文件在Windows下的存儲結(jié)構(gòu),建立DIB類,用于實現(xiàn)位圖文件的打開、位圖數(shù)據(jù)的讀取、位圖的顯示和位圖的存儲等功能;再用6學(xué)時來介紹十個大題中圖像處理算法的VC++程序設(shè)計思想和方案,講述算法的關(guān)鍵部分。學(xué)生根據(jù)考核題任務(wù),通過課堂學(xué)習(xí)和實驗,參考教材和相關(guān)資料之后,自己設(shè)計程序完成。
3)任務(wù)考核
課程結(jié)束之后,教師對學(xué)生任務(wù)完成的情況進(jìn)行考核,考核包括項目軟件演示運(yùn)行、答辯和提交項目報告。
我們認(rèn)為,對高年級本科生的培養(yǎng)和訓(xùn)練側(cè)重點(diǎn)要放在知識的綜合運(yùn)用和工程實踐上。通過構(gòu)建圖像處理課程的課程體系,強(qiáng)化了圖像處理知識的學(xué)習(xí)和掌握;通過采用結(jié)合任務(wù)驅(qū)動的教學(xué)和考核方法,培養(yǎng)了學(xué)生用VC++開發(fā)或二次開發(fā)圖像處理應(yīng)用系統(tǒng)的能力。經(jīng)過這樣的系統(tǒng)性知識的學(xué)習(xí)和綜合性能力的訓(xùn)練,學(xué)生初步具備了進(jìn)行工程應(yīng)用和科學(xué)研究的基礎(chǔ)和能力。學(xué)生普遍感到這門課學(xué)習(xí)收獲很大,VC++圖像處理編程能力得到很大提高,只有理論與實踐相結(jié)合才能達(dá)到最好效果。
[1]薛天祥,陳玉琨.高等教育學(xué).桂林:廣西師范大學(xué)出版社,2009.2
[2]孫紹榮.高等教育方法概論.上海:華東師范大學(xué)出版社,2010.12
[3]黃穎.數(shù)字圖像處理開放式教學(xué)平臺的實現(xiàn)[J].南京:電氣電子教學(xué)學(xué)報,2006,28(4):95 -97
[4]張坤華,紀(jì)振.數(shù)字圖像處理可視化教學(xué)體系探索[J].南京:電氣電子教學(xué)學(xué)報,2007,29(1):113-115
[5]明冬萍.數(shù)字圖像處理課程教學(xué)研究[J].北京:中國科教創(chuàng)新導(dǎo)刊,2008,(25)169 -170
[6]范春年.數(shù)字圖像課程教學(xué)研究[J].北京:中國電力教育,2010,(27):109 -111
[7]楊盛泉,劉白林,劉萍萍.簡談C程序設(shè)計課程的任務(wù)驅(qū)動教學(xué)方法[J].北京:計算機(jī)教育,2010,(6):131-134