国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

ImageJ軟件在數(shù)字圖像處理課程教學中的應(yīng)用

2014-05-30 18:07鄭林濤董永生
中國電力教育 2014年8期
關(guān)鍵詞:數(shù)字圖像處理課程教學

鄭林濤?董永生

摘要:針對目前我國高校數(shù)字圖像處理課程演示和實驗平臺的教學實際情況,詳盡分析了ImageJ軟件在數(shù)字圖像處理課程教學中應(yīng)用的合理性和優(yōu)勢,提出將ImageJ軟件作為數(shù)字圖像處理課程教學演示和實驗的工具。將ImageJ軟件引入數(shù)字圖像處理課程的教學實踐中,即可以用其在理論教學環(huán)節(jié)展示各種圖像處理算法的效果,又可以在實驗教學環(huán)節(jié)中通過編寫ImageJ軟件的插件讓學生真正掌握理解圖像處理的理論知識。

關(guān)鍵詞:數(shù)字圖像處理;ImageJ;課程教學;實踐動手能力

作者簡介:鄭林濤(1977-),男,河南洛陽人,河南科技大學信息工程學院,講師;董永生(1979-),男,河南新鄉(xiāng)人,河南科技大學信息工程學院,講師。(河南 洛陽 471023)

基金項目:本文系國家自然科學基金項目(項目編號:61301230)的研究成果。

中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2014)08-0112-02

數(shù)字圖像處理是通過計算機對圖像進行去除噪聲、增強、復原、分割、提取特征等處理的過程、理論方法和技術(shù)以及以之為研究對象的一門學科。自從20世紀60年代以來伴隨著計算機技術(shù)的高速發(fā)展,數(shù)字圖像處理技術(shù)獲得了長足進步并且已經(jīng)廣泛應(yīng)用于社會生活的各個領(lǐng)域。從20世紀80年代開始我國部分高校開始設(shè)置數(shù)字圖像處理課程,數(shù)字圖像處理已經(jīng)成為目前高校信息類專業(yè)普遍開設(shè)的一門課程。數(shù)字圖像處理課程要求學生具備較深的數(shù)學功底和數(shù)字信號處理方面的先修知識。而現(xiàn)實的教學情況是學生的數(shù)學功底普遍薄弱,學生面對抽象的數(shù)學公式具有嚴重的畏難情緒,教師難以激發(fā)并保持學生持續(xù)學習的興趣。針對這些現(xiàn)實的教學情況,一些教師已進行了各種有益的探索。[1-3]本文立足于教學演示環(huán)節(jié)和實驗環(huán)節(jié)所使用的軟件進行探索,現(xiàn)在介紹如下。

一、數(shù)字圖像處理課程教學所選用軟件的現(xiàn)狀分析

數(shù)字圖像處理課程教學的教學效果與課程所選用的教材和教學軟件密切相關(guān),選擇合適的教材和軟件與教學效果密不可分。目前我國高校在數(shù)字圖像處理課程中所用的常用軟件可分為Matlab和Visual C++兩類。

Matlab(Matrix Laboratory,矩陣實驗室)是美國MathWorks公司推出的一款商業(yè)軟件,它集矩陣運算、數(shù)值分析、信號處理和圖形顯示等強大功能于一體,擁有界面簡潔、友好的用戶環(huán)境?,F(xiàn)在的Matlab已經(jīng)不僅僅是一個“矩陣實驗室”,Matlab已經(jīng)成為國際上最流行的科學與工程計算的軟件,廣泛地應(yīng)用于高校和研究機構(gòu)。Matlab軟件提供了圖像處理工具箱,研究人員可以在此基礎(chǔ)上便捷、快速地進行圖像處理算法原型的設(shè)計。

使用Matlab軟件作為圖像處理課程教學軟件的優(yōu)點在于:第一,Matlab軟件提供豐富的現(xiàn)成圖像處理函數(shù)供用戶調(diào)用,節(jié)省了用戶開發(fā)底層函數(shù)的時間,提高了用戶的開發(fā)效率。第二,目前世界上100多個國家超過一百萬工程師和科學家在使用Matlab軟件,軟件配套的學習資源豐富。

