软件工程毕业设计(论文)-基于ImageJ的图像形状与纹理处理.doc

上传人:小小飞 文档编号:3293296 上传时间:2019-08-08 格式:DOC 页数:60 大小:2.19MB
返回 下载 相关 举报
软件工程毕业设计(论文)-基于ImageJ的图像形状与纹理处理.doc_第1页
第1页 / 共60页
软件工程毕业设计(论文)-基于ImageJ的图像形状与纹理处理.doc_第2页
第2页 / 共60页
软件工程毕业设计(论文)-基于ImageJ的图像形状与纹理处理.doc_第3页
第3页 / 共60页
软件工程毕业设计(论文)-基于ImageJ的图像形状与纹理处理.doc_第4页
第4页 / 共60页
软件工程毕业设计(论文)-基于ImageJ的图像形状与纹理处理.doc_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《软件工程毕业设计(论文)-基于ImageJ的图像形状与纹理处理.doc》由会员分享,可在线阅读,更多相关《软件工程毕业设计(论文)-基于ImageJ的图像形状与纹理处理.doc(60页珍藏版)》请在三一文库上搜索。

1、毕业设计(论文)说明书学 院 软件学院 专 业 软件工程 年 级 姓 名 指导教师 2008年6月20日毕业设计(论文)任务书题目:基于ImageJ的图像形状与纹理处理学生姓名 学院名称 软件学院 专 业 软件工程 学 号 指导教师 职 称 教 授 一、原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。)数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理

2、作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象以改善人的视觉效果为目的。ImageJ是一个由NIH(美国卫生研究所)开发的为Macintosh提供图像处理的开源的公众Java项目。它既可以以网页Applet的形式运行也可以作为应用软件工具下载使用。适合多种平台,包括Windows, Mac OS, Mac OS X 以及Linux。纹理特征是一种全局特征,它描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。一个很明显的缺点是当图像的分辨率变化

3、的时候,所计算出来的纹理可能会有较大偏差。通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。本课题的目的就是做一个能提取并处理图像的纹理与形状信息的并可以应用于ImageJ的图像处理插件。二、参考文献1图像特征特点及其常用的特征提取与匹配方法EB/OLhttp:/www.china- Krumm and Steven A. ShaferTexture Segmentation and Shape in the Same Image JComputer Vision, 1995. Proceedings

4、, Fifth International Conference on20-23 June 1995 Page(s):121127 3Rafael C.Gonzalez and Richard E.WoodsDigital Image Processing Second Edition MPrentice Hall, 2003-3 4Edward AngelInteractive Computer Graphics MADDISON-WESLEY,19975Shuangbao Wang, Zegang Dong, Jim X. Chen and Robert S. LedleyPPL: A w

5、hole-image processing languageComputer LanguagesJSystems & Structures,Volume 34, Issue 1,April 2008, Pages 18246伍亚军,周正东,戴耀东DICOM数据集研究和DICOM图像处理软件的实现J微计算机应用, 2007 7D.S. Wickramanayake, E.A. Edirisinghe and H.E. Bez. Transform domain texture synthesisJSignal Processing: Image Communication,Volume 23,

6、Issue 1,January 2008, Pages 1138Keagan Moodley and Hugh MurrellA colour-map plugin for the open source, Java based, image processing package, ImageJJComputers & Geosciences,Volume 30, Issue 6,July 2004, Pages 609618三、设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。)1. 系统学习 Java 编程语言,熟练撑握Java语言的基本思想

7、和相关的编程技术,熟悉Eclipse编程环境。2. 深入了解Java中的图像处理类及相关包的性能与特性。阅读图像处理与图形学方面的资料。3. 充分阅读ImageJ开放的源代码,了解其编程框架及图像处理算法的实现。熟悉ImageJ的插件的用法。4. 了解图像处理算法当前的发展形势及前景,阅读图像处理及图形学基本算法实现及研究现状。5. 深入理解ImageJ的结构与代码构成,开始设计课题要求的插件。 6. 阅读相关资料,初步建立插件架构和简单特征提取算法设计,建立简单用户界面与图形算法接口。7. 逐步添加图像处理功能及完成相关接口的代码编写。8. 测试软件的功能可行性及可用性。测试图像的纹理及形状

