基于Java的图形图像处理软件的设计与实现

基于Java的图形图像处理软件的设计与实现
基于Java的图形图像处理软件的设计与实现

目录

引言 (4)

第一章绪论 (5)

1.1.1 计算机图形图像学的发展简史 (5)

1.1.2现有图形图像处理软件 (5)

1.2课题研究的目的及意义 (6)

第二章图形图像处理软件开发技术基础 (7)

2.1 Java Swing 简介 (7)

2.1.1 Swing的特性 (7)

2.1.2 Swing程序包和类 (8)

2.2 MVC体系结构 (9)

2.2.1 模型 (9)

2.2.2 视图 (9)

2.2.3 控制器 (10)

第三章图形图像软件的设计 (11)

3.1图形处理模块的设计 (11)

3.1.1结构设计 (11)

3.1.2功能描述 (11)

3.1.3图形处理模块结构图 (11)

3.1.4主要类设计.................................................................... 错误!未定义书签。

3.2 图像处理模块的设计 (12)

3.2.1结构设计 (12)

3.2.3结构图 (13)

4.1 绘图功能的详细设计与实现 (15)

4.1.1 菜单栏 (15)

4.1.2工具栏 (16)

4.1.3画图区 (16)

4.1.4状态栏 (17)

4.2 图像编辑的详细设计与实现 (18)

4.3滤镜处理的详细设计与实现 (19)

4.3.1 图像增强 (19)

4.3.2图像边缘检测 (21)

4.3.3 图像平滑处理 (23)

4.3.4 系统测试 (24)

结论 (26)

致谢 (27)

图形图像处理软件的设计与实现

摘要:随着计算机技术的迅速发展,图形图图像技术在各个领域的研究和应用日益深入和广泛。由于图形图像各种算法的实现,使得其处理速度越来越快,能更好的为人们服务。图形图像处理的信息量很大,对处理速度的要求也比较高。Java 强大的运算和图像展示功能,使图像处理变得更加的简单和直观。同时系统所有的操作设计得十分简单方便,无需具备有专业的知识,也能实现图像图像处理。

Java是一种完全面向对象的语言,Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。本文基于Java的图形图像处理环境,设计并实现了以图形图像处理系统,展示如何通过利用Java实现对图形图像的各种处理。

关键词:Java 绘图板图形图像编辑滤镜处理边缘处理

Image processing software design and implementation

Abstract:With the rapid development of computer technology, graphic chart of image technology in various fields of research and application deeply and widely increasingly. Due to the image of the realization of the algorithm, so that the processing faster, the better for the people service. Image processing of information is very big, the requirements of processing speed is high. Java powerful operation and image display function, make the image processing become more simple and intuitive. And the system all operating very simple design, need not have the professional knowledge, also can realize image and image processing.

Java is a fully object-oriented language, the design of the Java language focus on objects and interface, it provides simple class mechanism as well as the dynamic model of the interface. This paper, based on the Java graphics image processing environment, the design and realized by graphical image processing system, and shows how to use Java to achieve through graphic image of processing.

Key words:Java; Drawing board; Graphic image editing; Filter processing; Edge processing

引言

随着图形图像处理技术的发展,从七十年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,图形图像处理向更高、更深层次发展。图形图像是用各种观测系统以不同形式和手段观测客观世界而获得的,可以直接或间接作用于人眼并进而产生视知觉的实体。其最广义的观点是指视觉信息。例如照片、图画、电视画面以及光学成像等。人类的大部分信息都是从图像中获得的。

目前国内外市场依然是以Adobe公司的Photoshop为主流的图形图像处理软件,软件拥有强大的处理能力,丰富的工具库,代表着计算机图形图像处理领域的最高技术标准。进入21世纪,随着计算机技术的迅猛发展和相关理论的不断完善,数字图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,如航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等领域。图形图像处理技术已成为一门引人注目、前景远大的新型学科。

本文是基于Java图形图像处理软件,Java编程语言是一种跨平台的编程语言,在编写图形用户界面方面,也要支持跨平台功能。为此Java提供了强大而丰富的AWT包和Swing包,使得Java功能越来越强大,界面越来越美观。Java 图形图像用户界面的编写普遍采用构件化思想来进行,AWT和Swing本身提供的也是许多标准的构件和容器。本软件将所学的理论知识与实际应用相结合,运用Java编程语言,实现绘图功能、图形图像的常规编辑功能、滤镜处理功能、边缘处理功能,以达到进一步提高程序开发能力的目的。

第一章绪论

图形图像信息是人类获得外界信息的主要来源,因为大约有70%的信息是通过人眼获得的,而人眼获得的都是图形图像信息。在近代科学研究、军事技术、工农业生产、医学、气象及天文学领域中,人们越来越多地利用图形图像信息来认识和判断事物,解决实际问题。本设计能实现基本的绘画功能以及图形图像的基本编辑。

1.1课题背景

1.1.1 计算机图形图像学的发展简史

麻省理工学院(MIT)旋风I号(Whirlwind)计算机的附件诞生了。该显示器用一个类似于示波器的阴极射线管(CRT)来现实一些简单的图形。1958

年美国Calcomp公司由联机的数字记录仪发展成滚筒式绘图仪,GerBer公司把数控机床发展成为平板式绘图仪。在整个50年代,只有电子管计算机,用机器语言编程,主要用于科学计算,为这些计算机配置的图形设备仅具有输出功能。计算机图形学处于准备和酝酿时期,并称之为:“被动式”图形学。到50年代末期,MIT的林肯实验室在“旋风”计算机上看法SAGE空中防御体系,第一次使用具有指挥和控制功能的CRT显示器,操作者可以用笔在屏幕上指出被确定的目标。1974年,在Colorado大学召开了第一届SIGGRAPH年会,并取得巨大的成功,当时大约有600位来自世界各地的专家参加会议。到1997年,参加会议的人数已经增加到48,700。因为每年只录取大约50篇论文,在Computer Graphics杂志上发表,因此论文的学术水平较高,基本上代表图形图像学的主流方向。

1.1.2现有图形图像处理软件

随着对图形图像处理需求的扩大,现有的图形图像处理软件多种多样,数不胜数。本文简单介绍两个比较有代表性的图形图像处理软件:Photoshop Photoshop是平面图形图像处理业界霸主Adobe公司推出的跨越PC和MAC 两界首屈一指的大型图形图像处理软件。它功能强大,操作界面友好,得到广大第三方开发厂家的支持,从而也赢得众多用户的青睐。Photoshop是目前公认的最好的通用平面美术设计软件,它的功能完善,性能稳定,使用方便,所以在几乎所有的广告、出版、软件公司,Photoshop都是首选的平面工具。通过Photoshop 可以对图形图像修饰、对图形图像进行编辑,以及对图形图像的色彩处理,另外,

还有绘图和输出功能。在实际生活和工作中,可以将数码相机拍摄下来的照片进行编辑和修饰,也可以将现有的图形图像和照片,用扫描仪扫如计算机进行加工处理,还可以把摄像机摄入的内容转移到计算机上,然后用它实现对影像的润色。

总之,Photoshop可以使你的图形图像产生特技效果,如果和其它工具软件配合使用,还可以进行高质量的广告设计、美术创意和三维动画制作。由于Photoshop功能强大,目前正在被越来越多的图形图像编排领域、广告和形象设计领域以及婚纱影楼等领域广泛使用,是一个非常受欢迎的应用软件。

1.2课题研究的目的及意义

随着科学技术的不断发展,计算机的更新速度不断提高,人们的思想文化素质的提高,对图形图像的要求也越来越高。因此把原始图形图像与计算机结合起来,从而创作出许多更加完美的图像,满足人们的需求,计算机图形图像处理,是指利用计算机对图像图像进行一系列加工,以便获得人们所需要的效果。图形图像是人们获取和交换信息的主要来源,人类感知外界信息,80%以上是通过视觉得到的。因此,图形图像处理的应用领域必然涉及到人类生活和工作的方方面面。图形图像是用各种观测系统以不同形式和手段观测客观世界而产生视知觉的实体。比如人的视觉就是以观测系统,通过它得到的图形图像就是客观景物在人心目中形成的影像。视觉是人类观察世界、认知世界的重要功能手段。图形图像带有大量的信息,百闻不如一见,一图值千金都说明这个事实。为此开发这个图形图像处理软件,能过处理一些图形图像,并对图形图像处理技术此方面进行深入的研究。