使用Matlab軟件作為圖像處理課程教學軟件的缺點在于:第一,Matlab軟件的版權(quán)問題。Matlab軟件的功能強大,但是其軟件的售價非常昂貴,遠遠超出我國目前的高校的支付能力。除了Matlab軟件自身售價昂貴以外,Matlab配套的各種工具箱也是價格不菲。而就目前我國高校的實際經(jīng)濟情況顯然無法解決該軟件的版權(quán)問題。選擇Matlab作為教學軟件往往也就意味著使用的是盜版軟件。這一點與高校的教育精神和國際版權(quán)保護精神相違背。第二,Matlab軟件的運行速度與其他軟件相比較慢。在一些對軟件運行速度有要求的場合,使用Matlab軟件就顯得力不從心。

在數(shù)字圖像處理課程教學中常用的另一種軟件是Visual C++。使用Visual C++軟件作為圖像處理課程教學軟件的缺點在于:第一,Visual C++的版權(quán)問題同樣無法解決。第二,與Matlab軟件相比,使用Visual C++軟件平臺上沒有像Matlab環(huán)境下有豐富的和成熟的圖像處理庫函數(shù)以供調(diào)用,所有的底層函數(shù)都要開發(fā)者自己編寫,這勢必影響用戶的開發(fā)效率。而使用Visual C++軟件的優(yōu)點是可以獲得速度的提升。

從上面分析可以看出目前我國數(shù)字圖像處理課程使用的教學軟件Matlab和Visual C++都有較多不足之處,而引入ImageJ軟件可以較好的解決這些問題。

二、ImageJ軟件概述

ImageJ是一個功能強大的、可擴展編程的開源圖像軟件系統(tǒng),該軟件最初是由美國國立衛(wèi)生研究院(NIH)的Wayne Rasband完全用Java語言所寫成。ImageJ最初只是希望作為NIH-Image軟件的替代品,未曾料想ImageJ軟件會被眾多學科越來越多的人使用,尤其是醫(yī)學和生物學領(lǐng)域的專業(yè)人士。目前ImageJ在全球范圍內(nèi)被很多實驗室用于正式的研究和應(yīng)用程序開發(fā)。

ImageJ受到眾多專業(yè)人士的喜愛與ImageJ軟件自身的眾多優(yōu)點不無關(guān)系:一是采用一系列菜單驅(qū)動的交互式操作方式,用于創(chuàng)建、顯示、編輯、處理、分析圖像。軟件支持常見的各種圖像格式。目前該軟件已經(jīng)廣泛應(yīng)用于醫(yī)學和生物等學科領(lǐng)域。二是完全免費,并且完全公開源代碼,任何人都可以自由下載合法地將其安裝使用。官方的網(wǎng)址是http://rsb.info.nih.gov/ij/。三是軟件完全用Java語言寫成。所以ImageJ繼承了Java語言良好跨平臺性,可以廣泛地運行于Windows、MacOS和Linux等各種操作系統(tǒng)。四是軟件小巧精悍,安裝包僅有幾十M,不像Matlab軟件動輒上G的安裝包。五是ImageJ的設(shè)計采用的是開放式的軟件構(gòu)架,ImageJ的核心功能可以通過簡單插件機制擴充,即允許用戶以簡單插件的形式向ImageJ添加自己需要的而系統(tǒng)沒有提供的功能。這一特點是使ImageJ軟件功能強大、日益流行的一個主要原因,ImageJ的主頁上提供了全球各地的研究者義務(wù)提供的內(nèi)容豐富的ImageJ插件和插件源碼供用戶下載研究使用。ImageJ中內(nèi)置了一個編寫插件的Java編輯器,并且ImageJ自帶編譯環(huán)境,所以ImageJ插件的編輯編譯都可以在ImageJ軟件中完成。在ImageJ中開發(fā)插件不需要高深的Java編程經(jīng)驗,只需要基本的Java基本知識即可。六是ImageJ占用內(nèi)存空間小,運行速度快。七是Java語言中已經(jīng)有相應(yīng)的圖形界面庫,不需要用戶再來親自編寫圖形界面,從而把注意力放在圖像處理算法上。八是ImageJ主頁上還提供了常見的數(shù)字圖像處理的測試圖像的下載。

