數字圖像處理是通過計算機對圖像進行去除噪聲、增強、復原、分割、提取特征等處理的過程、理論方法和技術以及以之為研究對象的一門學科。自從20世紀60年代以來伴隨著計算機技術的高速發展,數字圖像處理技術獲得了長足進步并且已經廣泛應用于社會生活的各個領域。從20世紀80年代開始我國部分高校開始設置數字圖像處理課程,數字圖像處理已經成為目前高校信息類專業普遍開設的一門課程。數字圖像處理課程要求學生具備較深的數學功底和數字信號處理方面的先修知識。
而現實的教學情況是學生的數學功底普遍薄弱,學生面對抽象的數學公式具有嚴重的畏難情緒,教師難以激發并保持學生持續學習的興趣。針對這些現實的教學情況,一些教師已進行了各種有益的探索。本文立足于教學演示環節和實驗環節所使用的軟件進行探索,現在介紹如下。
一、數字圖像處理課程教學所選用軟件的現狀分析
數字圖像處理課程教學的教學效果與課程所選用的教材和教學軟件密切相關,選擇合適的教材和軟件與教學效果密不可分。目前我國高校在數字圖像處理課程中所用的常用軟件可分為Matlab和Visual C++兩類。
Matlab(Matrix Laboratory,矩陣實驗室)是美國MathWorks公司推出的一款商業軟件,它集矩陣運算、數值分析、信號處理和圖形顯示等強大功能于一體,擁有界面簡潔、友好的用戶環境?,F在的Matlab已經不僅僅是一個“矩陣實驗室”,Matlab已經成為國際上最流行的科學與工程計算的軟件,廣泛地應用于高校和研究機構。Matlab軟件提供了圖像處理工具箱,研究人員可以在此基礎上便捷、快速地進行圖像處理算法原型的設計。
使用Matlab軟件作為圖像處理課程教學軟件的優點在于:
第一,Matlab軟件提供豐富的現成圖像處理函數供用戶調用,節省了用戶開發底層函數的時間,提高了用戶的開發效率。第二,目前世界上100多個國家超過一百萬工程師和科學家在使用Matlab軟件,軟件配套的學習資源豐富。使用Matlab軟件作為圖像處理課程教學軟件的缺點在于:第一,Matlab軟件的版權問題。Matlab軟件的功能強大,但是其軟件的售價非常昂貴,遠遠超出我國目前的高校的支付能力。除了Matlab軟件自身售價昂貴以外,Matlab配套的各種工具箱也是價格不菲。而就目前我國高校的實際經濟情況顯然無法解決該軟件的版權問題。選擇Matlab作為教學軟件往往也就意味著使用的是盜版軟件。這一點與高校的教育精神和國際版權保護精神相違背。第二,Matlab軟件的運行速度與其他軟件相比較慢。
在一些對軟件運行速度有要求的場合,使用Matlab軟件就顯得力不從心。
在數字圖像處理課程教學中常用的另一種軟件是VisualC++。使用Visual C++軟件作為圖像處理課程教學軟件的缺點在于:第一,Visual C++的版權問題同樣無法解決。第二,與Matlab軟件相比,使用Visual C++軟件平臺上沒有像Matlab環境下有豐富的和成熟的圖像處理庫函數以供調用,所有的底層函數都要開發者自己編寫,這勢必影響用戶的開發效率。而使用VisualC++軟件的優點是可以獲得速度的提升。
從上面分析可以看出目前我國數字圖像處理課程使用的教學軟件Matlab和Visual C++都有較多不足之處,而引入ImageJ軟件可以較好的解決這些問題。
二、ImageJ軟件概述
ImageJ是一個功能強大的、可擴展編程的開源圖像軟件系統,該軟件最初是由美國國立衛生研究院(NIH)的WayneRasband完全用Java語言所寫成。ImageJ最初只是希望作為NIH-Image軟件的替代品,未曾料想ImageJ軟件會被眾多學科越來越多的人使用,尤其是醫學和生物學領域的專業人士。目前ImageJ在全球范圍內被很多實驗室用于正式的研究和應用程序開發。
ImageJ受到眾多專業人士的喜愛與ImageJ軟件自身的眾多優點不無關系:一是采用一系列菜單驅動的交互式操作方式,用于創建、顯示、編輯、處理、分析圖像。軟件支持常見的各種圖像格式。目前該軟件已經廣泛應用于醫學和生物等學科領域。二是完全免費,并且完全公開源代碼,任何人都可以自由下載合法地將其安裝使用。三是軟件完全用Java語言寫成。所以ImageJ繼承了Java語言良好跨平臺性,可以廣泛地運行于Windows、MacOS和Linux等各種操作系統。四是軟件小巧精悍,安裝包僅有幾十M,不像Matlab軟件動輒上G的安裝包。五是ImageJ的設計采用的是開放式的軟件構架,ImageJ的核心功能可以通過簡單插件機制擴充,即允許用戶以簡單插件的形式向ImageJ添加自己需要的而系統沒有提供的功能。這一特點是使ImageJ軟件功能強大、日益流行的一個主要原因,ImageJ的主頁上提供了全球各地的研究者義務提供的內容豐富的ImageJ插件和插件源碼供用戶下載研究使用。ImageJ中內置了一個編寫插件的Java編輯器,并且ImageJ自帶編譯環境,所以ImageJ插件的編輯編譯都可以在ImageJ軟件中完成。在ImageJ中開發插件不需要高深的Java編程經驗,只需要基本的Java基本知識即可。六是ImageJ占用內存空間小,運行速度快。七是Java語言中已經有相應的圖形界面庫,不需要用戶再來親自編寫圖形界面,從而把注意力放在圖像處理算法上。八是ImageJ主頁上還提供了常見的數字圖像處理的測試圖像的下載。
三、ImageJ軟件在數字圖像處理課程教學中的應用
ImageJ具有上述的優點決定了ImageJ是一個進行數字圖像處理教學和實驗的理想平臺,尤其是適用于當前的中國高校。
筆者之所以選擇ImageJ軟件作為數字圖像處理課程中配套的教學軟件。除了ImageJ軟件自身所具有的上述優點以外還考慮到目前學生的課程設置和學習的實際情況,數字圖像處理課程作為大三下學期開設的一門專業課程。學生在上課之前已經先修過Java程序設計這門課程,具備了基本的Java語言編程經驗,從而掃清了數字圖像處理課程中實驗環節學習新的編程語言的障礙。如果選擇Matlab軟件作為教學語言,學生則必須專門抽出大量時間來學習和熟悉Matlab語言的語法和基本編程結構,這樣做勢必會擠壓本已緊張的數字圖像處理課程教學時間,影響學生的學習效果。
1.ImageJ軟件在理論教學環節中的應用
ImageJ軟件自身提供了一系列現成的命令,完成常見圖像的顯示和操作處理。同時ImageJ軟件還允許用戶以簡單插件的形式來擴充ImageJ的核心功能,這也就是ImageJ軟件的可擴展性。
筆者在數字圖像處理課程理論教學環節中應用ImageJ軟件,主要是利用ImageJ軟件自身提供的一系列現成的命令來演示算法的處理結果。筆者上課選用的教材是高等教育出版社出版的清華大學章毓晉教授編寫的《圖像處理和分析基礎》(第二版)。在數字圖像處理課程教學過程中,筆者在理論教學環節介紹了理論部分的公式之后,使用ImageJ的基本處理功能來演示算法效果。
比如教材第二章第一節的內容是圖像變換技術傅里葉變換。筆者介紹了傅里葉變換的具體公式之后,就讓學生自己動手選擇圖像來觀察圖像的傅里葉變換是個什么樣的結果,并觀察傅里葉頻譜顯示結果。啟發學生思考自己的處理顯示結果與教材上的結果有什么異同?為什么會產生這樣的結果?是教材錯誤還是ImageJ軟件變換的結果錯誤?在學生經過思考之后,告訴學生教材上的顯示結果是經過對數變換處理過的顯示結果,而他們所得到的結果是沒有經過對數變換處理的結果。用ImageJ軟件同時顯示未經對數變換和經過對數變換的結果讓學生進行觀察對比。通過這一系列提問和解釋,學生明顯加深了對圖像傅里葉變換的理解和記憶。
2.ImageJ軟件在實驗教學環節中的應用
實驗教學環節是數字圖像處理課程必不可少的一個重要環節。筆者在教學實驗環節中使用ImageJ軟件主要是因為ImageJ軟件允許用戶以簡單插件的形式來擴充ImageJ的核心功能。筆者指導學生通過編寫插件的形式將理論教學環節中所學習到的抽象難懂的算法實現。通過這樣的實際編碼過程來加深對圖像處理算法理論的理解,尤其是那些抽象的算法,從而真正掌握這些抽象算法,體現了“從做中學”的學習理念。
ImageJ軟件可以通過兩種方法擴展:使用ImageJ軟件自帶的Macro語言的形式和簡單ImageJ插件的形式。第二種方式的功能更為強大,所以筆者選擇的是第二種方式來編寫ImageJ軟件插件的形式。
下面就一個簡單的例子來講解ImageJ中插件的編寫,該例子完成的功能是對一個8位灰度圖像進行求反操作。即教材第三章圖像增強這一章第一節中所講算法的具體實現?!?】
將這段代碼寫入到一個Java類文件中,放在ImageJ目錄下插件目錄中就可以用ImageJ菜單項中的編譯運行命令完成插件的編譯,實現對灰度圖像求反操作。由此例可以看出ImageJ的插件其實只是一個簡單的Java類,較容易實現,尤其適合數字圖像處理課程實驗教學。
四、結論
ImageJ是國外生物醫學等領域一款常用的數字圖像處理軟件,其強大的功能、良好的設計架構和可擴展性,其完全可以作為一個進行數字圖像處理課程教學的教學平臺。本文從我國高校數字圖像處理課程教學的實際情況出發,分析了ImageJ軟件在數字圖像處理課程教學中應用的可行性和必要性。教學實踐表明,ImageJ與其他軟件相比更適合作為數字圖像處理課程教學主要的教學軟件。目前面臨的問題是采用ImageJ軟件作為數字圖像處理課程的高校較少,相應的教學素材不夠豐富,還需要進一步在教學實踐中進行積累擴充。
參考文獻:
[1] 周海芳.“數字圖像處理”課程研討式教學 [J]. 計算機教育,2010,\\(24\\):93-97.
[2] 翟瑞芳, 彭輝 , 劉善梅 ,等. 農業院校數字圖像處理課程創新實踐教學 [J]. 計算機教育,2012,\\(5\\):25-29.
[3] 沈曉晶 , 王艷 , 趙慧娟 , 應用型院校數字圖像處理本科教學探索 [J]. 計算機教育,2012,\\(1\\):86-88.