imagej数字图像处理研讨论文
摘要imagej是一个代码开放的java图像处理程序,充分利用了java语言的特性,为数字图像领域的研究注入了新的活力。本文介绍了imagej强大的插件功能和自身的macro语言,并展示了在imagej下常用数字图像处理方法的操作。
要害词imagej;macro;插件作者简介:陈家树,男,重庆永川市人,西南大学计算机信息与科学学院2005级硕士研究生,研究方向:图形图像处理。1引言现在,关于图像处理和分析的软件或者函数库,很多采用的都是c和c语言,对很多常见的图像处理函数都有现成的代码和成熟的工具。然而,针对java这一面向对象程序设计语言,却没有能很好地利用起来,在这上面开展的工作也较少,相关的工具也很少。imagej的出现在一定程度上改变了这一局面。imagej是目前世界上最快的纯java图像处理程序。它能在0.1秒内对一张2048x2048的图片进行过滤。imagej不同的版本可以在windows,macos,macosx和linux系统上运行。它能读入许多种图片格式,包括tiff,gif,jpeg,bmp,dicom和fits。它支持“栈”,也就是一系列的图片共用一个窗口。它还是多线程的,所以像在处理读入图片这种费时的操作时,还可以并行进行其他的操作。它提供一些标准的图像处理函数,比如锐化、平滑、边缘检测和中值滤波等,能对图片进行缩放、旋转和反转等。更重要的是,imagej采用了一种开放式的结构,通过加入java语言的插件来完成它的扩展。这样,使用imagej的内置编辑器和java编译器就能得到各种插件。这样的机制就使开发人员自己编写的插件能解决他所需要解决的任何图像处理和分析的问题。与之配合使用的macro语言,也为imagej带来了更多的方便。2imagej的macro语言一个macro就是能自动产生一系列imagej命令的程序。有两种方法可以创建macro程序。最简单的一种就是使用imagej的plugins/macros/record命令,这样当你使用imagej菜单中的命令时,就会自动在一个recorder中记录下来,生成macro语句,得到macro程序。还有一种创建方法,打开plugins/new,在弹出的对话框中输入创建的macro程序的名字,选定“type”为“macro”,接下来就可以在弹出的编辑框中编写自己的macro程序了,它以后缀名“.txt”保存。macro程序提供了把多个imagej命令组合起来用的途径,研究人员也可以根据自己的需要定制。imagej可以把macro程序添加到“工具栏”上,也可以添加进“plugins”菜单中,所以它的使用让开发研究变得更加简便。2.1macro语言的变量macro语言是一种“无类型”定义的语言。也就是变量的使用不需要先进行声明,也不用显式给出变量的数据类型。当它们被使用在赋值语句中时,会被自动初始化为相对应的类型。所以一个变量就可以用来存放各种数据类型,包括数字、字符串或者数组等。甚至在同一个macro程序中,同一个变量能存放任何的数据类型。看下面这段程序:v=1.23;print(v);v="astring";print(v);v=newarray(10,20,50);for(i=0;i论文指导