第二章图形图像处理软件开发技术基础

2.1 Java Swing 简介

浏览Java的主页(http://java.sun.con/)时,可以找到对Swing的说明,他被描述成一组可定制的图形组件,可以在运行时指定这些组件的外观风格。不过,Swing实际上不只这些,它允许使用Java语言进行企业级开发。程序员可以使用Swing建立包含许多功能强大的组件的大型Java应用程序,并且可以更容易地扩充或者修改这些组件以控制它们的外观和行为。那么,为了能较好地发挥Swing的优势来为自己的Java应用程序增色,首先就要对Swing有一个总体的认识。

2.1.1 Swing的特性

Swing的特性有以下三个方面:

一、可插拔外观风格

Swing类最让人激动的一个方面是能够规定每个组件的外观风格,甚至可以在运行时重新设置外观风格。这种特性叫做“可插拔外观风格”(Pluggable Look-and-Feel,或简称PLAF)。Swing能够模拟集中外观风格,并且它目前支持Window、Unix Motif和“本地”Java Metal外观风格。此外,Swing允许用户在运行时转换外观风格,而不必关闭应用程序。这样,用户甚至可以为每一个Swing组件建立自己的外观风格。

二、轻型组件

绝大多数Swing组件都是轻型的。在最完美的情况下,这意味着这些组件并不依赖本地对等组件来绘制自己。相反,它们使用简化的图形基本元素在屏幕上描绘自己,甚至允许部分图像是透明的。只是少数顶层容器不是轻型的(如Jframe和JWindow)。这个设计允许程序设计人员在运行时绘制(和重新绘制)自己的应用程序的外观风格,而不是对主机操作系统的外观风格进行这样的尝试。此外,Swing组件的设计支持对组件行为随意修改。例如,可以告诉几乎所有的Swing组件用户是希望接受输入焦点还是希望拒绝输入焦点,可以告诉它应该如何处理键盘输入。

三、如何使用Swing

不是人人都为了同一个原因而使用Swing。实际上,因为有着各种级别的必须预先具备的知识,所以Swing库有许多使用级别。以下是一些可能的用途:1.在打算建立自己的企业级应用程序时使用Swing组件。

第一种方法是大多数Swing组件所使用的方法。在这时,使用Swing组件类似于使用AWT组件。常见的组件、容器和布局管理器都可以从Swing程序包中获得,它们有助于建立并快速运行应用程序。如果擅长使用AWT组件进行编程,只需要浏览对每个组件的粗略介绍,就可以开始使用了。只有在使用一些更大并且更新的组件(如表和文本),或者打算将每个组件用作JavaBean进行可视编程时,才必须考虑更多的问题。

2.建立自定义Swing组件—或者扩展已经存在的组件。

建立自定义组件或者扩展现有的组件需要更深入的了解Swing。这是一定要了解Swing体系结构、事件和较低级别的类。此外,如果决定细分Swing组件,则必须承担处理这个组件的责任,否则,新组建的执行情况就可能是不定的。3.为一个或者多个Swing组件覆盖或者建立一个新的外观风格。

最后,用户可能希望更改一个或者多个Swing组件的外观风格。这是可以使用的3种方法中最复杂的一种方法,它要求全面了解每个组件的设计,体系结构基本原理和图形基本元素。此外,用户必须了解如何使用Swing的UIManager 和UIDefaults类来“设置”每个组件的外观风格。

2.1.2 Swing程序包和类

Swing库中的程序包很多,只在此大致介绍在后面的图像浏览器的实现中用到的程序包。其中用得最多的当然是javax.swing,另外有javax.swing.border、javax.swing.event、javax.swing.tree、javax.swing.filechooser。以下给出了这些程序包的简短描述。Swing包是JFC(Java Foundation Classes)的一部分,由许多包组成,如表2.1。

包描述

Com.sum.swing.plaf.motif 用户界面代表类,它们实现Motif界面样式

Com.sum.java.swing.plaf.windows 用户界面代表类,它们实现Windows界面样式Javax.swing Swing组件和使用工具

Javax.swing.border Swing轻量组件的边框

Javax.swing.colorchooser JcolorChooser的支持类/接口

Javax.swing.event 事件和侦听器类

Javax.swing.filechooser JFileChooser的支持类/接口

Javax.swing.pending 未完全实现的Swing组件

Javax.swing.plaf 抽象类,定义UI代表的行为

Javax.swing.plaf.basic 实现所有标准界面样式公共功能的基类

Javax.swing.plaf.metal 用户界面代表类,它们实现Metal界面样式

Javax.swing.table Jtable组件

Javax.swing.text 支持文档的显示和编辑

Javax.swing.text.html 支持显示和编辑HTML文档

Javax.swing.text.html.parser Html文档的分析器

Javax.swing.text.rtf 支持显示和编辑RTF文件

Javax.swing.tree Jtree组件的支持类

Javax.swing.undo 支持取消操作

表2.1 Swing包

2.2 MVC体系结构

Swing使用模型—视图—控制器体系结构(MVC)作为它的每个组件的基本设计。实质上,MVC将GUI组件拆分成三个元素,每个元素都对组件的表现起着至关重要的作用。

2.2.1 模型

模型包括每个组件的状态数据。不同类型的组件有不同的模型。例如,滚动条组件的模型可能包含有关可调整“滑尺”当前位置、最大值、最小值和滑尺宽度(与值的范围有关)的信息。另一方面,菜单可能只包含一个用户用来从中进行选择的菜单项列表。不论组件在屏幕上是如何被描绘的,这些信息总是相同的,模型数据总是独立于组件的可视表示。

2.2.2 视图

视图是指组件在屏幕上的表现形式。可以参见两个不同GUI平台上一个应用程序窗口,这是现实视图如何不同的一个好例子。又如,几乎所有窗口框架都有一个位于窗口顶端的标题栏。不过,标题栏的左边可能有一个关闭框(类

似于Mac OS平台),或者可能在标题栏的右边有一个关闭框(与Windows平台中的类似)。

2.2.3 控制器

控制器使用户界面的一部分,它指示组件如何与事件进行交互。事件的形式有很多种,例如,鼠标单击、获得或失去焦点、触发特定菜单命令的键盘事件,甚至是重新绘制某一部分屏幕的指示。控制器决定了每个组件如何对事件做出反应。

Swing通常使用一个叫做模型代理(modek-delegate)的MVC设计的简化变体。这个设计将视图和控制器对象合并到一个元素中,即UI代理,该元素将组件绘制到屏幕上,并处理GUI事件。模型负责维护有关组件状态的信息。使用Java语言捆绑图形功能和事件处理会容易一些,因为许多事件处理是使用AWT 的。模型与UI代理之间的通信是双向的。

第三章图形图像软件的设计

软件需求分析是设计优良的重要组成部分,一份好的需求分析说明,可以使程序设计的复杂性降到最低。需求分析与总体设计是软件具体实现前的必要环节,具体介绍如下。

3.1图形处理模块的设计

3.1.1结构设计

(1)菜单栏的设计

(2)画图区的设计

(3)工具栏的设计

(4)其他功能设计

3.1.2功能描述

该模块主要有菜单栏、工具栏、画图区组成,菜单栏具有新建、打开、保存等常见的功能;工具栏可以选择用户需要的图形样式、设置参数、插入文本等操作;画图区就是简单绘图区域,用户在画图区可自由绘制图形。右击工具栏可设置工具是否可拖动。还可以根据不同的需要设置背景色,画笔大小、画笔颜色。能够在任意点添加文字并设置文字样式和字体。

3.1.3图形处理模块结构图

图3.1 图形绘制模块

3.2 图像处理模块的设计

3.2.1结构设计

(1)菜单栏的设计及功能实现:菜单栏主要包括文件、图像增强、图像分割、图像变换、前进后退、图像缩放。

(2)图像处理区的设计:将整个界面分为两个部分,左边部分是打开的原图像,右边部分显示的是处理后的图像。

3.2.2功能描述

(1) 文件:此功能主要实现图像的文件操作,包括打开一个图像、清空图像、对图像进行保存、退出软件。

(2) 图像增强:此功能主要实现对图像进行加强边缘、锐化、模糊、浮雕、灰度变换处理。

(3) 图像分割:此功能主要实现对图像进行边缘检测处理。 菜单栏

工具栏 状态栏 文件 编辑 设置 帮助

画图区 文件操作 形状选择 设置 鼠标状态

新建 打开

保存 自由 直线 矩形 圆 立方体

背景色

画笔大小

文字样式

画笔色

(4)图像变换:此功能主要实现对图像进行平滑处理。

(5)前进后退:此功能主要实现图像的上一张、下一张读取。

(6)图像缩放:此功能主要实现图像的放大缩小功能。

3.2.3结构图

图像处理

图像编辑

理图3.2 图像处理模块的业务流程

各个分模块的功能如图3.3-3.5

图像编辑

放大

张缩

图3.3图像编辑模块

滤镜处理加

强边缘

化锐

图像增强

图3.4 滤镜处理模块

图像变换

图像分割图像平滑边缘检测

图3.5 边缘处理模块

第四章软件具体实现

软件系统分析设计完成后,就是开始对系统设计的实施阶段,以便完成系统的性能和功能。这是一个严格谨慎的过程,必须认真进行。系统的具体设计实现主要完成各模块之间的具体界面设计问题以及核实系统是否达到实际要求。

4.1 绘图功能的详细设计与实现

4.1.1 菜单栏

菜单栏包括文件、编辑、设置、帮助四部分。其中,文件菜单实现了新建、打开、保存、退出功能;编辑菜单实现了撤销和恢复功能;设置菜单实现了画笔颜色、画笔大小和立方体宽度的设置;帮助菜单实现了关于画图板的帮助信息。

在Java中,菜单的构成有三个基本要素:MenuBar、Menu、MenuItem。Menu、MenuItem类的继承关系如图4.1所示

https://www.360docs.net/doc/1f379951.html,ng.object

Java.awt.

MenuComponent

Java.awt.Menu

图4.1 菜单类的继承关系

从图4.1中可以看出,菜单相关的类都继承自MenuComponent,而不是Component,因此它无法像普通组件那样设置前景色、背景色、字体。

构造菜单首先要通过JmenuBar建立一个菜单栏,它是菜单容器。然后使用Jmenu建立菜单,每个菜单再通过JmenuItem建立菜单项。菜单的构造方法:Jmenu():建立一个新的Jmenu。

Jmenu(Action a):建立一个支持Action的新的Jmenu。

Jmenu(String s): 以指定的字符串名称建立一个新的Jmenu

Jmenu Jmenu:以指定的字符串名称建立一个新的Jmenu,并决定这个菜单

是否具有下拉属性。

4.1.2工具栏

工具栏是一系列快捷操作的按钮,分别是:新建、打开、保存、自由画笔、直线、空心矩形、实心矩形、空心椭圆、实心椭圆、圆、实心圆、空心圆角矩形、实心圆角矩形、3D矩形、3D矩形、3D长方体、橡皮、设置背景色、画笔颜色、画笔粗细、添加文字,用来实现相应的功能。另外还为工具栏设置了按钮图片和鼠标右击事件,右击鼠标可以设置工具栏是否可拖动。

构造工具栏时使用JToolBar创建一个工具栏对象,然后使用add()方法将带图标的按钮加到工具栏中。JToolBar的构造函数:

JToolBar():建立一个新的JToolBar,位置为默认的水平方向。

JToolBar(int orientation):建立一个指定位置的JToolBar。

JToolBar(String name):建立一个指定名称的JToolBar

JToolBar(String name,int orientation):建立一个指定名称和位置的JToolBar。

4.1.3画图区

画图区可以绘制各种图形,可以进行擦除操作,还可以根据实际需要添加文本。绘图的操作一般在paint()或paintComponent()方法中进行,建立一个JPanel的子类,重写paintComponent()方法,利用该方法的Graphics类型参数的绘图方法进行绘图。下面介绍一下基本图形的绘制方法:

(1)直线:绘制直线是通过使用Graphics的drawline方法来实现的,其原型如下:

Void drawline(int x1,int y1,int x2,int y2)

这个函数将使用当前颜色,在图形坐标系统中的(x1,y1)至(x2,y2)之间绘制一条直线。

(2)矩形:常见的矩形有两种:实体的(solid)、圆角矩形(rounded),这些矩形的绘制是用Graphics的一些方法来完成的,方法如下:Void drawRect(int x,int y,int w,int h)

Void drawRoundRect(int x,int y,int w,int h,int arcWidth,int arcHeight)

除了绘制以外,还可以填充矩形,这由以下的Graphics方法来实现:

Void fillRect(int x,int y,int w,int h)

Void fillRoundRect(int x,int y,int w,int h, int arcWidth,int arcHeight)

(3)原形和椭圆:从数学上讲,圆形是椭圆的一种特殊情况,在Java中这种关系仍然成立。在Java中,椭圆(当然也有特殊情况下的圆形)的定位定形是通过它的外接矩形来完成的。因此,在它的绘制和填充方法中,其参数均为对应外接矩形的有关信息。这些方法的原型如下:

void drawOval(int x,int y,int width,int height)

void fillOval(int x,int y,int width,int height)

如果参数width和height的值相等,那么绘制出来的将是一个圆形。

4.1.4状态栏

状态栏是显示鼠标的状态的信息栏,随时反馈鼠标信息。鼠标事件对应MouseEvent类。它有两个监听者接口与之对应,一个是MouseListener接口(它有5个事件),一个是MouseMotionListener(它有两个事件)接口。

(1) MouseListener接口

○1mousePressed:鼠标键被按下时调用。

○2mouseReleased:鼠标被释放时调用。

○3mouseClicked:合并上述两个事件为一次鼠标点击事件。

○4mouseEntered:进入指定区域。

○5mouseExited:离开指定的区域。

它们的参数是MouseEvent,通过getX和getY方法,能够得到鼠标点击时鼠标指针的x和y坐标。通过getClickCount方法,可以区别是单击操作,还是双击操作。

(2)MouseMotionListener接口

○1mouseMoved:鼠标移动。

○2mouseDragged:用户拖动鼠标。

4.2 图像编辑的详细设计与实现

4.2.1public void init()

本方法实现了对图片查看器的界面的整体布局及按钮的初始化。对页面的总体布局采用了以下主要代码进行实现setLayout(newBorderLayout());add(pathBar, BorderLayout.NORTH); add(picContainer, BorderLayout.CENTER); add(ctrBar,BorderLayout.SOUTH); resize(640, 400);设置顶部路径栏,及其文字显示;代码如pathBar = new,JPanel();pathBar.setLayout(new BorderLayout());pathInfo.setText("图片查看器"); pathBar.add(pathInfo);同时对图片显示区域,底部的控制栏的设置也运用了相似的代码进行实现,在此就不再重复。各按钮除了“打开”一按钮外,其他的各按钮均设置为false。这是因为只有“打开”图片后才能进行以下的图像实现循环浏览、放大缩小等操作。

4.2.2 public void actionPerformed(ActionEvent)

在本方法中主要实现了用户对底部控制栏各按钮的点击后,图片查看器进行的相对应的操作反应。方法中一开始用JButton click = (JButton) e.getSource();获取按键源,然后根据click与程序设定的已知的类进行比较决定进行相应的反应。if(click == openbtn);if(click == prebtn && pic != null);等一系列进行判断后,进行或是打开文件open()方法的调用;或是pre()方法的调用;其他各操作也大同小异,在此就不再赘述。

4.2.3. public void pre()及public void next()

pre与next方法实现了对当前图片的上一张下一张的浏览。因为在第一次打开文件时就将该路径下所有符合要求的图片存储在String[] pics中。通过if(i == 0) { i = pics.length-1;} else { i --;}其中i为当前的图片位置数。通过dir = path + "\\" + pics[i];获得文件的路径,然后调用loadImage(dir);此方法将在后面介绍;与上面的方法相对应的是此方法实现了对当前图片下一张的浏览,实现原理与上相同,if(i == pics.length-1) {i = 0;} else {i++;}通过调用loadImage(dir);一方法实现。

4.2.4. public void zoomin()

此方法实现了对当前的图片进行按设置比例缩小操作。在进行缩小操作前,先对图片的大小进行判断,看是否已经缩小到最小,若最小则显示提示信息“已

经缩至最小!”;否则进行缩小操作。在此过程中调用了picTrans()方法,以及repaint(); 重绘组件的方法。

4.2.

5. public void oripic()及public void delete()

此方法实现了将放大或缩小后的图片大小还原的操作。同时也调用

picTrans()方法,以及repaint(); 重绘组件的方法。具体的picTrans()方法将在下面详细描述。此方法具体实现见附件;public void delete()方法将图片彻底删除,删除后图片彻底被粉碎,回收站里面都不能找到。因此要慎用此按钮。

4.2.6. String 类

程序中运用了三个不同的String 类,从而实现了需要查看的图片的路径的操作,并且在启动图片查看器时,图片的路径能够在路径栏显示出来。同时还设

置了String 数组用于存储用户选定的目录下所有指定格式的图片,这样可以实现循环浏览图片等操作。

4.3滤镜处理的详细设计与实现

所谓滤镜,就是把原有的画面进行艺术过滤,得到一种艺术或更完美的展示,滤镜的品种很多,应用广泛。在图像的滤镜处理中,有一部分是通过卷积来实现的。

4.3.1 图像增强

卷积滤镜同样用一个矩阵于图象可形成如模糊、边缘检测、锐化、浮雕和斜角等多种效果。卷积滤镜重新计算每个像素,并根据矩阵将像素及其周围的象素要加得也该像素的新颜色。最常用的矩阵是3x3的矩阵,如图4.2所示:

????

??????N N N N P N N N N 图4.2

在这个矩阵中P 代表本身的像素,而N 代表周围的像素。那么图4.3这个矩阵:

????

??????0 0 00 1 00 0 0 图4.3

可以看出将这个矩阵用于图象时,图象没有变化,因为除自已外周围的像素均为0,即周围像素对中间的P 像素没有影响。

将矩阵存入一个数组,并将它作为ConvolutionFilter 类构造函数的一个参数,可实现卷积滤镜效果,除了矩阵参数处ConvolutionFilter 构造函数还有其它的一些参数:

matrixX :― 矩阵的 x 维度(矩阵中列的数目)。默认值是 0。 matrixY : ― 矩阵的 y 维度(矩阵中行的数目)。默认值是 0。

matrix: ― 用于矩阵转换的值的数组;返回一个副本。数组中的项数必须等于 matrixX*matrixY 。

divisor: ― 矩阵转换中使用的除数。默认值是 1。这个参数如果与矩阵值的总和相等,那么图象的亮度无变化。比如图4.4这个矩阵:

????

??????0 1 01 1 10 1 0 图4.4

里面有5个1,那么矩阵总值为5,如果divisor 参设为5,则图象的亮度无变化。如果本参数为1,那么图象的亮度是原图象的5/1倍,这时图象就很亮了。如果本参数为10,那么原图片的亮度为5/10,显然图片就变暗了。 bias: ― 要添加到矩阵转换结果的偏差。默认值是 0。

preserveAlpha: ― 值为 false 表明卷积应用于所有通道,包括 Alpha 通道。值为true 表示只对颜色通道应用卷积。默认值为true 。

clamp: ― 对于源图像之外的像素,如果值为true ,则表明通过复制输入图像给定边缘处的颜色值,沿着输入图像的每个边框按需要扩展输入图像。如果值为 false ,则表明应按照color 和alpha 属性中的指定使用其它颜色。默认值是true 。

信息技术教案——画图

信息技术教案——画图 第一课美妙的“画图”世界 一、教学目的 1、掌握启动“画图”程序的方法 2、初步认识“画图”的功能与窗口的名称 二、教学重难点 1、“画图”程序的启动与退出 2、认识“画图”程序窗口的组成和画图工具 三、教学地点:教室 四、教学过程 引言:看书上这些美丽的图画,都是同学们使用Windows操作系统提供的画图工具完成的。使用计算机画图,既节约了纸和笔,又省去了调配颜料的麻烦,而且绘画方法很简捷,功能强大。相信经过学习,同学们都会成为出色的“电脑小画家”。 (一)启动“画图” 步骤: “开始”→“程序”→“附件”→“画图” 如果我们经常使用画图程序,也可以将它设为快捷方式,放在桌面上。 (二)认识“画图”窗口 1、标题栏:用来显示当前所画图画的文件名。 2、菜单栏:提供了对“画图”程序进行各种操作的命令,单击某一项都会拉出相关操作的下拉菜单。 3、画板:可以画画的区域,相当于平时画画的画纸。 4、工具箱:包含了画图时所用到的16种工具。 5、状态栏:提供了当前画画时所选工具的作用。分为三部分: ①提示信息栏:提示当前工作状态的信息说明。 ②绝对坐标:指出鼠标在画板中的坐标位置。 ③相对坐标:提示鼠标当前位置距前一个绘图点的坐标方向的距离。 注意:1、如果窗口较小,可以最大化窗口。 2、如果画板较小,可以选择“图像”菜单中的“属性”选项,在弹出的对话框中宽度和高度的值改为720和450;或者把鼠标指针移到画板右下角处,用拖拉鼠标的方法将画板拉至满意的位置为止。 (三)选择画图的工具 在程序的工具箱中提供画画的工具有16种,默认的工具是铅笔工具。如果想选择哪一个工具就用鼠标单击这一项即可。被选中的工具的按钮被按下去,呈现出“凹下”状态,同时,鼠标指针也变成工具符号。工具箱的下边也会出现所对应的工具状态框,给出当前所选工具的几种状态。 提示:在“画图”程序中如果没有工具箱时,可以从“查看”菜单中选“工具箱”选项,如果“工具箱”没有在窗口左侧,可以双击“工具箱”标题处,此项内容就会回到窗口左侧,或者用拖动的方法将“工具箱”拖动到任意的位置。 (四)退出“画图”窗口 步骤: 1、“文件”→“退出”

南京邮电大学数字图像处理与图像通信复习资料

2016年上学期《数字图像处理与图像通信》资料 ===================================================== 一、选择题(共20题) 1、采用幂次变换进行灰度变换时,当幂次取大于1时,该变换是针对如下哪一类图像进行增 强。( B) A 图像整体偏暗 B 图像整体偏亮 C图像细节淹没在暗背景中 D图像同时存在过亮和过暗背景 2、图像灰度方差说明了图像哪一个属性。( B ) A 平均灰度 B 图像对比度 C 图像整体亮度 D图像细节 3、计算机显示器主要采用哪一种彩色模型( A ) A、RGB B、CMY或CMYK C、HSI D、HSV 4、采用模板[-1 1]T主要检测( A )方向的边缘。 A.水平 B.45? C.垂直 D.135? 5、下列算法中属于图象锐化处理的是:( C ) A.低通滤波 B.加权平均法 C.高通滤波 D. 中值滤波 6、维纳滤波器通常用于( C ) A、去噪 B、减小图像动态范围 C、复原图像 D、平滑图像 7、彩色图像增强时, C 处理可以采用RGB彩色模型。 A. 直方图均衡化 B. 同态滤波 C. 加权均值滤波 D. 中值滤波 8、__B__滤波器在对图像复原过程中需要计算噪声功率谱和图像功率谱。 A. 逆滤波 B. 维纳滤波 C. 约束最小二乘滤波 D. 同态滤波 9、高通滤波后的图像通常较暗,为改善这种情况,将高通滤波器的转移函数加上一常数量以 便引入一些低频分量。这样的滤波器叫 B。 A. 巴特沃斯高通滤波器 B. 高频提升滤波器 C. 高频加强滤波器 D. 理想高通滤波器 10、图象与灰度直方图间的对应关系是 B __ A.一一对应 B.多对一 C.一对多 D.都不 11、下列算法中属于图象锐化处理的是: C A.低通滤波 B.加权平均法 C.高通滤 D. 中值滤波 12、一幅256*256的图像,若灰度级数为16,则存储它所需的比特数是:( A ) A、256K B、512K C、1M C、2M 13、噪声有以下某一种特性( D ) A、只含有高频分量 B、其频率总覆盖整个频谱 C、等宽的频率间隔内有相同的能量 D、总有一定的随机性 14. 利用直方图取单阈值方法进行图像分割时:(B) a.图像中应仅有一个目标 b.图像直方图应有两个峰 c.图像中目标和背景应一样大 d. 图像中目标灰度应比背景大 15. 在单变量变换增强中,最容易让人感到图像内容发生变化的是( C )

基于Java的图形图像处理软件的设计与实现

目录 引言 (4) 第一章绪论 (5) 1.1.1 计算机图形图像学的发展简史 (5) 1.1.2现有图形图像处理软件 (5) 1.2课题研究的目的及意义 (6) 第二章图形图像处理软件开发技术基础 (7) 2.1 Java Swing 简介 (7) 2.1.1 Swing的特性 (7) 2.1.2 Swing程序包和类 (8) 2.2 MVC体系结构 (9) 2.2.1 模型 (9) 2.2.2 视图 (9) 2.2.3 控制器 (10) 第三章图形图像软件的设计 (11) 3.1图形处理模块的设计 (11) 3.1.1结构设计 (11) 3.1.2功能描述 (11) 3.1.3图形处理模块结构图 (11) 3.1.4主要类设计.................................................................... 错误!未定义书签。 3.2 图像处理模块的设计 (12) 3.2.1结构设计 (12) 3.2.3结构图 (13) 4.1 绘图功能的详细设计与实现 (15) 4.1.1 菜单栏 (15) 4.1.2工具栏 (16) 4.1.3画图区 (16) 4.1.4状态栏 (17) 4.2 图像编辑的详细设计与实现 (18) 4.3滤镜处理的详细设计与实现 (19) 4.3.1 图像增强 (19) 4.3.2图像边缘检测 (21) 4.3.3 图像平滑处理 (23) 4.3.4 系统测试 (24) 结论 (26) 致谢 (27)

图形图像处理软件的设计与实现 摘要:随着计算机技术的迅速发展,图形图图像技术在各个领域的研究和应用日益深入和广泛。由于图形图像各种算法的实现,使得其处理速度越来越快,能更好的为人们服务。图形图像处理的信息量很大,对处理速度的要求也比较高。Java 强大的运算和图像展示功能,使图像处理变得更加的简单和直观。同时系统所有的操作设计得十分简单方便,无需具备有专业的知识,也能实现图像图像处理。 Java是一种完全面向对象的语言,Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。本文基于Java的图形图像处理环境,设计并实现了以图形图像处理系统,展示如何通过利用Java实现对图形图像的各种处理。 关键词:Java 绘图板图形图像编辑滤镜处理边缘处理

初始画图软件教案

《认识画图软件》的教案 【教材分析】 内容分析:《认识画图软件》一课,是小学信息技术课程四年级上册第一课的内容。本课是学生在初步了解用计算机绘画制作的基础上,设置的一节课。本课的主要内容由:作品赏析、启动画图、窗口组成、选择工具、做一做等组成。 教学对象分析:本班学生是小学四年级的儿童,学生在学习方面拥有激烈的学习绘图兴趣,较好的理解能力、表达能力、操作能力,学习效率极高,他们善于模仿,喜欢创新,遇到困难能积极向同学或老师提问,同学之间居于哦热情相助的习惯。 学生的初始能力:由于是第一次接触电脑绘图软件,大部分学生只有纸上绘图的操作基础。 学生的信息素养:学生虽然有在纸上绘图的经验,但没有在电脑上绘图的经验。 【教学方法】 案例教学法、演示法、任务驱动法、小组讨论法 本节课的内容针对于小学四年级的学生来说,因为他们的使用计算机的能力还相当有限,即使在前期做了很好的设计规划,讲授过程中仍然十分费力,有一些难度。通过在导入部分展示一些“欣赏作品”,激发学生学习画图软件的兴趣和愿望,引入本课的学习。在启动画图软件的教学环节,我采用演示法,一边讲解进入画图的两种方法,让学生感受到进入画图软件不同的方法。设置一个任务,让学生运用已学习的知识、巩固知识,发挥动手能力,充分调动学生学习的积极性,以任务驱动的方式查漏补缺,使教学内容合理流动,水到渠成。最后,四个人为一个小组,用讨论的方式进行学习,解决在学习过程中遇到的问题,在探究中找到乐趣。 【教学目标】 知识与技能: 1、通过学习,让学生知道Windows7系统中自带的一个画图软件。 2、掌握画图软件的进入与退出,并熟悉画图软件的窗口。 3、熟练说出工具箱中工具的名称及用途。 4、使用铅笔工具写字和刷子画树 过程与方法: 1、通过让学生欣赏作品,让学生初步了解画图的作用,激发学生学习画图软件的兴趣。 2、通过学生交流、师生交流,培养学生使用画图软件提高电脑绘图的能力。 情感态度与价值观 1、通过学生本体的学习探索与实践操作,增强学生学习软件的兴趣,培养实践探索精神及合作精神。适时渗透学生德育教育。 2、通过小组协作和竞赛研究活动,培养学生合作学习的意识、竞争参与意识和研究探索的精神,从而调动学生的积极性。 【重点和难点】 重点:初识“画图”窗口组成;认识绘图工具箱。 难点:用鼠标选择前景色和背景色;用铅笔写字与刷子画树。 【教学环境】

用Windows自带的“画图”软件绘图的方法及技巧

用Windows自带的“画图”软件绘图的方法及技巧 1引言 对于绝大多数微机用户来讲,用电脑画图始终是个令人感到头疼的问题。尽管许多常用的文字处理软件(如:Word)都带有绘图功能,但是使用这些软件画图却费时费力,效果不佳。一个图形往往会被操作者画得七零八落。有些用户虽然安装了如AutoCAD等专业绘图软件,但由于这些软件专业性太强,甚至对操作者的英文水平有相当的要求,因此能够熟练驾驭此类绘图软件的操作者很少。甚至多数普通操作者的微机中根本就未安装这些软件。 其实,要想快速画出漂亮、实用的图形并不难。通过摸索,发现并总结了一套使用电脑画图的方法,只要您的电脑中安装的是最常用的Windows操作系统,就可以利用其自带的“画图”功能软件,简洁快速地画出规整漂亮的图形来。 2在Windows操作系统中找到“画图”工具软件 用鼠标沿着电脑屏幕左下方开始的以下级联菜单一路单击,即可找到“画图”工具软件:开始→所有程序→附件→画图。打开画图程序界面后,操作者就可以施展本领,进行画图操作了。 3“画图”工具软件的基本功能介绍 在画图软件界面的左侧列有十六个功能按钮,将鼠标箭头指向任何一个功能按钮都会自动显示提示文字,告知每个按钮的基本功能。这些功能主要有“直线”、“矩形”、“椭圆”、“橡皮擦”、“文字”等。以画矩形为例来说明功能按钮的基本使用方法:用鼠标单击矩形功能按钮→将鼠标箭头移至右侧空白的画图区域→按下鼠标左键不要松开→斜向拖动鼠标→松开鼠标。这样,一个矩形的绘制就完成了。鼠标拖动的方向就是矩形对角线的方向。读者可以仿照此例,练习一下直线、椭圆等图形的画法。 若画图软件界面没有出现这十六个功能按钮,可以用鼠标单击“查看”下拉菜单,选中“工具栏”一项,则屏幕界面上就会显示这些功能按钮。 4功能性技巧介绍

图像处理技术的研究现状和发展趋势

图像处理技术的研究现状和发展趋势 庄振帅 数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL)。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。在以后的宇航空间技术,如对火星、土星等星球的探测研究中,数字图像处理都发挥了巨大的作用。数字图像处理取得的另一个巨大成就是在医学上获得的成果。1972年英国EMI公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置,也就是我们通常所说的CT(Computer Tomograph)。CT的基本方法是根据人的头部截面的投影,经计算机处理来重建截面图像,称为图像重建。1975年EMI公司又成功研制出全身用的CT 装置,获得了人体各个部位鲜明清晰的断层图像。1979年,这项无损伤诊断技术获得了诺贝尔奖,说明它对人类作出了划时代的贡献。与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学过程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。随着图像处理技术的深入发展,从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向

