基于JAVA平台的图像处理软件的设计与实现

上传人:鲁** 文档编号:432012411 上传时间:2022-12-23 格式:DOC 页数:16 大小:290KB
返回 下载 相关 举报
基于JAVA平台的图像处理软件的设计与实现_第1页
第1页 / 共16页
基于JAVA平台的图像处理软件的设计与实现_第2页
第2页 / 共16页
基于JAVA平台的图像处理软件的设计与实现_第3页
第3页 / 共16页
基于JAVA平台的图像处理软件的设计与实现_第4页
第4页 / 共16页
基于JAVA平台的图像处理软件的设计与实现_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于JAVA平台的图像处理软件的设计与实现》由会员分享,可在线阅读,更多相关《基于JAVA平台的图像处理软件的设计与实现(16页珍藏版)》请在金锄头文库上搜索。

1、基于JAVA平台的图像处理软件的设计与实现基于JAVA平台的图像处理软件的设计与实现摘要:随着计算机技术的迅速发展,数字图像处理技术在各个领域的研究和应用日益深入和广泛。Java是Sun公司推出的一种面向对象编程语言。Java非常适合于企业网络和Internet环境,现已成为Internet中最受欢迎、最有影响的编程语言之一。目前国内使用Java语言开发的图像处理系统比较少,这也增加了这方面的研究价值。本论文首先对Java处理图形图像的算法做介绍,并设计Java GUI(图形用户界面)用来显示图像处理的结果。关键词:Java Graphics 2D,图形图像,Java GUI,多媒体,数字图像

2、一、绪论4(一)课题来源5(二)课题的目的和意义5(三)本软件的特点5(四) JAVA语言的发展概况51.JAVA语言的诞生52.JAVA语言的发展63.JAVA语言的成熟6(五)JAVA语言的特点61、简单性62、面向对象73、分布式74、健壮性75、安全性76、可移植性7二、问题分析7(一)功能设计7(二)设计问题81、理论问题:82、技术问题:83、实践问题:8(三)设计原则8(四)开发工具的选择8(五)使用到的主要技术91、java.awt92、java.awt.image93、java.awt.color9三、设计与实现10(一)总体结构设计101、对BufferedImages类对

3、象进行图像数据处理方案如下:102、软件的组成和功能103、软件功能测试:14四 结束语14参考文献16一、绪论20世纪70年代以来,随着计算机的广泛应用,其使用者对其画面表现能力的需求也随之提高,数字图像处理技术应运而生,它是一门迅速发展的新兴学科,目的是在计算机上实现和强化人的视觉以及人对视觉信息的加工处理能力。目前国内外市场依然是以Adobe公司的Photoshop为主流的图形图像处理软件,软件拥有强大的处理能力,丰富的工具库,代表着计算机图形图像处理领域的最高技术标准。进入21世纪,随着计算机技术的迅猛发展和相关理论的不断完善,数字图像处理技术在许多应用领域受到广泛重视并取得了重大的开

4、拓性成就,如航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等领域。图形图像处理技术已成为一门引人注目、前景远大的新型学科。 Internet是全球最大的计算机网络,它起源于1968年美国国防部高级研究计划局 (ARPA-Advanced Research Project Agency)主持研制用于支持军事研究的计算机实验网ARPANET。网络的发展,同时为图形图像技术提供了发展的空间,并且网络的多媒体化,丰富化,同时也对图形图像处理提出了更高的要求,Google的卫星地图便是非常成功的例子如今,各式各样的,形形色色的精美图片,在各个领域得到了广泛的应用,图形图像技术

5、已经成为必不可少的应用。 (一)课题来源本课题根据我大三学习期间所学习的JAVA开发课程结合现在网上流行图形图像处理软件,因为个人对这个领域比较感兴趣,这个图形图像软件的编写是对我大学期间所学知识的一个总结。(二)课题的目的和意义主要目的在于通过基于Java平台的图像处理软件的设计与实现,研究Java语言的面向对象编程和多媒体编程,并了解其图形绘制机制和多线程原理.进一步熟悉JavaAPI类库,对面向对象编程有更加深入的学习和掌握。本选题的意义在于对图形图像处理领域方面的深入和探究,试图开发出具有实用价值的,或者具有一定参考价值的软件产品.并且可以进一步了解和掌握软件开发的全过程,改善和提高自

