数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的过程、理论方法和技术以及以之为研究对象的一门学科。自从20世纪60年代以来伴随着计算机技术的高速发展,数字图像处理技术获得了长足进步并且已经广泛应用于社会生活的各个领域。从20世纪80年代开始我国部分高校开始设置数字图像处理课程,数字图像处理已经成为目前高校信息类专业普遍开设的一门课程。数字图像处理课程要求学生具备较深的数学功底和数字信号处理方面的先修知识。
而现实的教学情况是学生的数学功底普遍薄弱,学生面对抽象的数学公式具有严重的畏难情绪,教师难以激发并保持学生持续学习的兴趣。针对这些现实的教学情况,一些教师已进行了各种有益的探索。本文立足于教学演示环节和实验环节所使用的软件进行探索,现在介绍如下。
一、数字图像处理课程教学所选用软件的现状分析
数字图像处理课程教学的教学效果与课程所选用的教材和教学软件密切相关,选择合适的教材和软件与教学效果密不可分。目前我国高校在数字图像处理课程中所用的常用软件可分为Matlab和Visual C++两类。
Matlab(Matrix Laboratory,矩阵实验室)是美国MathWorks公司推出的一款商业软件,它集矩阵运算、数值分析、信号处理和图形显示等强大功能于一体,拥有界面简洁、友好的用户环境。现在的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位灰度图像进行求反操作。即教材第三章图像增强这一章第一节中所讲算法的具体实现。【1】
将这段代码写入到一个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.
第3章数字故事在中职计算机教学中的应用设计3.1数字故事在中职计算机教学中应用的前期分析3.1.1中等职业学校计算机教学环境分析计算机课程在中等职业学校作为基础课程,是一门技术性和实践性都很强的课程,所需要的教学环境也和其他学科不同。中职计...
第2章数字故事综述2.1数字故事的概念数字故事(DigiatlStorytelling)自从20世纪90年代发展以来,围绕它的定义,有许多不同的观点。英国摄影家、教育家丹尼尔梅多斯(DanielMeadows),把数字故事定义为利用数码相机、计算机和非线性编辑软件制...
第二章项目教学法的相关概念及理论基础项目教学法是在构建主义基础上以学生合作进行探究学习的一种新型课堂教学方法,在项目教学方法的主体下,以完成课堂教学任务为主要目标,旨在促进学生构建新的知识框架,培养其实践能力。作为一种教学理念,项目教学...
摘要数字故事是一种能够将文字、图像、声音等多种媒体有机整合,通过可视化的方式巧妙地展现故事本身的一种形式。对于中职计算机课程来说,将所学的知识和技能通过数字故事这一形式表现出来,能够调动学生的主动性、积极性,同时,也体现了课程的基础性和...
第4章数字故事在中职计算机教学中的应用实践4.1针对数字故事的前期问卷调查分析笔者在无锡市广播电视大学塘南办班点进行数字故事在中职计算机教学的应用实践。为了能够全面、详尽的了解学生的基础和知识准备情况,特别制作了前期调查问卷。调查问卷在...
4.3《制作Flash数字故事》实例展示在中职计算机课程中,Flash课程一般是针对计算机专业的学生设置的,并且安排在中专二年级进行学习。在初中阶段的信息技术课程中有Flash的教学内容,所以通过前期调查发现,有一半左右的学生有一定的Flash操作基础...
第1章绪论1.1选题缘由在这个信息技术飞速发展的时代,计算机应用深入到社会发展的各个领域。熟练掌握信息技术的基本知识和技能已经成为适应社会发展的必备条件之一。对于广大的中职学生来说,熟练掌握计算机基础操作已经成为他们进入社会必备的技能,...
第二章分层教学研究的理论依据和现实依据2.1分层教学的概念和内涵。分层教学的层次是指学生在学习过程中具有不同的认知、情感、态度和价值观,存在着发展水平上的差异性。分层教学,就是为了促进学生地全面发展而根据学生、教师、教材和教学媒体等相关教...
第5章反思与展望5.1本文的研究成果数字故事在中职计算机教学中的应用,主要为的是在尝试数字故事的教学方式的平台上,为中职计算机课程寻找一种新的学习模式。本论文立足江苏省中等职业教育的实际情况,参照国内外的研究成果和经验,并结合无锡市广播...