8、的信息处理算法及软件功能实现。 指导教师(签字)年 月 日审题小组组长(签字)年 月 日天津大学本科生毕业设计(论文)开题报告课题名称基于ImageJ的图像形状与纹理处理学院名称软件学院专业名称软件工程学生姓名指导教师一、 课题的来源及意义数字图像处理方法的研究源于两个主要应用领域:其一是为了便于人们分析而对图像信息进行处理;其二是为使机器自动理解而对图像数据进行存储、传输及显示。随着信息对象数字化,越来越多的数字化图像已产生,对图像处理的数字化软件工具的需求也越来越迫切。目标就是由大集合或从远程分布式数据库得到的图像可以被不仅是研究人员、教育工作者和专业人士,而且由一般用户所共享。形状是一个

9、重要的视觉特征,它是一个用来描述图像内容的基本特征。不过,形状的表示和描述是一项艰巨的任务。 这是因为当一个三维物体投影到一个二维图像平面上时,一维对象的信息就丢失了。因此,来自图像的形状只是部分代表投影对象。然而问题总是变得更加复杂,因为形状往往被噪声,缺陷,任意歪曲和破坏。二、 国内外发展状况ImageJ是一个由NIH(美国卫生研究所)开发的为Macintosh提供图像处理的开源Java项目。它既可以以网页Applet的形式运行也可以作为应用软件工具下载使用。适合多种平台,包括Windows, Mac OS, Mac OS X 以及Linux。ImageJ可以显示,编辑,分析,处理,保存和

10、打印8位, 16位和32位图像。它可以打开许多图像格式,包括TIFF文件,GIF ,JPEG格式,BMP和DICOM以及raw图像格式。它支持“栈”,一系列的图像,共享一个单独的窗口。它是多线程,因此耗时的操作如图像文件的打开可以并行处理。它可以计算面积和像素值统计用户定义的选项。它可以测量距离和角度。它可以创造密度直方图和谱线轮廓图。它支持标准的图像处理功能,如比较,锐化,平滑,边缘检测和中值滤波。其它还有几何变换,如缩放,旋转和跳跃等。图像可缩放高达32:1 ,下至1:32 。该计划将支持任意数量的窗口,但受到内存的限制。具有空间校准功能,以提供真实世界的三维测量单位,例如毫米。密度或灰度

11、校正也已经推出。ImageJ设计了一个开放式体系结构,通过Java插件提供可扩展性。定制采集,分析和处理插件可利用ImageJ的内置编辑器和Java编译器进行开发。用户编写的插件使人们有可能解决几乎任何图像处理或分析的问题。形状表示的各种功能都已经被设计,包括形状签名、签名直方图、形状不变量、矩、曲率、形状、形成矩阵、光谱特性等。这些不同的形状特征往往被他们从一个指定的数据库取出的类似形状所评价。形状信息的提取与描述已成为当前图像处理领域的重要课题。三、本课题的研究目标及研究内容本课题是基于ImageJ的图像形状与纹理的处理。目标就是建立一个ImageJ的图像特征提取插件,完成图像形状信息和纹

12、理信息的提取并分析结果。结合语义特征描述图像。研究内容重点在图像形状和纹理处理,完成的软件工具要具备形状和纹理处理的基本功能实现。并在此基础上包含其他图像处理功能以做补充。四、研究方法和手段1 ImageJ工具的理解:首先对于开源项目ImageJ要理解其对图像处理部分的代码意义,从中吸取有用的部分写入自己的插件;2. 图像形状与纹理的学习:了解图像形状知识及纹理映射机制,考虑建立类似的服务;3. 图像工具框架的设计及实现:使用Eclipse平台运用Java语言设计自己的图像处理插件框架,并实现基本的框架结构代码,完成初步的界面设计;4. 补充软件工具的图像处理功能:借鉴ImageJ的图像处理功

