【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《ImageJ的数字图像处理研讨论文》,欢迎阅读!
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 )print(v[i]);可以看到变量“v”的使用是非常灵活的。需要注重的是,变量名是区分大小写的,“Name”和“name”就分别表示不同的变量。 2.2macro语言的操作符
macro语言几乎支持java中所有的操作符,所以这里就不再赘述了,有爱好的读者可以去参看BruceEckel的《Thinkinginjava》第三版。 2.3macro语言的if/else,while循环语句
在macro语言中,条件语句和循环语句的用法与在java中的用法也是一样的,有爱好的读
者可以去参看BruceEckel的《Thinkinginjava》第三版。 3ImageJ良好的易扩展性——插件的应用 ImageJ的插件就是用java语言编写的,被编译为“.class”的java类文件。它的安装非常简单:把需要用的插件,也就是java的类文件放到ImageJ的“plugins”目录下,然后重新启动ImageJ,这时你就会在“Plugins”的下拉菜单中发现这个插件已经安装了。这里需要注重的是,java类文件的文件名假如使用了下划线“_” ,在“Plugins”中会被空格替代。
按照实现功能的不同,插件被大致分为以下几类:图像的I/O处理,图像的基本特征分析,各种滤波器,图形操作,还有特殊针对“图像栈(Stack)”的处理插件,这是ImageJ的
本文来源:https://www.wddqxz.cn/4992a70e0a12a21614791711cc7931b764ce7b76.html