6、身的软件设计和开发能力。同时,自身对图形图像的处理比较感兴趣,能够增加自身对编程的学习和认识。 (三)本软件的特点由于自身技术的限制,在开发上面不能展示太多的功能和特色,加上Java语言本身在图形图像处理方面并不是很出色,所以在功能上只包含了几何变换,访射变换,钝化,锐化,颜色变换等操作。选择使用Java语言作为软件的编程语言,是因为Java语言的简单和可移植性强的特点,它能够跨平台运行,使用起来比较方便,不像c+那样,是基于源代码的移植,不能够跨平台运行,对于软件开发没有Java那样便捷,并且Java在图形图像这方面的研究较少,希望在这上面有所发现。(四) JAVA语言的发展概况1.JAVA

7、语言的诞生 它是有Sun公司开发出来的.它的诞生主要得益于家用电器的芯片.开始时,它的开发者想用C+语言来开发电器的芯片,但是,由于芯片的种类各不相同,因此,程序要进行多次编译.尤其是C+中的指针操作,一旦操作不慎,就会引起问题,程序可以出错误,但是家用电器不能出错误.为此,它的开发者将C+语言进行简化,去掉指针操作,去掉运算符重载等,去掉C+中的多重继承,得到了Java语言,将它变为一种解释执行的语言,在每个芯片上装上一个Java语言虚拟机器。刚开始Java语言被称之为Oak语言(橡树语言)。这个也就是Java语言的安全性,它安全的主要根源就是抛弃掉了c+中指针的使用,从而变成了Java中的

8、包装类的使用。2.JAVA语言的发展 它的发展得益于互联网的发展.刚开始时,互联网的发展比较缓慢,每个网页上面都是静态的画面,不能与用户进行操作.即使是后来的CGI也只是在服务器端进行运行,速度太慢,人们迫切需要能够在浏览器端能与用户进行交换,并且画面能够动起来,但是,WWW上的机器是各种各样,操作系统也是千差万别,后来人们想到了Oak语言,它是解释型执行语言,只要每个机器上的浏览器能够有它的虚拟机器,Oak语言就可以运行,因此Oak语言发展起来,后来改名为Java语言.现在网络上流行开发语言是Java语言。它是当前社会软件开发的主流语言,主要得益于它的使用简单和可移植性强。3.JAVA语言的

9、成熟 JAVA语言现在逐渐成熟起来,它的类已经近千个,它的类无所不包,而且还可以通过第三方购买类,为Java语言的发展提供了良好的发展前景.同时它也是跨平台的语言,因此许多软件开发商,硬件开发上也争先恐后地想乘上Java语言的快车,都声称支持JAVA语言,它对微软发起了有力的挑战,而且Sun公司正努力开发JAVA芯片。目前JAVA程序已经能运行在从Windows系列、Unix系列、Mac OS系列到Linux等几乎所有操作系统平台上,而且特别重要的是它已经能做到一次编写,到处运行;另一方面,与C 等传统程序设计语言相比,用JAVA来开发GUI应用程序的难度已经大大降低;加上JAVA语言所具有的

10、纯面向对象、网络功能强大等特性,使得JAVA非常适于用来编制应用软件。(五)JAVA语言的特点JAVA语言的特点总结主要有以下6点:1、简单性 JAVA语言类似于c+,所以c+程序员可以很容易的掌握,但是JAVA语言又是对c+语言的一种简单化,它摒弃了c+中容易犯错误的地方,例如指针的使用和内存管理。而且还提供了丰富的类库,给程序员的开发带了很大的方便。2、面向对象 面向对象可以说是JAVA语言最重要的特性,JAVA语言的设计完全是面向对象的,它不像c语言那样是面向程序设计的。JAVA语言支持静态和动态的代码重用和继承,3、分布式 JAVA语言包括一个支持http和ftp基于TCP/IP协议的