人教版初一《用画图软件设计邮票》教学设计

人教版初一《用画图软件设计邮票》教学设计 教材:《初中信息技术》(人民教育出版社) 第一册第一单元活动三《用计算机画画》第二课时 学生:初中一年级 教学环境:电脑网络教室,多媒体网络教学平台 课时:1课时 一、本节课设计思路 1、教材和学生现状分析 我记得有学生问过我这样一个问题,老师学某某软件有什么用?为什么会这么问,因为学生不知道学了这个软件能做什么。虽然在教某一个软件的时候会介绍这个软件的作用,但不让学生亲自用这个软件去完成某一样东西的时候,学生只会感到很茫然,学起来很盲目。因此我设计本堂课的目的,就是能让学生学以致用。画图软件是一个学生比较感兴趣的软件,在前一课的学习中,学生已经掌握了画图软件各种画图工具的使用,并能自己创作画出一些美丽漂亮的图画。在这样的基础上,教材又进行了加深,要利用画图软件对图片进行编辑和修改。教材上这节内容设计比较散、乱,根据我校学生的实际情况和他们爱动手、想获得成就感的心理特点,于是,我就想了一个容易使学生感兴趣也容易获得成就感的题目,用画图软件设计邮票。在设计邮票的过程中既可以使学生掌握图片的编辑和修改方法,又可以增长学生的知识,激发学生的创作欲,设计出各种不同的邮票。 2、本节课的教学目标 1)知识与技能 ①使学生了解画图软件的其它用途 ②使学生了解一些邮票的知识 ③掌握邮票设计的几个要素 2) 过程与方法 ①使学生掌握选取图片、复制移动、旋转拉伸图片的方法 ②掌握“编辑”、“图象”等菜单的使用 ③综合利用画图各种工具设计邮票 3)情感态度价值观 ①培养学生动手能力和创造力 ②激发学生学习信息技术的兴趣 3、本节课的教学重点和难点 重点:①选取图片、复制移动、旋转拉伸图片的方法 ②“编辑”、“图象”等菜单的使用 难点:画图中各种工具的综合利用 4、本节课的教学方法 任务驱动、讲练结合、自主探究学习 (这节课的任务就是设计制作出一张邮票,通过邮票各部分设计任务的完成,最终完成这个大任务) 5、本节课的教学手段 多媒体教学网(广播教学)、教学课件、学件、实物投影仪 学生的作品展示 6、课前准备