13、能及插件的功能,完成简单的分割算法,重点是提取图像的形状信息并描述图像形状及对图像纹理进行处理。五、实验方案的可行性分析和已具备的实验条件ImageJ项目是一个开源的项目并且在功能及界面上面都有着出色的设计,源代码已经提供,所以在代码编写上有参考,用Eclipse做开发,开发平台稳定且功能强大,工具的开发与设计均是可行的。当前图像处理的开源代码已经具备并且Java语言提供的图像处理的包的多样性为实验可行提供前提。图像形状的提取及纹理映射的数学机理都已成熟,为实验原理提供基础为算法的编写提供可行性证明。六、进度安排2007年12月18日 - 2008年2月22日 阅读图像处理及Java开发相关资

14、料,熟悉课题的研究意义和用途;2008年2月23日 - 2008年3月 8日 完成开题报告;并深入阅读ImageJ的源码及了解图像纹理处理的相关知识;2008年3月9日 - 2008年4月2日 继续深入理解图像纹理与形状的操作和编码,阅读ImageJ的源码;2008年 4月3日 - 2008年5月15日 使用Eclipse开发ImageJ的图像处理插件工具,完成图像纹理与形状处理的功能;2008年 5月16日 - 2008年6月15日 跟据导师意见认真修改,校对论文初稿,最后完成论文; 2008年 6月16日 - 2008年6月21日 准备毕业论文答辩;七、参考文献1John Krumm an

15、d Steven A. ShaferTexture Segmentation and Shape in the Same Image JComputer Vision, 1995Proceedings, Fifth International Conference on 20-23 June 1995 Page(s):121127 2Rafael C.Gonzalez and Richard E.WoodsDigital Image Processing Second Edition MPrentice Hall, 2003 3Dengsheng Zhang, Guojun LuReview

16、of shape representation and description techniquesJPattern Recognition,Volume 37, Issue 1,January 2004, Pages 1194Oswald CampesatoJava图像编程实例库M北京:电子工业出版社,20025Shuangbao Wang, Zegang Dong, Jim X. Chen et alPPL: A whole-image processing languageComputer LanguagesJSystems & Structures,Volume 34, Issue 1

17、,April 2008, Pages 18246Larsson.M.E, Laplante.P.AOn the complexity of design in imaging softwareREngineering of Complex Computer Systems, 2006. ICECCS 2006. 11th IEEE International Conference on 0-0 0 Page(s):7 pp 7伍亚军,周正东,戴耀东DICOM数据集研究和DICOM图像处理软件的实现J微计算机应用, 20078Sage D, Unser MTeaching image-proce

18、ssing programming in JavaJSignal Processing Magazine, IEEE. Volume 20, Issue 6, Nov 2003 Page(s):4352选题是否合适: 是 否课题能否实现: 能 不能指导教师(签字)年 月 日选题是否合适: 是 否课题能否实现: 能 不能审题小组组长(签字)年 月 日摘要图像纹理和形状的处理作为图像分析技术的核心,已经步入图像处理的高级阶段。通过计算机分析和识别物体及背景的视觉图像,从而得出结论性质的推断。图像特征提取工作的结果给出了某一具体的图像中与其他图像相区别的特征,是后期图像识别工作的基础。本文首先综述了

19、图像特征提取的意义,介绍了图像特征提取在国内外的研究进展,并深入具体介绍了图像分割和特征提取领域的技术进展。介绍了ImageJ图像处理软件的背景及其插件的开发与应用。最后在Eclipse环境下使用Java语言实现了图像形状和纹理特征的提取,并以ImageJ的插件形式应用。图像的大量纹理及形状特征以参数形式保存,可以广泛用于后期图像的语义描述和匹配识别。关键词:图像处理;纹理和形状;Eclipse;ImageJ;插件ABSTRACTThe processing of the texture and shape of an image which is the core technology of

20、 image analysis has entered the advanced stage of image processing. Through computer analysis and recognition of a visual image which contains both object and background, we can conclude the inference. The result of the image feature extraction gives the difference between two images by recognizable

21、 features. This is the basis of late work of image recognition.This paper reviewed the basic concepts and principles of image feature extraction, introduced image feature extraction both at home and abroad and deeply introduced the progress in field of image segmentation and feature extraction. Also

