郭永芳?。ê颖惫I(yè)大學(xué)計(jì)算機(jī)科學(xué)與軟件學(xué)院 300130)
黃 凱?。ê颖惫I(yè)大學(xué)電氣工程學(xué)院 300130)
區(qū)分難度等級(jí)的數(shù)字圖像處理教學(xué)實(shí)驗(yàn)設(shè)計(jì)
郭永芳(河北工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與軟件學(xué)院300130)
黃凱(河北工業(yè)大學(xué)電氣工程學(xué)院300130)
摘要:本文在分析目前數(shù)字圖像處理課程遇到的幾個(gè)問(wèn)題的基礎(chǔ)上,提出區(qū)分難度等級(jí)的數(shù)字圖像處理實(shí)驗(yàn)設(shè)計(jì)理念,并用一個(gè)實(shí)例進(jìn)行了說(shuō)明。實(shí)踐表明,繪制程序流程圖以及區(qū)分難度等級(jí)的數(shù)字圖像處理實(shí)驗(yàn)可以使學(xué)生更好地掌握數(shù)字圖像處理相關(guān)算法,激發(fā)學(xué)生學(xué)習(xí)興趣,提高學(xué)生編程能力和創(chuàng)新能力。
關(guān)鍵詞:數(shù)字圖像處理實(shí)驗(yàn)流程圖難度等級(jí)
DOI:
10.16657/j.cnki.issn1673-9132.2016.01.009
數(shù)字圖像處理是信息科學(xué)中發(fā)展最快的研究熱點(diǎn)方向,是模式識(shí)別、計(jì)算機(jī)視覺(jué)、多媒體技術(shù)等學(xué)科的基礎(chǔ)。自從20世紀(jì)60年代以來(lái)伴隨著計(jì)算機(jī)技術(shù)的高速發(fā)展,數(shù)字圖像處理技術(shù)獲得了長(zhǎng)足進(jìn)步并且已經(jīng)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域。從20世紀(jì)80年代開(kāi)始,我國(guó)部分高校開(kāi)始設(shè)置數(shù)字圖像處理課程,目前其已經(jīng)成為高校信息類(lèi)專(zhuān)業(yè)普遍開(kāi)設(shè)的一門(mén)課程。我校計(jì)算機(jī)學(xué)院、信息學(xué)院和電氣學(xué)院的相關(guān)專(zhuān)業(yè)都開(kāi)設(shè)了數(shù)字圖像處理課程。
然而,目前數(shù)字圖像處理課程遇到如下幾個(gè)問(wèn)題:(1)數(shù)字圖像處理課程從本質(zhì)上說(shuō)是一門(mén)研究數(shù)學(xué)算法的課程,而現(xiàn)實(shí)的教學(xué)情況是學(xué)生普遍數(shù)學(xué)功底薄弱,學(xué)生面對(duì)抽象的數(shù)學(xué)問(wèn)題有嚴(yán)重的畏難情緒,一些學(xué)者對(duì)此在教學(xué)和實(shí)驗(yàn)上進(jìn)行了許多研究[1-4]。(2)計(jì)算機(jī)類(lèi)、信息類(lèi)的相當(dāng)一部分碩士研究生和博士研究生都在進(jìn)行和圖像處理相關(guān)的研究,因此數(shù)字圖像處理課程成為多個(gè)學(xué)校研究生入學(xué)考試課程或面試課程。(3)目前部分諸如“軟件杯”這樣的全國(guó)大學(xué)生競(jìng)賽,會(huì)選用一些需要圖像處理知識(shí)的競(jìng)賽題目,例如人臉識(shí)別及認(rèn)證登陸、基于視頻文件的車(chē)輛分析系統(tǒng)等。全國(guó)數(shù)學(xué)建模大賽2013年題目——碎紙片的拼接和復(fù)原,也要利用圖像處理的知識(shí)。
這就要求我們?cè)谟邢薜臄?shù)字圖像處理授課中,如我校計(jì)算機(jī)專(zhuān)業(yè)數(shù)字圖像處理為32學(xué)時(shí),不僅要使得學(xué)生掌握數(shù)字圖像處理,諸如圖像變換、圖像增強(qiáng)、圖像復(fù)原、圖像編碼和圖像分割等基本圖像處理的算法原理,更要引導(dǎo)學(xué)生運(yùn)用專(zhuān)業(yè)知識(shí)解決實(shí)際問(wèn)題,并嘗試改進(jìn),激發(fā)學(xué)生專(zhuān)業(yè)興趣,培養(yǎng)創(chuàng)新意識(shí)。
我自2007年春季學(xué)期開(kāi)始講授數(shù)字圖像處理,個(gè)人學(xué)習(xí)經(jīng)歷、多年的教學(xué)經(jīng)驗(yàn)以及和其他優(yōu)秀任課教師多方交流,深刻認(rèn)識(shí)到編程實(shí)現(xiàn)算法,即將枯燥的理論推導(dǎo)轉(zhuǎn)化為立竿見(jiàn)影的實(shí)際操作可以激發(fā)學(xué)生的學(xué)習(xí)興趣、激勵(lì)學(xué)生的創(chuàng)造性思維。因此,針對(duì)計(jì)算機(jī)專(zhuān)業(yè)的數(shù)字圖像處理課程的輔助課程——數(shù)字圖像處理實(shí)驗(yàn),我進(jìn)行了一些深入的研究。
鑒于我校計(jì)算機(jī)專(zhuān)業(yè)學(xué)生在大二下學(xué)期學(xué)習(xí)數(shù)字圖像處理課程,此時(shí)已經(jīng)學(xué)習(xí)的C++編程語(yǔ)言,有一定的編程基礎(chǔ)。而MATLAB語(yǔ)言計(jì)算矩陣比較方便,并且Image Processing Toolbox提供了一套全方位的參照標(biāo)準(zhǔn)算法、函數(shù)和應(yīng)用程序,可用于進(jìn)行圖像處理、分析、可視化和算法開(kāi)發(fā)。因此,數(shù)字圖像處理實(shí)驗(yàn)課程首先會(huì)用兩個(gè)學(xué)時(shí)簡(jiǎn)要介紹MATLAB編程環(huán)境和圖像中常用函數(shù)。在實(shí)現(xiàn)具體算法時(shí),編程語(yǔ)言主要選擇MATLAB語(yǔ)言,對(duì)于部分算法,學(xué)生可以選用C++語(yǔ)言實(shí)現(xiàn),這樣安排可以使學(xué)生掌握不同的編程語(yǔ)言,主要在于編程環(huán)境不同,提高學(xué)生自學(xué)能力。
學(xué)生的學(xué)習(xí)能力和編程能力有一定的差異,部分實(shí)驗(yàn)內(nèi)容分為三個(gè)等級(jí):
1.A等級(jí):繪制算法流程圖,并用MATLAB庫(kù)函數(shù)實(shí)現(xiàn)相關(guān)算法;教學(xué)目的:熟練掌握數(shù)字圖像處理算法。
2.B等級(jí):繪制算法流程圖,自己按照流程圖用MATLAB語(yǔ)言或C語(yǔ)言編程實(shí)現(xiàn)算法;教學(xué)目的:熟練掌握數(shù)字圖像處理算法,提高編程能力。
3.C等級(jí):繪制算法流程圖,自己按照流程圖用MATLAB語(yǔ)言或C語(yǔ)言編程實(shí)現(xiàn)算法,并比較多種相關(guān)算法,或分析算法優(yōu)缺點(diǎn),改進(jìn)算法;教學(xué)目的:熟練掌握數(shù)字圖像處理算法,提高編程能力,培養(yǎng)學(xué)生創(chuàng)新能力。
實(shí)驗(yàn)設(shè)計(jì)強(qiáng)調(diào)兩點(diǎn):(1)流程圖的重要性:A、B和C三個(gè)等級(jí)中都要求學(xué)生必須繪制算法流程圖。我根據(jù)多年教學(xué)經(jīng)驗(yàn)發(fā)現(xiàn),很多學(xué)生面對(duì)算法不知從何入手,而繪制算法流程圖可以使思路清晰,一方面可以更深刻地了解算法本身的含義,另一方面可以將復(fù)雜問(wèn)題簡(jiǎn)單化,將多個(gè)功能簡(jiǎn)化為一個(gè)個(gè)小功能,比較容易入手。(2)實(shí)驗(yàn)區(qū)分難度等級(jí),A等級(jí)激發(fā)學(xué)生學(xué)習(xí)興趣,所有學(xué)生都必須具備此水平;B等級(jí)提高學(xué)生編程能力,鼓勵(lì)學(xué)生在A等級(jí)基礎(chǔ)上自助完成B等級(jí)實(shí)驗(yàn);C等級(jí)培養(yǎng)學(xué)生創(chuàng)新能力,鼓勵(lì)考研,參加競(jìng)賽的學(xué)生提前做好準(zhǔn)備。
下面列舉數(shù)字圖像處理的其中一個(gè)實(shí)驗(yàn)——圖像空間域平滑。該實(shí)驗(yàn)的主要目的是要求掌握幾種常見(jiàn)的圖像平滑算法,主要涉及的算法有局部平滑法、超限像素平滑法、灰度最相近的K個(gè)鄰點(diǎn)平均法、最大均勻性平滑法、有選擇保邊緣平滑法以及中值濾波法。
A等級(jí):繪制所有算法的流程圖,并能用MATLAB庫(kù)函數(shù)實(shí)現(xiàn)局部平滑法和中值濾波法,給出圖像處理結(jié)果。
B等級(jí):在A等級(jí)的基礎(chǔ)上,不用庫(kù)函數(shù),實(shí)現(xiàn)各種算法,給出圖像處理結(jié)果。
C等級(jí):在B等級(jí)的基礎(chǔ)上,利用上述算法,對(duì)不同的圖像進(jìn)行處理,并對(duì)處理結(jié)果進(jìn)行比較分析,鼓勵(lì)改進(jìn)算法。
圖1示出了4-鄰域局部平滑法的流程圖和對(duì)應(yīng)的MATLAB程序,屬于B等級(jí),不同算法主要區(qū)別在于圖1中間虛線(xiàn)部分示出部分的兩層循環(huán)內(nèi)處理形式,這也是算法核心所在。
圖1 局部平滑法流程圖和MATLAB程序
目前,計(jì)算機(jī)類(lèi)的多種課程實(shí)驗(yàn)都是要求學(xué)生編程解決一些問(wèn)題,然而部分學(xué)生無(wú)從下手,而失去學(xué)習(xí)興趣。經(jīng)驗(yàn)表明,繪制程序流程圖,讓學(xué)生自己將復(fù)雜的問(wèn)題步驟化,從而分解為一個(gè)一個(gè)小問(wèn)題,可以引發(fā)學(xué)生學(xué)習(xí)興趣。此外,繪制流程圖的過(guò)程也是熟悉算法思想的一個(gè)重要過(guò)程。而區(qū)分難度等級(jí)的實(shí)驗(yàn)設(shè)計(jì)可以滿(mǎn)足不同學(xué)生的需求,也可以引導(dǎo)并啟發(fā)學(xué)生面對(duì)新算法時(shí)如何分析問(wèn)題,提高學(xué)生創(chuàng)新能力。
參考文獻(xiàn):
[1]鄭林濤,董永生.Image軟件在數(shù)字圖像處理課程教學(xué)中的應(yīng)用[J].中國(guó)電力教育,2014 (8):112-113.
[2]鄒煥新,周石琳,雷琳,計(jì)科峰,孫浩.數(shù)字圖像處理課程雙語(yǔ)教學(xué)的探索與實(shí)踐[J].計(jì)算機(jī)工程與科學(xué),2014(36):226-230.
[3]孔韋韋,雷陽(yáng),李小曼.軍隊(duì)院校數(shù)字圖像處理課程的教學(xué)優(yōu)化改革[J].計(jì)算機(jī)教育,2015(34):34-37.