11、子库,因此JAVA程序可以使用URL打开并且访问网络上的对象,和访问本系统的对象几乎一样。可以为分布环境尤其是Internet提供的动态内容。4、健壮性JAVA致力于检查编译和运行时候的错误,类型检查帮助检查出很多开发早期的错误,JAVA自己操纵内存,减少了很多内存出错的可能性。5、安全性JAVA的安全性可以从两个方面进行保证,一方面,像指针和内存的释放等c+功能被摒弃,避免了非法内存操作。另一方面,用JAVA创建浏览器时候,语言功能和浏览器本身提供的功能结合起来使它更加安全。6、可移植性 大多数的语言产生的目标代码只能运行在一种cpu上面,即使是那种支持多种cpu的编译器,也不可能一下产生多

12、种适合的目标代码。如果你要在多个cpu上运行,就要编译多次,这给编程技术带来了很大的不便。而JAVA编译器就不同了,它产生的目标代码是针对一种并不存在的JVM虚拟机,这种虚拟机能够掩盖不同cpu的差别,是目标代码可以运行在任何一台装有虚拟机的平台上。二、问题分析(一)功能设计本软件Java 2D 编程和多线程编程的结合应用,主要功能定位于通过Java 2D API对图形进行处理的一些机制。整个软件的操作简单,设计清晰明了,目的在于功能和效果的测试。软件的整体布局上简洁实用,美观大方。方便使用,功能说明清晰,由于自己的技术水平有限,图片的处理效果可能不太理想,但是能够体现出Java在图形处理方面

13、的基本功能。(二)设计问题本课题研究的目标是:建立一个基于JAVA平台的符合当代社会理念、具有实用价值的、综合效益很高的图片处理机制。要解决的主要问题有以下几点:1、理论问题: 如今网络上图形图像处理软件随处可见,花样繁多,用处各有不同。如何设计出自己的风格,又要体现出实用性,不流于形式,是需要慎重考虑的。2、技术问题:运用到的JAVA中的多媒体编程,Java 2D,多线程的严格使用,体系结构,安全性,使用到的工具,都是我们要慎重考虑的问题,也是开发一个好的图像处理软件的必备要求。3、实践问题:现在网络上流行的图形图像处理软件功能强大,花样繁多,需要从实践中不断总结,不切实际地模仿别人,拷贝别

14、人,是不可取的。(三)设计原则本课题的主要开发原则遵循以下几点:1、界面风格简洁自然,切忌浮躁夸张的风格,为实用者带来一个轻松的交流环境;2、软件的主要功能要基本完整,包括锐化,钝化,拉伸,颜色暗亮,图片翻转、等等;3、 遵循Java的图像处理机制,保证代码运行的稳定性和可靠性。(四)开发工具的选择 Esclipes是Java开发的一种软件,他的性能好使用方便,适用于中小型企业和普通的软件开发。在这里要用到以下的一些工具:1、Java编译器 Java编译器将Java源代码文件编译成可执行的Java字节码。Java源代码文件的扩展名为 . Java,Java编译器把这种扩展名的文件编译成扩展名为

15、.class的文件。源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编译生成多个class文件。2、Java解释器 Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序的命令行工具。(五)使用到的主要技术 图像是按空间位置组织的像素的集合,而像素则定义了某个显示位置的图像外观,Java 2D API 在处理图像中提供了一些实用的处理机制,Java 2D API的图像处理主要是针对BufferedImage类创建图像进行的,BufferedImage类对象是直接在内存中创建的,用来保存和操作从文件中或URL中检索的图像数据,并提供一组在BufferedImage对象上进行图像处理操作的XyzOp类,例如,AffineTransformOp、BandCombineOp、ColorConverOp、ConvolveOp、LookupOp、RescaleOp等类,这些类可用于图像的缩放等几何变换、仿射变换、边缘检测、钝化、锐化、增强对比、图像颜色校正等操作,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号