22、 introduced context and development of ImageJ and how to write plugins for ImageJ. Finally, implement feature extraction of image texture and shape in form of plugin of ImageJ with Eclipse environment in Java language. The features which saved to parameters can be used in future work of image matchi

23、ng and recognition.Key words:Image Processing;Texture and Shape;Eclipse;ImageJ;Plugin目录第一章绪论11.1课题的意义及应用11.2国内外发展的现状11.3本文的研究重点及内容结构3第二章ImageJ简介和开发42.1ImageJ的背景及发展42.2ImageJ的程序结构52.3ImageJ 插件开发7第三章基于实体的图像特征提取及描述 103.1特征提取的基本原理103.2特征提取的基本方法103.3图像特征语义描述20第四章基于ImageJ的纹理形状特征提取224.1提取前的图像分割224.2图像特征提取2

24、34.3实验结果分析244.4实验结果在语义描述中的应用29第五章总结和展望 32参考文献 34外文资料中文译文致谢1 天津大学2008届本科生毕业设计(论文)第一章绪论 1.1 课题的意义及应用图形图像以其视觉直观的优势自古以来就是人类获取自然界信息的主要来源,在人类创造文字之前,图像更是人类信息交流和传承的唯一表达。随着信息化时代的到来,计算机领域引入了大量的图像信息,比如卫星照片,工程图纸,档案图像,医学图像等等。对数字图像的特征提取和表达描述成了当前重要的研究领域。图像所包含的信息量往往很大,不仅有灰度,还有色彩;不仅有平面,还有立体等,其内容极为广泛。当前的图像信息,大多是包含着目标

25、物的实体图像信息,提取这些实体图像特征,并将其描述出来对图像的理解有着重要的意义。对图像实体特征的研究目前已经有了广泛的应用。在工业领域,大规模自动化及高效流水线已经被广泛应用,让机器能识别产品及零部件的图像信息对提高工作效率和准确性都是一个有效的做法。而这就免不了要通过计算机告诉机器目标图像是什么,有些什么特征。从而使机器知道该如何处理目标。在农业领域图像特征也有着同样重要的作用。现代化的农业已经不再需要人类大量的手工操作,而是通过大量的监控和跟踪拍摄来了解植株或牲畜的行为和生理特征。这就需要计算机处理这些监控图像,通过对植株或牲畜实体图像的特征提取,了解生物的生长状况,从而进行进一步操作。

26、在医学领域,图像特征提取及描述更是具有重要的意义,CT或者MRI图像包含着大量的信息,人工的去观察和分析这些信息不免会发生错误而且耗费精力。通过计算机提取图像的特征并做出初步的合理的分析,再将这些分析结果交由有经验的医生去处理,不仅节约时间,也保证了正确性。在航天、军事、安全领域,特征提取同样有着重要的意义。卫星从地外传回的卫星图像大都模糊而且特征不明显。通过计算机提取出关键的特征,专家可以比对和分析,从而易于得出结论。而图像特征在军事安全领域的作用更是显而易见,人脸识别和指纹识别技术已经是比较成熟且应用广泛的技术。1.2 国内外发展现状图像特征提取是图像处理领域的一个重要内容。目前的研究多是

27、基于图像底层特征的提取,包括形状、纹理和颜色等。对于纹理特征的研究,上世纪70年代初期,Haralick等人提出了纹理特征的共生矩阵表示1,具体做法是从共生矩阵中抽取有意义的统计量作为纹理表示。受关于纹理的人类视觉的心理学研究的启法,Tamura等人另外提出了一种新的纹理表示2。它包括6个性质:粗细度(coarseness),对比度(contrast),方向性(directionality), 线状性(linelikeness), 规则性(regularity)和粗糙度(roughness)。目前使用较多的是前三个。它们和共生矩阵的一个主要的差别在于:在Tamura表示中的所有纹理性质都是有现