计算机图形学与图像处理教案

精编资料 了解图形学与图像处理的发展,应用以及当前国际国内研究的热点和重要成果;理解图形学与图像处理对图元以及图像的分析与理解的以及二维与三维形状重建等;... 图形,图像 计算机图形学与图像处理教案 学时:36,其中讲授26学时,上机10学时。 适用专业:信计专业与数学专业。 先修课程:高等数学、线性代数、数据结构、VC++或者C# 一、课程的性质、教育目标及任务: 计算机图形学与图像处理实际上是两门课程的一个综合。这是一门研究图形学与图像处理的基本理论、方法及其在智能化检测中应用的学科,是计算机科学与技术等电子信息类本科专业的专业课。 本课程侧重于对图形学的基本图元的基本生成,以及图像处理中对图像在空间域与频率域的基本处理算法的研究。并对图形学与图像处理基本理论和实际应用进行系统介绍。目的是使学生系统掌握图形学与图像处理的基本概念、原理和实现方法,学习图形学与图像处理分析的基本理论、典型方法和实用技术,具备解决智能化检测与控制中应用问题的初步能力,为在计算机视觉、模式识别等领域从事研究与开发打下扎实的基础。 二、教学内容基本要求: 1.了解图形学与图像处理的发展、应用以及当前国际国内研究的热点和重要成果; 2.理解图形学与图像处理对图元以及图像的分析与理解的以及二维与三维形状重建等; 3.掌握图形学与图像处理中最基本、最广泛应用的概念、原理、理论和算法以及基本技术和方法; 4.能够运用一门高级语言编写简单的图形学与图像处理软件,实现各种图形学与图像处理的算法。 三、主要教学内容:

学习图形学的基本概念,了解光栅显示系统的原理;掌握基本图元的生成算法:直线的生成算法、曲线的生成算法、多边形的生成算法;掌握区域填充、线段剪裁以及多边形的剪裁;掌握图元的几何变换、以及投影的基本理论。 了解图像的概念;图像数字化的基本原理:取样、量化、数字图像的表示;线性系统理论在图像变换,滤波中的应用:线性系统理论、离散图像变换、小波变换;图像编码压缩、增强,以及复原的基本方法:无失真压缩、有失真压缩、变换编码、压缩标准、图像滤波原理、复原滤波器、直方图运算、点运算;图像识别的基本原理和方法:图像分割、图像分析、图像分类; 四、学时安排 总课时72学时,图形学36学时,其中包括26个学时讲授,10个学时上机;图像处理36学时,其中包括26个学时讲授,10个学时上机; 五、参考书目: (1), Donald Hearn & M,Pauline Baker (2),< Computer Graphics with OpenGL, Third Edition> Donald Hearn & M,Pauline Baker (3),计算机图形学实用技术陈元琰,张晓竞,科学出版社 (4),计算机图形学倪明田,吴良芝北京大学出版社 (5) <>, Rafael C. Gonzalez & Richard E. Woods. Publishing House of Electronics Industry. (6) << Image Processing ,Analysis, and Machine Vision ( second Edition)>> ,Milan Sonka, V aclav Hlavac. Publishing House of People Post 第一讲图形学基本概念 重点: 了解图形学概念;掌握图形学中的几个概念:分辨率,光栅,扫描线,像素,帧缓冲器;了解图形学的基本用途;掌握图形学光栅扫描显示系统的工作原理; 难点: 光栅扫描显示系统的工作原理; 教学方法: 课堂讨论式教学方法,基于问题式以及启发式教学方法相结合。双语教学。 主要内容: 1,什么是计算机图形学? 2,计算机图形学的主要用途是什么? 3,计算机图形学中的一些基本概念: 什么是分辨率?什么是光栅?什么是光栅扫描系统的扫描线?什么是像 素?什么是帧缓冲器?什么是刷新率?