三、ImageJ軟件在數(shù)字圖像處理課程教學中的應(yīng)用

ImageJ具有上述的優(yōu)點決定了ImageJ是一個進行數(shù)字圖像處理教學和實驗的理想平臺,尤其是適用于當前的中國高校。筆者之所以選擇ImageJ軟件作為數(shù)字圖像處理課程中配套的教學軟件。除了ImageJ軟件自身所具有的上述優(yōu)點以外還考慮到目前學生的課程設(shè)置和學習的實際情況,數(shù)字圖像處理課程作為大三下學期開設(shè)的一門專業(yè)課程。學生在上課之前已經(jīng)先修過Java程序設(shè)計這門課程,具備了基本的Java語言編程經(jīng)驗,從而掃清了數(shù)字圖像處理課程中實驗環(huán)節(jié)學習新的編程語言的障礙。如果選擇Matlab軟件作為教學語言,學生則必須專門抽出大量時間來學習和熟悉Matlab語言的語法和基本編程結(jié)構(gòu),這樣做勢必會擠壓本已緊張的數(shù)字圖像處理課程教學時間,影響學生的學習效果。

1.ImageJ軟件在理論教學環(huán)節(jié)中的應(yīng)用

ImageJ軟件自身提供了一系列現(xiàn)成的命令,完成常見圖像的顯示和操作處理。同時ImageJ軟件還允許用戶以簡單插件的形式來擴充ImageJ的核心功能,這也就是ImageJ軟件的可擴展性。

筆者在數(shù)字圖像處理課程理論教學環(huán)節(jié)中應(yīng)用ImageJ軟件,主要是利用ImageJ軟件自身提供的一系列現(xiàn)成的命令來演示算法的處理結(jié)果。筆者上課選用的教材是高等教育出版社出版的清華大學章毓晉教授編寫的《圖像處理和分析基礎(chǔ)》(第二版)。在數(shù)字圖像處理課程教學過程中,筆者在理論教學環(huán)節(jié)介紹了理論部分的公式之后,使用ImageJ的基本處理功能來演示算法效果。

比如教材第二章第一節(jié)的內(nèi)容是圖像變換技術(shù)傅里葉變換。筆者介紹了傅里葉變換的具體公式之后,就讓學生自己動手選擇圖像來觀察圖像的傅里葉變換是個什么樣的結(jié)果,并觀察傅里葉頻譜顯示結(jié)果。啟發(fā)學生思考自己的處理顯示結(jié)果與教材上的結(jié)果有什么異同?為什么會產(chǎn)生這樣的結(jié)果?是教材錯誤還是ImageJ軟件變換的結(jié)果錯誤?在學生經(jīng)過思考之后,告訴學生教材上的顯示結(jié)果是經(jīng)過對數(shù)變換處理過的顯示結(jié)果,而他們所得到的結(jié)果是沒有經(jīng)過對數(shù)變換處理的結(jié)果。用ImageJ軟件同時顯示未經(jīng)對數(shù)變換和經(jīng)過對數(shù)變換的結(jié)果讓學生進行觀察對比。通過這一系列提問和解釋,學生明顯加深了對圖像傅里葉變換的理解和記憶。

2.ImageJ軟件在實驗教學環(huán)節(jié)中的應(yīng)用

實驗教學環(huán)節(jié)是數(shù)字圖像處理課程必不可少的一個重要環(huán)節(jié)。筆者在教學實驗環(huán)節(jié)中使用ImageJ軟件主要是因為ImageJ軟件允許用戶以簡單插件的形式來擴充ImageJ的核心功能。筆者指導學生通過編寫插件的形式將理論教學環(huán)節(jié)中所學習到的抽象難懂的算法實現(xiàn)。通過這樣的實際編碼過程來加深對圖像處理算法理論的理解,尤其是那些抽象的算法,從而真正掌握這些抽象算法,體現(xiàn)了“從做中學”的學習理念。