28、实意义的,与人的主观感受比较吻合,而从共生矩阵提取的纹理性质则可能没有意义,更趋于理性化。这使得Tamura纹理表示在图象检索中非常具有吸引力,而且可提供一个更有友好的界面。上世纪90年代初期,在引入小波变换并建立它的理论框架后,许多研究者开始研究在纹理表示中使用小波变换。Smith和Chang使用从小波带中抽取的统计量(平均值和方差)作为纹理表示,取得了较好的效果3。Ma和Manjunath评价了各种小波变换,包括正交和双正交小波变换,树结构小波变换和Gabor小波变换 4。对于形状特征,形状特征是描述高层视觉特征(如目标、对象等)的重要手段,而目标、对象对获取图像语义尤为重要。要把图像的低

29、层特征与高层特征有机地结合起来,必须有好的形状特征描述与提取算法的支持。形状特征的有效表达必须以对图像中物体或区域的分割为基础。实物目标的形状包括几何的特征和矩特征。几何特征的研究更多的在数学领域,包括周长、面积等。矩特征的研究则引入了更多的图像性质和物理特性,包括质心、中心距等。此外,为了使从不同视角获取的目标图像互相匹配,形状特征还应具有平移、旋转和缩放变换不变性。在这方面,最典型方法分别是傅立叶描述符(Fourier Descriptor)5和形状无关矩(Moment Invariants)6。傅立叶描述符的主要思想是将经过傅立叶变换后的边界作为形状特征。从轮廓上的任一点开始绕轮廓一周可

30、以定义一个复数序列,对其进行离散傅立叶变换,就得到轮廓的傅立叶描述,这种描述多用于趋于边界的形状特征。形状无关矩是基于区域的物体形状表示方法,将一些归一化的二阶和三阶中心矩进行组合可得到7个对平移、旋转和缩放变换均无关的矩。近年来在形状表示和匹配方面的工作还有有限元法(Finite Element Method)7、旋转函数(Turning Function)8和小波描述符(Wavelet Descriptor)9等方法。另外,近年来对于图像语义的描述开始进入人们的研究领域。自从上世纪90年代出现了关于图像语义的研究报导,图像语义尚未有明确的定义。最初认为图像基本特征如颜色、形状、纹理等的融合

31、就是语义,但是这些只是低层次语义,不能充分反映图像的语义结构。图像的语义信息是个很复杂的问题。图像经过人视觉系统传送到大脑,经过心理响应过程最后输出的必然是某些很不相同的东西。这个过程不单反映了图像本身客观存在的语义信息,还包含观察者对图像的主观信息感知,至今没有建立一个严格的数学模型,而且人视觉系统不能简单地做为一个具体的图像数字化和简单地传输系统来处理。在图像高层理解中,人的情感10研究更为复杂,目前为止也没有视觉大脑心理的数学模型。郑崇勋11对颜色的视觉信息处理机制进行了研究,建立了视网膜颜色信息理论处理的神经网络模型,但未作定量分析。人们通常认为彩色对人的情感有着重要的影响。如在不同场

32、合颜色表示了某些特定的意义。颜色会激起观察者不同的情感,不同颜色可能存在很大的差别,其表达的语义信息对不同对象有不同的理解。由此可看出这些正是图像语义研究的困难所在。1.3 本文的研究重点和内容结构本文主要在以下两个方面做了研究工作:1. 特征的选择和描述。本文对图像特征提取和描述的常用方法进行了概述,包括形状特征和纹理特征,并详细说明了特征提取的基本原理和方法,深入阐述了特征提取在语义描述中的应用。2. 纹理和形状特征的插件实现和结果分析。本文通过为ImageJ图像处理软件开发插件,完成了图像形状和纹理特征的提取工作,并分析提取结果,以及结果在后续的匹配识别和语义描述过程中的应用。本文的章节

33、安排如下:第一章 绪论:介绍图像特征处理的背景知识并分析研究领域的现状。第二章 ImageJ简介和开发:介绍了国外流行的ImageJ图像处理软件的架构和相关的插件开发方法。第三章 基于实体的图像特征提取及描述:详细介绍了图像特征提取的原理和方法并论述了开发ImageJ插件的过程。并介绍了特征用于语义描述的简单流程。第四章 基于ImageJ的纹理形状特征提取:介绍了特征提取前的分割工作,并通过特征提取的实验结果比对各个特征参数。第五章 总结和展望:对本文做了简单的总结,并对后续工作做了展望。第二章 ImageJ简介和开发2.1 ImageJ的背景及发展ImageJ是一个由NIH(美国卫生研究所)