C制图常用工具使用方法

C制图常用工具使用方 法 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

选择工具栏要勾选的几个选项。左下角显示模式: 1、矩形 选择工具,出现: , 点击起始点后出现:(注意命令提示,一般常用命令为D) 输入’d’: 随后出现: 输入具体值 输入具体值 随后出现 有四个方向可选。 2、扩边、平移、线宽 扩边:首先选中图形,选择偏移工具 输入偏移数值: 选择偏移方向(外偏移、内偏移): 点击右键确认。 平移: 首先选中图形,选取平移工具,制定基点(相对不动的点): 挪动鼠标,虚线图形随鼠标移动,到合适位置后点击鼠标左键完成。

线宽选择: 选择图形,点击下拉菜单: 选择合适线宽即可。 3、标柱 首先设置标柱样式: 出现对话框: 选择修改项,修改其内容 修改完成后确定。在需要标柱图形左起始点,点击 在需要标柱图形右结束,点击 松开鼠标,向上滑动鼠标,到合适位置点击左键。 4、缩放 选取图形,选择工具,首先选择基点,图例将矩形右下角为基点,

滑动鼠标, 注意左下角文字说明 比较直观的缩放方法是选择“r”命令 在图形下发点击左键,出现: 再滑动鼠标出现 点击左键,出现图形: 缩放到合适大小后点击鼠标左键。 5、旋转 选择图形,点取工具,制定基点 移动鼠标 6、圆弧 选择工具,选择起点 选择第二个点 命令参数有: 一般画门的时候可应用,例如: 7、打断 选择工具: 8、带基点复制 选择图形,后标题栏中选取: 制定基点,基点可根据实际情况选取。 例如以左下角为基点: 移动鼠标,鼠标中心点即为图形的坐下角,后粘贴:将鼠标靠近原图型,

java图形图象处理论文

摘要 随着计算机技术的迅速发展,数字图像处理技术在医学领域的研究和应用日益深入和广泛。现代医学已越来越离不开医学图像处理技术。医学图像处理技术在临床诊断、教学科研等方面发挥了重要的作用。计算机图像处理技术与影像技术的结合从根本上改变了医务人员进行诊断的传统方式。充分地利用这些技术可以提高诊断的正确性和准确性,提高诊断效率,降低医疗成本,可以更加充分地发挥各种医疗设备的功能。而且,随着数字化、智能化进程的深人,图像处理技术在医疗卫生领域将会有更加广阔的应用前景。 Java是Sun公司推出的一种面向对象编程语言。Java非常适合于企业网络和Internet 环境,现已成为Internet中最受欢迎、最有影响的编程语言之一。目前国内使用Java语言开发的图像处理系统比较少,这也增加了这方面的研究价值。 本文首先对图像增强和图像分割中的几种算法进行了介绍,包括线性灰度变换,伪彩色处理,平滑处理,中值滤波,阈值分割,边缘检测等。然后用Java语言对上述各算法编程实现,并设计Java GUI(图形用户界面)用来显示图像处理的结果,以及创建一个数据库用于存储医学图像。 关键词:医学图像;图像增强;图像分割;面向对象

