ImageJ的数字图像处理研讨论文.docx

上传人:rrsccc 文档编号:9186851 上传时间:2021-02-06 格式:DOCX 页数:10 大小:21KB
返回 下载 相关 举报
ImageJ的数字图像处理研讨论文.docx_第1页
第1页 / 共10页
ImageJ的数字图像处理研讨论文.docx_第2页
第2页 / 共10页
ImageJ的数字图像处理研讨论文.docx_第3页
第3页 / 共10页
ImageJ的数字图像处理研讨论文.docx_第4页
第4页 / 共10页
ImageJ的数字图像处理研讨论文.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《ImageJ的数字图像处理研讨论文.docx》由会员分享,可在线阅读,更多相关《ImageJ的数字图像处理研讨论文.docx(10页珍藏版)》请在三一文库上搜索。

1、ImageJ的数字图像处理研讨论文摘要ImageJ是一个代码开放的java图像处理程序,充分利用了java语炫言的特性,为数字图像领域的研究注入了新的活力。本砺文介绍了ImageJ强大昆的插件功能和自身的mac楔ro语言,并展示了在Im柃ageJ下常用数字图像处理方法的操作。关键词郦ImageJ;macro岙;插件作者简介:陈家朊树,男,重庆永川市人,西她南大学计算机信息与科学学院20xx级硕士研究生,蜻研究方向:图形图像处理。盂1引言现在,关于图像住处理和分析的软件或者函数嵴库,很多采用的都是c和c沁语言,对很多常见的图像处鼾理函数都有现成的代码和成熟的工具。然而,针对ja愠va这一面向对象

2、程序设计语言,却没有能很好地利用黄起来,在这上面开展的工作恁也较少,相关的工具也很少洽。ImageJ的出现在一端定程度上改变了这一局面。木ImageJ是目前世界上徊最快的纯java图像处理程序。它能在秒内对一张2蹁048x2048的图片进行过滤。ImageJ不同的版本可以在Wind雕ows,MacOS,MacOSX和Linux系统埸上运行。它能读入许多种图片格式,包括TIFF,G猢IF,JPEG,BMP,号DICOM和FITS。它瞄支持“栈”,也就是一系列的图片共用一个窗口。它还硕是多线程的,所以像在处理蕙读入图片这种费时的操作时,还可以并行进行其他的操作。它提供一些标准的图像处理函数,比如锐

3、化、平滑蕲、边缘检测和中值滤波等,能对图片进行缩放、旋转和盼反转等。更重要的是,Im诵ageJ采用了一种开放式斩的结构,通过加入java熟语言的插件来完成它的扩展摈。这样,使用ImageJ塍的内置编辑器和java编骊译器就能得到各种插件。这瞪样的机制就使开发人员自己淑编写的插件能解决他所需要诩解决的任何图像处理和分析妗的问题。与之配合使用的m咦acro语言,也为ImageJ带来了更多的方便。2ImageJ的mac鸨ro语言一个macro就是能自动产生一系列I刨mageJ命令的程序。有魅两种方法可以创建macr俯o程序。最简单的一种就是鹫使用ImageJ的Plugins/Macros/瞄Reco

4、rd命令,这样当你使用ImageJ菜单中扬的命令时,就会自动在一个Recorder中记录下肋来,生成macro语句,螓得到macro程序。还有擐一种创建方法,打开Plugins/New,在弹出嵋的对话框中输入创建的ma啊cro程序的名字,选定“汉type”为“macro闵”,接下来就可以在弹出的鹜编辑框中编写自己的mac咂ro程序了,它以后缀名“.txt”保存。macr躅o程序提供了把多个Ima螫geJ命令组合起来用的途驹径,研究人员也可以根据自哦己的需要定制。Image怒J可以把macro程序添黼加到“工具栏”上,也可以焰添加进“plugins”菜单中,所以它的使用让开伲发研究变得更加简便。

5、皙语言的变量macro语言是一种“无类型”定义疃的语言。也就是变量的使用斗不需要先进行声明,也不用显式给出变量的数据类型。揠当它们被使用在赋值语句中呆时,会被自动初始化为相对狍应的类型。所以一个变量就宵可以用来存放各种数据类型俾,包括数字、字符串或者数腾组等。甚至在同一个macro程序中,同一个变量能存放任何的数据类型。看下号面这段程序:v=;print(v);v=a暇string;prin各t(v);v=newAr碚ray(10,20,50锑);for(i=0;i醛;i)print(vi);可以看到变量“v”扼的使用是非常灵活的。需要而注意的是,变量名是区分大小写的,“Name”和“醒nam