34、开发的为Macintosh提供图像处理的开源Java项目。它既可以以网页Applet的形式运行也可以作为应用软件工具下载使用。适合多种平台,包括Windows, Mac OS, Mac OS X 以及Linux。ImageJ可以显示,编辑,分析,处理,保存和打印8位, 16位和32位图像。它可以打开许多图像格式,包括TIFF文件,GIF ,JPEG格式,BMP和DICOM以及raw图像格式。它支持“栈”,一系列的图像,共享一个单独的窗口。它是多线程,因此耗时的操作如图像文件的打开可以并行处理。它可以计算面积和像素值统计用户定义的选项。它可以测量距离和角度。它可以创造密度直方图和谱线轮廓图。它支

35、持标准的图像处理功能,如比较,锐化,平滑,边缘检测和中值滤波。其它还有几何变换,如缩放,旋转和跳跃等。图像可缩放高达32:1 ,下至1:32 。该计划将支持任意数量的窗口,但受到内存的限制。具有空间校准功能,以提供真实世界的三维测量单位,例如毫米。密度或灰度校正也已经推出。ImageJ设计了一个开放式体系结构,通过Java插件提供可扩展性。定制采集,分析和处理插件可利用ImageJ的内置编辑器和Java编译器进行开发。用户编写的插件使人们有可能解决几乎任何图像处理或分析的问题。ImageJ是在Mac OS X操作系统中用其内置的编辑器和Java编译器开发的,额外用到了BBEdit和Ant构建工

36、具。程序源码是公开的,作者Wayne Rasband (waynecodon.nih.gov)是NIH研究服务部门的员工。ImageJ在国外是一个流行的图像处理工具,作者开放了一个社区可供所有使用者交流心得。同时各大高校(包括MIT,UC等)都有专门的部门为ImageJ提供插件。ImageJ的正式版本还在不断更新中。随着图像处理技术的不断深化和进步,图形处理计算机的不断开发,操作系统的不断升级,ImageJ在Windows和Linux操作系统上的应用也更加广泛。ImageJ社区在不断的扩大,ImageJ的插件技术也相应的流行。这里图2-1是ImageJ的用户界面。图2-1ImageJ的用户界面

37、2.2 ImageJ的程序结构ImageJ是用Java语言开发的图像处理工具,代码支持任意的Java版本。首先看ImageJ的包结构,如图2-2所示。ImageJijij.guiij.ioij.macroij.measureij.pluginij.plugin.filterij.plugin.frameij.processij.utilij.text图2-2ImageJ包结构ImageJ总共包含11个包,每个包相应完成不同的功能,提供相应的类库。下面就对ImageJ各个包的类库做一个简单介绍:ij包:作为软件的宏观管理结构,包含了IJ,WindowManager,ImagePlus,Image

38、Stack和ImageJ等主要的类,为图像窗口的管理,图像格式的定义以及整个软件搭好架构。其中,ImageJApplet是ImageJ的Applet类,提供了在浏览器中以Applet的形式使用ImageJ的功能;ImageJ是ImageJ应用程序的主类,包含了程序入口点main方法以及程序窗口;Executer类可以单独创建一个线程来执行菜单中选中的命令;IJ类中包含了许多实用的方法;ImagePlus表示了图像在ImageJ中的表示形式,它是基于ImageProcessor的(后面将介绍);ImageStack是一个可扩展的图像栈,用来存储图像;WindowManager类用来管理当前已经打

39、开的窗口。ij.gui包:作为软件的图形用户界面,包含了GUI, ROI, Toolbar, StackWindow和PlotWindow等类,主要定义了图像的选取格式和一些用户界面的装饰等。其中,ProgressBar类是位于主窗口内的一个进度条,用来显示当前操作所完成的进度百分比;GenericDialog类是程序获得用户输入的对话框原型,可以用于插件开发中获得用户输入;HTMLDialog类是显示HTML文本的对话框;MessageDialog类是显示提示信息对话框;YesNoCancelDialog类是定义了有“yes”,“no”和“cancel”按钮的对话框;SaveChangesD