Abstract As the computer technique’s quickly development, the image process technique having been more deeply and widely in the use and study of medical science. The modern medical science can not work well without the medical image processing technology; it has made an important use in clinical diagnosis and education study. The combination of the image processing technique and imaging technique has changed the way that traditional diagnosis. Make adequately use of this techniques will be increase accuracy, increase the efficiency of diagnosis, decrease the cost of medical treatment and make the most use of function with medical treatment equipments. Moreover, as the deeply with the arithmetic figure and the intelligence, the image processing technique will have a more wonderful future. Java is a kind of object-oriented programming language from the company of Sun. The Java is becoming a most welcome and influence programming language which suits for the business network and the environment of internet. Currently, use Java language to developed image processing system is not very frequency in our country. So, this is a cause of increasing the value of study. This project introduces some kinds of algorithms in image enhancement and image segmentation. It includes linear grey level transformation, pseudo-color processing, smooth processing, median filter, threshold segmentation, edge detection and so on. Then, use Java to program and realize. And show the result of image processing using Java GUI (Graphical User Interface), as well as create a database to stock medical image. Key Words: medical image; image enhancement; image segmentation; object-oriented

图形图像处理期末考试A、B卷及答案

计算机专业《图形图像处理》期末考试试卷(A) 考试时间:90分钟 姓名____________ 学号____________ 成绩______________ 填空题(50分)每空1分 除了使用按钮进行软件的退出之外,还有其他3种方法同样可以将软件关闭,分别是 ___________、___________、___________。 新建文件的方法有3种,分别是___________、___________、___________。 打开文件的方法有3种,分别是___________、___________、___________。 将鼠标光标放置在_________栏的蓝色区域上双击,即可将窗口在最大化和还原状态之间切换。按键盘中的_______键可以将工具箱、属性栏和控制面板同时显示或隐藏。 在RGB【颜色】面板中【R】是___________颜色、【G】是___________颜色、【B】是___________颜色。 图像文件的大小以___________和___________为单位,它们之间的大小换算单位为___________KB=___________MB。 按键盘中的___________键,可以将当前工具箱中的前景色与背景色互换。 当利用工具绘制矩形选区时,按下键盘中的___________形态的选择区域; 按下键盘中的___________形态的选择区域;按下键盘中的 绘制___________形态的选择区域。 在Photoshop系统中,新建文件默认分辨率值为___________像素点/英寸,如果进行精美彩印刷图片的分辨率最少应不低于__________像素点/英寸。 在【通道】面板底部有四个按钮,它们的功能分别是:___________按钮、___________按 钮、___________按钮、___________按钮。 在利用滤镜菜单栏中的【高斯模糊】命令进行虚化的投影效果制作时,应注意图层面板中的___________选项不被勾选。 可以快速弹出【画笔预设】面板的快捷键是_______。 在图像文件中创建的路径有两种形态,分别为________和________。 矢量图形工具主要包括______工具、______工具、______工具、______工具、______工具和______工具。 在Photoshop 7.0软件中,可以将输入的文字转换成________和_______进行编辑,也可以将其进行栅格化处理,即将输入文字生成的文字层直接转换为________。另外还可以将输入的_______和

EXCEL中的绘图工具使用技巧

E X C E L中的绘图工具 使用技巧 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

EXCEL中的绘图工具使用技巧 2009-04-17 11:59:37 阅读5396 评论1 字号:大中小订阅 基础班选修课讲义 1、从绘图工具栏直接绘制直线、单边带箭头直线、椭圆、矩形; 2、从绘图工具栏“自选图形”中选择:线条、基本形状、箭头汇总、流程图、星与旗帜、标注、其它自选图形…… 3、添加和编辑绘制图形中的文字内容(右键-添加文字); 4、工具栏中直接选择“文本框”、“竖排文本框”; 5、图形右键菜单的其它功能(超链接、宏等)。 二、绘制单位正方形、单位圆、单位正xx…… 1、从绘图工具栏及其“自选图形”中选择矩形、椭圆、菱形、平行四边形等图标……到单元格内点击一下,就可生成单位正方形、单位圆、单位正xx……(对线条不起作用); 2、在绘图工具栏的“自选图形”中双击选择的图形,可直接生成单位圆、单位正方形、单位正菱形、单位正平行四边形等图案(单位边长)。 三、连续绘图 1、双击绘图工具栏中需要绘制的图形,比如椭圆、长方形、直线,以后可以连续绘制出椭圆/圆、长方形/正方形以及直线;按ESC键取消连续画图; 2、对绘图工具栏“自选图形”中的图形使用双击,只能产生“单位正xx”图形,不能连续绘图(其作用见“二、2”条)。 3、右键绘图工具栏-自定义-命令-自选图形-选择命令-拖到工具栏中,今后就可以双击这些图形连续绘图。 四、改变图形 1、改变绘制图形的线条、箭头、边框、色彩设置(右键或者双击图形,设置自选图形格式;工具栏中选择); 2、点击和转动相关图形中的绿色圆点转动图形; 3、使用绘图工具栏“翻转”按钮; 4、点击和拖动相关图形中的黄色圆点改变图形; 5、右键已经画好的图形,点击绘图工具栏的“绘图”,选择“改变自选图形”,再选择你想得到的图形; 6、绘图默认效果的设置; 7、(重要应用之一)改变单元格批注图形:单元格批注显示后,右键“批示”框,点击绘图工具栏的“绘图”,选择“改变自选图形”,再选择你要得到的图形;

计算机图形学与图形图像处理技术分析

计算机图形学与图形图像处理技术分析 计算机技术的普及与发展带动了全社会的进步,现代社会活动中几乎所有领域都在使用计算机技术,该技术为企业节约了大量的生产成本,提高了工作效率,改变了人们的生活方式。计算机图形学和图形图像技术在人们工作中的使用日益频繁,凸显了现代科学应用领域对该技术研究的重要性,本文就计算机图形学与图形图像处理技术从定义、区别和联系以及具体应用几方面展开论述,期望该技术能够为人们的工作和生活提供更大便利。 标签:计算机图形学;图形图像处理;技术 1概述 1.1概念 计算机图像处理是指利用计算机技术,来对图像进行一定的加工和分析,以获取最终的目标图像及结果。 目前该项处理技术在应用中,主要经过两个基本过程。第一,转化要研究的图像,把它变成通过计算机能够清晰辨别的数据,这样把图像存放在计算机中;第二,在将电脑中的图像做出相关处理与转化时,将采用不同形式的计算方法进行处理。 1.2图像的分类 根据图像能否在计算机上处理,将图像的种类进行了以下归类: 第一类,数字化图像。由于科技的迅猛发展,图像已经逐渐走向数字化。同时,数字化图像具有与生俱来的优势,例如处理方法便捷、精准度高等,满足了现代化国家的需求。 第二类,模拟图像。在现代生活中,模拟图像到处可以看到,比如胶片照相机相片、光学图像等,这些都是模拟图像。模拟图像一般在输出时较方便快捷,但是也有不是很灵活、精密度不够的缺陷。 2计算机图形与图像技术的区别与联系 计算机图形处理技术与图像处理技术是两种技术,两种技术密不可分,两者的有机融合才能将图像和图像处理更加符合客户需求,两者的转换和联系如图1所示,但两者也有若干区别: (1)理论基础不同。计算机图形学的理论基础是计算几何、分型、透视、变换、仿射理论、分形理论等,而计算机图像处理技术的理论基础是统计学、模

JAVA图像处理分段线性拉伸