6、e”就分别表示不同蛞的变量。语言的操作符macro语言几乎支持叮java中所有的操作符,胖所以这里就不再赘述了,有爽兴趣的读者可以去参看Br筮uceEckel的Th赏inkinginjava第三版。语言的if悝/else,while循谋环语句在macro语言中,条件语句和循环语句防的用法与在java中的用颈法也是一样的,有兴趣的读酎者可以去参看BruceE逯ckel的Thinkinginjava第三版。3ImageJ良好汁的易扩展性插件的应用ImageJ的插件就是鬈用java语言编写的,被编译为“.class”的蚩java类文件。它的安装枯非常简单:把需要用的插件劭,也就是java的类文件菡放

7、到ImageJ的“pl鹕ugins”目录下,然后郑重新启动ImageJ,这锪时你就会在“Plugin合s”的下拉菜单中发现这个踅插件已经安装了。这里需要芊注意的是,java类文件枫的文件名如果使用了下划线“_”,在“Plugins”中会被空格替代。根据实现功能的不同,插件被大致分为以下几类:徇图像的I/O处理,图像的侉基本特征分析,各种滤波器邹,图形操作,还有特别针对箫“图像栈(Stack)”骧的处理插件,这是ImageJ的一个非常重要的应用收。下面对它做进一步的介绍岍。的基本概念St恬ack就是把一系列相关的图片以“栈”的形式显示在同一窗口内,通过一条命令糠就可以处理整个“栈”的所交有图片。

8、的应用下面通过一个目标跟踪的例子糠来看对它的使用:谍图1是一个由50张图片组洚成的图片栈的第一帧,我们能看到两只白蚁在托盘上的运动。我们需要对这两只白蚁进行跟踪,包括托盘上白靼蚁的数量、各自位置的标定瑭和两只白蚁间位置的测量。第一步,使用Image/Duplicate复制焐rawstack的第一帧诔,命名为backgrou羹nd。第二步,需要把岙这两只白蚁从background中分开出来。在b咦ackground里圈定浼一个矩形框,按下“c”复标制,移动这个矩形框直到覆盖掉白蚁,最后按下“v”圆粘贴上。对每一只白蚁都重驽复这样的操作,最后得到图荤2background。嘭这就是把白蚁分离开后的

9、背胲景图。第三步,从该图片栈中所有的图片中减去这娅个背景图backgrou蓠nd。使用Process抻/ImageCalcul甍ator,在弹出的对话框中,“Image1”就是绂这个图片栈,这里的“Op芭erator”用“Sub洙tract”,这里的“I劣mage2”就是背景图background。许第四步,使用Image/箢AdjustThreshold来设定最低和最高阀犹值。这样,白蚁就是红色,薇背景就是黑色。调整的标准嘶就是浏览整个图片栈,让所有的红色都始终连在一块。最后点对话框中的“App蔺ly”按钮,就把图片栈里所有50张图片都全部转换叹为黑/白的二值图片了。如瞧图3binaryst

10、ac敌k所示。最后,运行“垲Tracker”插件,得蛲到图4的结果。选中那一栏的意义如下:在该图片栈的柯第5帧图片上,发现2只白被蚁,第一只白蚁所在位置坐标是,第二只所在位置坐标右是,它们之间的距离是个像戟素。同时弹出的还有一鲸个表示每一帧对应的白蚁之间距离的二维坐标关系图,限于篇幅关系,这里就翎不再给出了。展图4白蚁跟踪结果除了这种目标跟踪插件铂外,还有其他的跟踪插件,比如像MultiTrac萼ker,Manual矍_Tracking,Sp汪otTracker,MT秕rack2,Partic匕leTracker和MT精rackJ等。它们的具体镨使用可以查看相关的手册。关于Stack的插件还瀛

11、有很多,可以根据研究人员箴的需要有选择的学习使用。邡相关资料可以在站点:ij铃/plugins/中找到乾。4结束语Ima绦geJ作为Java语言开狩发的图像处理和分析平台,逦具备多种图像处理和分析功蜥能,特别是在医学影像学诊长断领域的应用非常广泛。该栅软件支持插件技术,互联上有大量针对某些特殊应用领助域的免费插件可供下载使用。希望本文能对读者提供一朐定的帮助。参考文献1Rasban农d,ImageJ,Bethesda,Maryland,USA,i捐j/,199720xx.2Abramof岚f,Magelhaes忮,Ram,Image侯Processingwi涎thImageJ.Bi迥ophotonicsInternational,稔volume11,iss喔ue7,(20xx).3BruceEc硷kel,Thinkin锃ginjavaThir守dEdition.10 / 10

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1