馬宏亮,查申龍,吳義恒,朱海柱,江巨浪
(安慶師范大學物理與電氣工程學院,安徽安慶246133)
數(shù)字圖像處理是通過計算機對數(shù)字圖像進行噪聲抑制、對比度增強、目標分割、特征提取等處理的方法和技術(shù),是高校電子信息類專業(yè)開設的專業(yè)基礎(chǔ)課程之一。圖像處理技術(shù)近年來得到了迅猛發(fā)展,經(jīng)典教材也較多,如岡薩雷斯編著的《Digital Image Processing》[1]。通過合理設置數(shù)字圖像處理課程的實驗實踐環(huán)節(jié),搭建相關(guān)虛擬實驗處理平臺,可以豐富專業(yè)實驗結(jié)構(gòu)體系,同時提升學生的動手能力和學習興趣[2-3]。計算機語言MATLAB(Matrix&Laboratory),意為矩陣工廠,在處理以矩陣形式保存的數(shù)字圖像的相關(guān)運算時,較C、JAVA和FORTRAN等語言更為簡便,因而在實際數(shù)字圖像處理的教學中有著廣泛的應用。文獻[4]指出,通過在數(shù)字圖像處理課程中滲透MATLAB教學,可以化解傳統(tǒng)教學方式中的繁雜步驟,如MATLAB自帶的函數(shù)工具可以很方便地實現(xiàn)圖像的讀取、保存或顯示操作,免去了使用C等編程語言在處理圖像時多行代碼的編寫。文獻[5]則是較為系統(tǒng)地概括了數(shù)字圖像處理實驗模塊設計的內(nèi)容安排,通過對實驗內(nèi)容進行按難度分層遞進設計,可以很好地應對學生實踐能力參差不齊的實際現(xiàn)狀。為了更進一步提高數(shù)字圖像處理實驗教學的效果,本課題組結(jié)合近年來的數(shù)字圖像處理實驗教學經(jīng)驗,提出在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)圖形化編程平臺中嵌入MATLAB圖像處理程序的實驗教學方法,這樣可以直觀展現(xiàn)圖像處理實驗中數(shù)據(jù)的輸入、輸出與流向,從而進一步強化學生對相關(guān)實驗內(nèi)容的理解。
通常數(shù)字圖像的描述和存儲均采用矩陣形式,MATLAB語言強大的矩陣運算性能無疑可以很好地提高數(shù)字圖像處理的效率[5],但也存在不足,主要體現(xiàn)在以下兩方面:
1)MATLAB在處理圖像時無法形象直觀地表示出數(shù)據(jù)的具體流向,這在一定程度上造成理解和糾錯修改的難度。
2)使用MATLAB對數(shù)字圖像進行編程處理時,基本上是全文本輸入模式,編程形式單一,學生易感覺枯燥。
LabVIEW是一種圖形化編程語言(即通常所說的G語言),在現(xiàn)代工業(yè)、生物及生命科學等領(lǐng)域有著廣泛應用,其特點在于使用可視化圖標來替代文本輸入的方式進行相關(guān)代碼程序的創(chuàng)建編寫[6]。LabVIEW中的視覺開發(fā)模塊擁有強大的機器視覺處理庫,且可以與多種編程軟件間實現(xiàn)相互調(diào)用,進而完成各種關(guān)于圖像處理、視覺運行、數(shù)據(jù)采集的控制。相比于MATLAB,Lab-VIEW的輸入對象不僅可以是存儲的圖像文件,還可以是從攝像頭等硬件探測器獲取的圖像數(shù)據(jù),且圖形化的編程語言會使輸入輸出更為直觀,數(shù)據(jù)的流向也更為具體。由于LabVIEW程序的編寫更接近于實物上位機系統(tǒng)的構(gòu)成模式,
圖1LabVIEW前面板
圖1 中左半邊為處理前的圖像在LabVIEW 從而也較容易激發(fā)學生的興趣。然而就代碼的核心部分而言,LabVIEW在處理矩陣運算時卻不如MATLAB的m文件方便。據(jù)此,提出了在LabVIEW的平臺上使用MATLAB腳本來處理核心的代碼部分,結(jié)合二者的優(yōu)勢,通過梯度設置難度不同的圖像處理實驗內(nèi)容,幫助學生掌握和運用數(shù)字圖像處理課程的操作技術(shù)與理論方法。
下面以圖像椒鹽噪聲抑制的實驗教學內(nèi)容為例,探討在LabVIEW平臺上嵌入MATLAB腳本編程的實驗設計方法和實驗設計過程。
椒鹽噪聲抑制是數(shù)字圖像去噪的一項基礎(chǔ)實驗內(nèi)容。這種類型噪聲通常是指由圖像傳輸處理中產(chǎn)生的黑白相間的亮暗點噪聲,又稱雙極脈沖噪聲,對圖像的視覺效果有明顯的破壞。為了抑制圖像中的椒鹽噪聲,一般在3×3的濾波模版內(nèi)采用中值濾波算法對其進行抑制,同時保持圖像的邊界像素不變。對于一幅8位量化、分辨率為M×N的含椒鹽噪聲的數(shù)字圖像,設Ω為其任意的一個3×3的濾波模版,通過中值濾波可以得到模版中心位置(i,j)處的像素值為
其中,Y(i,j)為最終的輸出圖像。通過中值濾波處理可以很好地抑制圖像中的椒鹽噪聲,改善圖像的視覺質(zhì)量。為了讓學生更好地理解算法的處理過程,將圖像的輸入輸出與算法處理分別在Lab-VIEW平臺和MATLAB中進行模擬仿真。算法處理的前面板和程序框圖分別如圖1和圖2所示。
圖2 LabVIEW程序框圖
前面板上的顯示,右半邊為處理后的結(jié)果,可以看到經(jīng)處理后圖像質(zhì)量有了較大提高。圖2為LabVIEW后面板的程序框圖結(jié)構(gòu),整個框圖由3部分組成。第1部分是從file path路徑讀取原始圖像數(shù)據(jù);第2部分是在LabVIEW中嵌入MATLAB中值濾波處理程序,對圖像的噪聲進行抑制;第3部分是輸出原始圖像和處理后的圖像進行對比。如果在高亮模式下執(zhí)行整個程序框圖,就可以直觀地看出處理過程中數(shù)據(jù)的具體流向。另外,在LabVIEW前面板中通過鼠標懸停,可以得到處理前后圖像中任意一點灰度值的改變情況,便于評價圖像的處理效果。從以上處理過程可以看出,把MATLAB和LabVIEW相結(jié)合進行圖像處理,可以最大化地發(fā)揮它們的各自優(yōu)勢,使圖像的處理過程既高效又形象直觀。在結(jié)合有關(guān)教學經(jīng)驗的基礎(chǔ)上,對類似實驗內(nèi)容進行合理規(guī)劃安排,可以更好地將實際應用與理論算法相結(jié)合,從而加深學生對相關(guān)教學內(nèi)容的理解。
1)在理論教學中注重使用現(xiàn)代化教學手段
根據(jù)數(shù)字圖像處理課程的特點,恰當使用現(xiàn)代化教學手段,這有利于加快、加深學生對原理與方法的理解。實驗教學效果的好壞較大程度上取決于學生對理論課教學內(nèi)容的理解。當學生明晰圖像處理算法的理論基礎(chǔ)后,通過模擬仿真及實際處理前后的效果對比可進一步加深對知識點的理解。實驗課與理論課相輔相成,達到學以致用的教學目的。
2)合理運用虛擬實驗平臺
情景教學模式是以案例或情景為載體引導學生自主探究學習,以提高學生分析和解決實際問題的能力。數(shù)字圖像處理實驗的開設方式較多,應盡可能選取學生容易理解的方法設置實驗內(nèi)容。通過基于LabVIEW虛擬平臺的直觀數(shù)據(jù)輸入、輸出和清晰的數(shù)據(jù)流向脈絡,展示教學內(nèi)容的重點,是一種基于情景教學模式的教學方法,有利于調(diào)動學生主動探究的興趣。
3)引導學生選修相關(guān)的程序語言課程
在條件允許的情況下,可以引導學生選修關(guān)于MATLAB和LabVIEW的選修課程(一般高校都有開設),提前了解與掌握上述程序與軟件的使用方法。
近年來,信息技術(shù)的快速發(fā)展使數(shù)字圖像處理課程變得非常重要。本文通過結(jié)合LabVIEW虛擬平臺的情景教學模式和MATLAB語言編程優(yōu)勢,提出一種新的實驗教學設計方法。教學效果表明:該方法有利于調(diào)動學生在實驗教學中的主動性與積極性,提升學生對相關(guān)教學內(nèi)容的理解能力,使數(shù)字圖像處理實驗教學能更好地服務于“厚基礎(chǔ)、寬口徑、強技能”的應用型本科人才培養(yǎng)目標。