import com.sun.media.jai.widget.DisplayJAI; import java.awt.GridLayout; import javax.media.jai.JAI; import javax.media.jai.PlanarImage; import javax.swing.BorderFactory; import javax.swing.JScrollPane; import javax.swing.border.TitledBorder; /* * PieceWise.java * 版权所有- 贺向前 * 邮件:hexiangqian@https://www.360docs.net/doc/1f379951.html, * QQ: 910019784 * 未经授权,不得复制、传播。 */ /** * * @author Administrator */ public class PieceWise extends javax.swing.JFrame { /** Creates new form PieceWise */ public PieceWise() { initComponents(); setTitle("分段线性拉伸"); setLayout(new GridLayout(2,2)); } private PlanarImage loadImage(String fileName){ PlanarImage im=JAI.create("fileload",fileName); return im; } private void showImage(PlanarImage im,String str){ DisplayJAI dj=new DisplayJAI(im); JScrollPane jp=new JScrollPane(dj); TitledBorder titledBorder=BorderFactory.createTitledBorder(str); jp.setBorder(titledBorder); add(jp); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is

图形图像处理基础知识.

图形图像处理技能培训和鉴定标准 1定义 使用计算机及图形图像输入输出设备和图形图像处理软件处理静态或动态图形图像的工作技能。 2适用对象 从事工艺美术、室内装璜、广告艺术、建筑外观、产品模型、影视图像、图文排版、图文印刷、计算机多媒体技术工作人员以及其他需要掌握图形图像处理软件操作技能的社会劳动者。 3相应等级 图像制作员:专项技能水平达到相当于于中华人民共和国职业资格技能等级四级。能独立、熟练地应用图形图像制作软件基本功能完成静态或动态图形图像处理工作。 高级图像制作员:专项技能水平达到相当于于中华人民共和国职业资格技能等级三级。能独立、熟练地结合应用图形图像软件基本功能完成静态和动态图形图像处理工作。图像制作师:专项技能水平达到相当于于中华人民共和国职业资格技能等级二级。能独立、熟练地结合应用图形图像软件的功能完成静态和动态图形图像创意和设计工作。 4培训期限 图像制作员:短期强化培训 100~120学时。 高级图像制作员:短期强化培训 150~170学时。 图像制作师:短期强化培训 150~170学时。 5技能标准

5.1图像制作员 5.1.1一般知识要求 了解平面及立体构图基本知识和计算机彩色模式及基本配色原理; 掌握微机及常用图形图像处理设备 (如鼠标器、扫描仪、打印机等基本连接和简单使用的相关知识; 掌握计算机 DOS 和 Windows 两种操作系统的基本知识和基本命令的使用, 特别是文件管理、图形图像文件格式及不同格式的特点和相互间转换的基本知识; 掌握点阵图像和矢量图形的特点; 了解动画的基本概念。 5.1.2技能要求 具有图形图像制作软件基本的使用能力; 具有基本的图像扫描设备和输出设备的使用能力; 实际能力要求达到:能使用图形图像处理相关软件和图像扫描、输出设备独立完成三维静态图像和动画制作工作。 5.2高级图像制作员 5.2.1一般知识要求 了解平面和立体构图基本知识和计算机彩色模式及基本配色原理; 掌握微机及常用图形图像处理设备 (如鼠标器、扫描仪、打印机等基本连接和简单使用的相关知识;

第11章java图像图形处理

第十一章图形图像处理 在前边的章节的图形用户界面的处理中,已经看到了图像的应用。本章将简要介绍如何在用户屏幕上绘制图形以及如何显示图像。 图形 在前边我们已经介绍了用户屏幕和容器的概念,也看到了如何在容器中添加组件。一般来说,在用户屏幕上绘制图形其实就是在容器组件上绘制图形。因此需要注意以下两点:1)组件中的坐标系统 容器组件的坐标系统类似于屏幕的坐标系统,坐标原点(0,0)在容器的左上角,正x 轴方向水平自左向右,正y轴方向垂直自上向下。 在java中,不同的图形输出设备拥有自己的设备坐标系统,该系统具有与默认用户坐标系统相同的方向。坐标单位取决于设备,比如,显示的分辨率不同,设备坐标系统就不同。一般来说,在显示屏幕上的计量单位是像素(每英寸大约90个像素),在打印机上是点(每英寸大约600个点)。Java系统自动将用户坐标转换成输出设备专有的设备坐标系统。 2)图形环境(graphics context) 由于在组件上绘制图形使用的用户坐标系统被封装在Graphics2D类的对象中,所以Graphics2D被称之为图形环境。它提供了丰富的绘图方法,包括绘制直线、矩形、圆、多边形等。 下边我们先介绍与绘制图形相关的类,再介绍绘制图形的方法和步骤。 11.1.1 绘制图形的类 与绘制图形有关的类的层次结构如下: |- | |- |-

Graphics 类是所有图形类的抽象基类,它允许应用程序可以在组件(已经在各种设备上实现)上进行图形图像的绘制。Graphics 对象封装了 Java 支持的基本绘制操作所需的状态信息,其中包括组件对象、绘制和剪贴坐标的转换原点、当前剪贴区、当前颜色、当前字体、当前的逻辑像素操作方法(XOR 或 Paint)等等。 Graphics2D类是从早期版本()中定义设备环境的Graphics类派生而来的,它提供了对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。它是用于在Java(tm)平台上绘制二维图形、文本和图像的基础类。 GraphicsDevice类定义了屏幕和打印机这类可用于绘制图形的设备。 GraphicsEnvironment类定义了所有可使用的图形设备和字体设备。 GraphicsConfiguration类定义了屏幕或打印机这类设备的特征。在图形绘制过程中,每个 Graphics2D 对象都与一个定义了绘制位置的目标相关联。GraphicsConfiguration 对象定义绘制目标的特征(如像素格式和分辨率等)。在Graphics2D对象的整个生命周期中都使用相同的绘制标准。 Griphics和Graphics2D类都是抽象类,我们无法直接创建这两个类的对象,表示图形环境的对象完全取决于与之相关的组件,因此获得图形环境总是与特定的组件相关。 创建Graphics2D 对象时,GraphicsConfiguration 将为Graphics2D 的目标(Component 或 Image)指定默认转换,所有 Graphics2D 方法都采用用户空间坐标。 一般来说,图形的绘制过程分为四个阶段:确定绘制内容、在指定的区域绘制、确定绘制的颜色、将颜色应用于绘图面。有三种绘制操作:几何图形、文本和图像。 绘制过程中,Graphics2D对象的6个重要属性如下: Paint 颜料属性决定线条绘制的颜色。它也定义填充图形的颜色和模式,系统默认的颜料属性是组件的颜色。 Font 字体属性定义了绘制文本时所使用的字体,系统默认的字体是组件的字体设置。 Stroke 画笔属性确定线型,如实线、虚线或点划线等。该属性也决定线段端点的形状。系统默认的画笔是方形画笔,绘制线宽为1的实线,线的末端为方形,斜角线段接口为45度斜面。 Transform 转换属性定义渲染过程中应用的转换方法。可以使绘制的图形平移、旋转和

认识画图软件教学设计

《认识画图软件》教学设计 设计人:大方县兴隆乡兴隆小学郝家彬 教学内容: 贵州版信息技术教材四年级上册P1~P4。 教材分析: 本课是教材关于画图知识的初步认识,贯穿着以后整个画图的知识教学,是学生能够顺利、快捷操作使用画图的基础。本课主要介绍了启动“画图”程序的方法和了解“画图”窗口的组成及初步认识绘图工具箱、颜料盒。使他们明白用计算机画图,既不用纸和笔,也不用任何颜料。从而激发学生利用计算机画图的兴趣,调动学生的积极性。 学情分析: 由于本地未开设信息技术课程,因此这是学生第一次接触电脑绘图的学习,大部分的学生只有纸上绘图的操作基础。由于大部分学生可能没有接触过电脑,所以在教学中学生在操作方面会受到一定的影响。 教学目标: (一)知识与技能 1、认识电脑系统中自带的画图软件。 2、掌握画图软件的启动与退出的方法,并熟悉画图软件窗口的组成。 3、尝试自选画图工具完成一幅简单的图画。 (二)过程与方法:通过讲解与演示等方法,进一步让学生熟悉画图软件窗口的组成及画图工具,为以后能熟练运用画图软件画图打下基础。 (三)情感态度与价值观:通过画图软件的学习,激发学生对学习电脑的兴趣,感受成功,体验学习计算机,用计算机画画的快乐! 重难点分析: 重点是认识并掌握画图窗口的各个组成部分。 难点是画图软件工具的认识。 教学过程: 一、创设情境,激趣导入。 1.谈话 同学们,平时画画用的是什么工具呢?(学生自由说)今天老师想要送件礼物给大家,猜猜会是什么呢?(学生一脸迟疑)期待吗?好,请大家看向大屏幕,马上送给你们的礼物就出来了。 2.演示 教师用画图软件画出机器猫图,画完后问同学们,这是什么?(学生自由说)

相关文档
最新文档