40、ialog 类是定义了有“Dont save”,“save”和“cancel”按钮的对话框;NewImage类可以为抓取的图片部分创建一个新窗口;ROI类支持用户感兴趣的区域选择,用户在插件中可以只对感兴趣的区域操作;ij.io包:提供读写和存储图像的功能,包含了FileInfo, FileSaver, FileOpener, ImageReader和ImageWriter等类,可以读各种图像格式并以不同形式保存,还可以编码解码用户感兴趣的区域。ij.macro包:对ImageJ的宏函数的定义,包含了Functions, Interpreter, MacroRunner, Program, S

41、ymbol和Variable等类,架构了ImageJ的宏结构。ij.measure包:对图像分析的方法和对象的封装,包括Measurements, ResultTable等类。ij.plugin包:封装了用户开发插件时经常用到的方法,包括直方图、剪贴板、图像头的获取、彩色模型、编译器、傅立叶变换等一系列方法。包含了Clipboard, Colors, Histogram, Compiler等类。其中的Plugin是每个插件编写必须要实现的接口;Coverter类继承了ImagePlus类,可以将一种类型的图像转化为其他类型。ij.plugin.filter包:对常用的图像处理算法的封装,包括二

42、值化、高斯滤波、平滑、锐化、投影等常见算法的实现。包括Binary, Filters, Rotator, Projector等类。ij.plugin.frame包:为用户开发插件提供统一的窗口框架接口,包含了Editor, Fonts, PlugInFrame, ThresholdAdjuster等类。ij.process包:通过ImageProcessor抽象类定义了获取图像像素信息及简单的处理和存储这些像素的方法。包含ImageProcessor, FloodFiller, LUT等类。其中各种数据类型的处理器(BinaryProcessor,ShortProcessor等)都继承于Ima

43、geProcessor。ImageCoverter类实现了图像间的类型转换;ImageProcessor作为所有图像处理类型的超类完成了图像的底层处理工作;StackCoverter实现了栈内图像的类型转换;StackProcessor是处理图像栈的类。ij.text和ij.util包:作为辅助包,简单规定了文本格式和排序方法。下面图2-3是ImageJ的核心处理包的设计类图。图2-3ImageJ的核心处理包的设计类图2.3 ImageJ插件开发ImageJ完成了图像处理的基本功能,而更高阶的处理则由其提供插件接口以便用户开发使用。ImageJ在图像分析方面缺乏现有的可行的插件。本文就是基于其

44、在形状和纹理特征分析功能方面的缺陷而开发了特征提取的插件。这里先介绍ImageJ插件开发的方法。ImageJ为用户提供了一个插件集成开发环境,在这个环境里用户不仅可以编辑和查看代码,还可以编译和运行代码。执行“Plugin/New.”命令将会弹出对话框,让用户选择开发什么类型的插件(PluginFilter或者PluginFrame)。执行“Plugin/Edit.”命令将允许用户编辑已有的java文件。目前已有的插件类型分两种:接受图像参数的插件PluginFilter和不接受参数的PluginFrame。PluginFrame将会生成自己的窗口用来显示相关信息。开发PluginFilter

45、插件(PluginFrame插件方法类似),要实现ij.plugin.filter.PlugInFilter接口,其中提供了两个方法:void run (ImageProcessor ip)和int setup(String arg, ImagePlus imp)。在第一个方法中用户可以书写该插件想要实现的功能,在第二个方法中,用户要返回一个整形的关键字,说明插件可以处理的图像类型。举例说明,这是一个图像反色的插件实例,在文件开始,要写清本程序需要的类库即引入包名:import ij.*;import ij.plugin.filter.PlugInFilter;import ij.process.*;import java.awt.*;接着在类名中实现PlugInFilter接口:public class Inverter_ implements PlugInFilter 然后在类中实现setup()方法:public int setup(String arg, ImagePlus imp) if (arg.equals(“about”) showAbout();return DONE;return DOES_8G+DOES_STACKS+SUPPORTS_MASKING;其中

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

当前位置:首页 > 研究报告 > 信息产业


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