ImageJ軟件可以通過兩種方法擴展:使用ImageJ軟件自帶的Macro語言的形式和簡單ImageJ插件的形式。第二種方式的功能更為強大,所以筆者選擇的是第二種方式來編寫ImageJ軟件插件的形式。

下面就一個簡單的例子來講解ImageJ中插件的編寫,該例子完成的功能是對一個8位灰度圖像進行求反操作。即教材第三章圖像增強這一章第一節(jié)中所講算法的具體實現(xiàn)。

import ij.ImagePlus;

import ij.plugin.filter.PlugInFilter;

import ij.process.ImageProcessor;

public class My_Inverter implements PlugInFilter {

public int setup(String arg,ImagePlus im) {

return DOES_8G; // this plugin accepts 8-bit grayscale images

}

public void run(ImageProcessor ip) {

int w = ip.getWidth();

int h = ip.getHeight();

// iterate over all image coordinates

for (int u = 0; u < w; u++) {

for (int v = 0; v < h; v++) {

int p = ip.getPixel(u,v);

ip.putPixel(u,v,255-p);

}

}

}

}

將這段代碼寫入到一個Java類文件中,放在ImageJ目錄下插件目錄中就可以用ImageJ菜單項中的編譯運行命令完成插件的編譯,實現(xiàn)對灰度圖像求反操作。由此例可以看出ImageJ的插件其實只是一個簡單的Java類,較容易實現(xiàn),尤其適合數(shù)字圖像處理課程實驗教學。

四、結(jié)論

ImageJ是國外生物醫(yī)學等領(lǐng)域一款常用的數(shù)字圖像處理軟件,其強大的功能、良好的設(shè)計架構(gòu)和可擴展性,其完全可以作為一個進行數(shù)字圖像處理課程教學的教學平臺。本文從我國高校數(shù)字圖像處理課程教學的實際情況出發(fā),分析了ImageJ軟件在數(shù)字圖像處理課程教學中應(yīng)用的可行性和必要性。教學實踐表明,ImageJ與其他軟件相比更適合作為數(shù)字圖像處理課程教學主要的教學軟件。目前面臨的問題是采用ImageJ軟件作為數(shù)字圖像處理課程的高校較少,相應(yīng)的教學素材不夠豐富,還需要進一步在教學實踐中進行積累擴充。

參考文獻:

[1]周海芳.“數(shù)字圖像處理”課程研討式教學[J].計算機教育,

2010,(24):93-97.

[2]翟瑞芳,彭輝,劉善梅,等.農(nóng)業(yè)院校數(shù)字圖像處理課程創(chuàng)新實踐教學[J].計算機教育,2012,(5):25-29.

[3]沈曉晶,王艷,趙慧娟,應(yīng)用型院校數(shù)字圖像處理本科教學探索[J].計算機教育,2012,(1):86-88.

(責任編輯:王意琴)

猜你喜歡
數(shù)字圖像處理課程教學
MATLAB在《數(shù)字圖像處理》課程中的輔助教學
信息與計算科學專業(yè)《數(shù)字圖像處理》課程教學探討與實踐
小學數(shù)學教學應(yīng)注重培養(yǎng)學生的應(yīng)用意識
淺談微課在PHOTOSHOP課程教學中的實踐
會計專業(yè)課程教學國際化的探索性研究
高職物流專業(yè)“物流費用結(jié)算實務(wù)”課程開發(fā)研究
微課在大學專業(yè)課中的應(yīng)用研究
高職院校醫(yī)學檢驗技術(shù)專業(yè)提高課程教學質(zhì)量的探討
以應(yīng)用實例為主線、以程序設(shè)計為主導的數(shù)字圖像處理課程教學方法改革
《供應(yīng)鏈管理》課程教學改革