基于Matlab的数字图像处理系统设计要点.pdf
《基于Matlab的数字图像处理系统设计要点.pdf》由会员分享,可在线阅读,更多相关《基于Matlab的数字图像处理系统设计要点.pdf(29页珍藏版)》请在三一文库上搜索。
1、论文(设计)题目: 基于 MATLAB 的数字图像处理系统设计 姓名宋立涛 学号 学院信息学院 专业电子与通信工程 年级级 年月 日 基于 MATLAB 的数字图像处理系统设计 摘 要 MATLAB 作为国内外流行的数字计算软件,具有强大的图像处 理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理 想开发工具。 笔者阐述了一种基于MATLAB 的数字图像处理系统设计,其中 包括图像处理领域的大部分算法, 运用 MATLAB 的图像处理工具箱 对算法进行了实现, 论述了利用系统进行图像显示、图形表换及图像 处理过程,系统支持索引图像、灰度图像、二值图像、RGB 图像等 图像类型;支持
2、BMP、GIF、JPEG、TIFF、PNG 等图像文件格式的 读,写和显示。 上述功能均是在MATLAB 语言的基础上,编写代码实现的。这 些功能在日常生活中有很强的应用价值,对于运算量大、过程复杂、 速度慢的功能, 利用 MATLAB 可以既能快速得到数据结果, 又能得 到比较直观的图示。 关键词: MATLAB 数字图像处理图像处理工具箱图像变换 第一章绪 论 1.1 研究目的及意义 图像信息是人类获得外界信息的主要来源,近代科学研究、军事技术、工农 业生产、医学、气象及天文学等领域中,人们越来越多地利用图像信息来认识和 判断事物,解决实际问题,由此可见图像信息的重要性,数字图像处理技术将
3、会 伴随着未来信息领域技术的发展,更加深入到生产和科研活动中,成为人类生产 和生活中必不可少的内容。 MATLAB 软件不断吸收各学科领域权威人士所编写的实用程序,经过多年 的逐步发展与不断完善, 是近几年来在国内外广泛流行的一种可视化科学计算软 件。MATLAB 语言是一种面向科学与工程计算的高级语言,允许用数学形式的 语言来编写程序,比Basic、Fortan、C 等高级语言更加接近我们书写计算公式 的思维方式,用MATLAB 编写程序犹如在演算纸上排列出公式与求解问题一 样。它编写简单、编程效率高并且通俗易懂。 1.2 国内外研究现状 1.2.1 国内研究现状 国内在此领域的研究中具有代
4、表性的是清华大学研制的数字图像处理实验 开发系统TDB-IDK 和南京东大互联技术有限公司研制的数字图像采集传输与 处理实验软件。 TDB-IDK 系列产品是一款基于TMS320C6000 DSP 数字信号处理器的高 级视频和图像系统,也是一套DSP 的完整的视频、图像解决方案,该系统适合 院校、研究所和企业进行视频、图像方面的实验与开发。该软件能够完成图像采 集输入程序、图像输出程序、 图像基本算法程序。 可实现对图像信号的实时分析, 图像数据相对DSP 独立方便开发人员对图像进行处理,该产品融合DSP 和 FPGA/CPLD 两个高端技术,可以根据用户的具体需求合理改动,可以分析黑白 和彩
5、色信号,可以完成图形显示功能。 南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件可实 现数字图像的采集、传输与处理。可利用软件及图像采集与传输设备,采集图像 并实现点对点的数字图像传输,可以观察理解多种图像处理技术的效果和差别, 其中包括图像的灰度直方图及其变换、锐化、平滑、滤波、伪彩、轮廓提取与增 强、图像格式转换及其文件结构。 1.2.2 国外研究现状 目前大量的图像处理软件如PHOTOSHOP,PAINTSHOP 等都是基于广告策 划和图像修饰处理而设计的应用软件,针对图像处理技术基本知识的理解与掌握 以及相关处理方法研究的软件甚少,不适合学习研究使用。 随着计算机辅助设计
6、的日益提高和成熟, 用于学习与研究的软件也越来越多。如美国 Southern Illinois University 开发的 CVIPtools 计算机视觉与图像处理实验软件就是专门针对图像 处理技术的实验软件,为初学者提供了一个消化理论知识的实验环境。 CVIPtools 计算机视觉与图像处理实验软件,主要用于计算机数字图像分析 和处理,主要宗旨是让图像处理的初学者、学生、老师和其它研究人员探索计算 机数字图像处理的巨大力量。 最新 Windows 版本的 CVIPtools 提供使用者四种层 次应用方式:算法代码层,公共对象模块(组件)界面层,cvipimage 层和图形 用户界面 (GU
7、I)。最下面的阶层算法代码层主要是基于以前的版本CVIPtools , 包括所有的图像、数据处理程序和功能,是用标准C 语言写的。最上的阶层为 CVIPtools GUI,可以让生手实验一些图像处理的工具,而不需具备程序设计的 能力。目前国外很多大学、研究院在数字图像处理的实验研究中都应用此软件。 1.3 数字图像处理研究的内容 一般的数字图像处理的主要目的集中在图像的存储和传输,提高图像的质 量,改善图像的视觉效果,图像理解以及模式识别等方面。新世纪以来,信息技 术取得了长足的发展和进步, 小波理论、 神经元理论、 数字形态学以及模糊理论 都与数字处理技术相结合, 产生了新的图像处理方法和理
8、论。数字图像处理技术 主要包括: 1、图像增强 目前图像增强技术根据其处理的空间不同,可分为空域法和频域法两大类, 前者根据在图像所在的像素空间进行处理,后者是通过对图像进行傅里叶变换后 在频域上间接进行的。 2、图像恢复 图像恢复,也称为图像还原, 其目的是尽可能地减少或者去除数字图像在获 取过程中的降质, 恢复被退化图像的本来面貌, 从而改善图像质量, 以提高视觉 观察效果。 3、图像变换 图像变换就是把图像从空域转换到频域,对原图像函数寻找一个合适变换的 数学问题, 众多图像变换方法不断出现,从傅里叶变换发展到余弦变换,再到现 在非常流行的小波变换,图像变换分为可分离变换和统计变换两大类
9、。 4、图像压缩 数字图像需要很大的存储空间, 因此无论传输或存储都需要对图像数据进行 有效的压缩。其目的是生成占用较少空间而获得与原图十分接近的图像 5、图像分割 图像分割的目的是把一个图像分解成它的构成成分,图像分割是一个十分困 难的过程。图像分割的方法主要有2 类:一种是假设图像各成分的强度值是均 匀的,并利用这个特性, 这种方法的技术有直方图分割,另外一种方法是寻找图 像成分之间的边界, 利用的是图像的不均匀性, 基于这种方法的的技术有梯度法 分割。 6、边缘检测 边缘检测技术用于检测图像中的线状局部结构。大多数的检测技术应用某种 形式的梯度算子。 边缘检测广泛应用于图像分割、图像分类
10、、 图像配准和模式识 别,在大多数的实际应用中,边缘检测是当做一个局部滤波运算完成的。 第二章数字图像处理技术软件MATLAB 简介 2.1 MATLAB 软件简介 MATLAB 是 Math works 公司于推出的一套高性能的数值计算和可视化软 件,其全称是Matrix Laboratory,亦即矩阵实验室,经过多年的逐步发展与不断 完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来 在国内外广泛流行的一种可视化科学计算软件。它集数值分析、 矩阵运算、 信号 处理和图形显示于一体, 构成了一个方便的、 界面友好的用户环境, 而且还具有 可扩展性特征, 具有信号处理、 控
11、制系统、神经网络、 图像处理、小波分析等30 多个具有专门功能的工具箱, 工具箱内的函数源程序也是开放性的,多为 M 文 件,用户可以查看这些文件的代码并进行更改,MATLAB 支持用户对其函数进 行二次开发,用户的应用程序也可以作为新的函数添加到相应的工具箱中。 MATLAB 中的数字图像是以矩阵形式表示的,这意味着MATLAB 强大的矩阵 运算能力用于图像处理非常有利。矩阵运算的语法对MATLAB 中的数字图像同 样适用。 2.2.MATLAB 的主要优缺点 2.2.1 MATLAB 的主要优点 1、界面友好,编程效率高 MATLAB 是一种以矩阵为基本变量单元的可视化程序设计语言,它的语
12、法 结构简单, 数据类型单一, 命令表达方式接近于常用的数学公式。不仅能免去大 量的经常反复的基本数学运算,而且它的编译和执行速度都远远超过了采用C 和 Fortran 语言设计的程序。 2、功能强大,可扩展性强 MATLAB 语言不但提供了科学计算、数据分析与可视化、系统仿真等强大 的功能,而且具有可扩展性特征,具有自动控制、信号处理、图像处理、模糊逻 辑、神经网络、小波分析等30 多个具有专门功能的MATLAB 工具箱。工具 箱中的函数可以互相调用,也可以由用户自己更改 3、易学易用性、高效性 MATLAB 不需要用户有高深的数学知识和程序设计能力,不需要用户深刻 了解算法及编程技巧。 M
13、ATLAB 语句功能十分强大,一条语句可完成十分复杂 的任务,大大加快了工程技术人员从事软件开发的效率。 2. 2.2MATLAB 的缺点 1、MATLAB 是一种解释性语言,对于实时性要求较高的领域,如自动控 制、信号处理等,其实时效率是较差的。 2、MATLAB 程序不能脱离其环境运行,因此它不能被用于开发商用软件。 3、程序可以被直接看到程序的源代码,因而不利于算法和数据的保密。 2.3MATLAB 图像处理工具箱简介 MATLAB 的图像处理工具箱功能十分强大,支持的图像文件格式丰富 ,如 *.BMP 、*.JPEG、*.GIF 、*.TIFF 、*.PCX、*.HDF 、*.XWD
14、、*.PNG 等。MATLAB 图像处理工具箱支持四种图像类型,分别为真彩色图像、 索引色图像、灰度图像、 二值图像,由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转 换函数相互转换。 MATLAB 提供了 15 类图像处理函数,涵盖了包括近期研究成果在内的几 乎所有的图像处理方法。这些函数按其功能可分为:图像显示;图像文件I/O; 几何操作;像素和统计处理;图像分析;图像增强;线性滤波;线性二元滤波设 计;图像变换;邻域和块处理;二进制图像操作;区域处理;颜色映像处理;颜 色空间变换;图像类型和类型转换。 利用这些图像处理工具箱 ,并结合其强大的数据处理能力,我们可把精力集中 在
15、算法研究上 ,大大提高了工作效率。而且,在测试这些算法时既可方便地得到统 计数据 ,同时又可得到直观图示。 2.4MATLAB 支持的图像类型及其转换分析 1、索引图像 索引图像包括一个数据矩阵A,一个颜色映射矩阵B。其中 B 是一个包含 3 列和若干行的数据阵列。 B 矩阵的每一行分别表示红色、绿色和蓝色的颜色 值。在 MATLAB 中,索引图像是从像素值到颜色映射表值的直接映射。像素 颜色由数据矩阵A 作为索引指向矩阵B 进行索引。 2、灰度图像 MATLAB 中, 一幅灰度图像是一个数据矩阵I,其中 I 的数据均代表了在一 定范围内的颜色灰度值。MATLAB 把灰度图像存储为一个数据矩阵
16、,该数据矩 阵中的元素分别代表了图像中的像素。矩阵中的元素可以是双精度的浮点数类 型、8 位或 16 位无符号的整数类型。 大多数情况下, 灰度图像很少和颜色映射 表一起保存。但是在显示灰度图像时,MATLAB 仍然在后台使用系统预定义的 默认的灰度颜色映射表。 3、二值图像 与灰度图像相同,二值图像只需要一个数据矩阵, 每个像素只取两个灰度值。 二值图像可以采用uint8 和 double 类型存储,工具箱中以二值图像作为返回结 果的函数都使用uint8 类型。 4、RGB 图像 RGB 图像,即真彩色图像, 在 MATLAB 中存储为nm3 的数据矩阵。 数组中的元素定义了图像中每一个像素
17、的红、绿、蓝颜色值。需要指出的是, RGB 图像不使用 Windows 颜色映射表。 像素的颜色保存在像素位置上的红、绿、 蓝的强度值的组合来确定。 图像文件格式把RGB 图像存储为24 位的图像,红、 绿、蓝分别占8 位。这样可以有约1000万种颜色 5、图像序列 MATLAB 的图像处理工具箱中还支持将多帧图像连接成图像序列。图像序 列是一个四维的数组, 图像帧的序号在图像的长、 宽、颜色深度之后构成第四维。 在 MATLAB 中,各种图像类型之间的转换关系如图2.1 所示: 图 2.1 图像类型间的转换 第三章:图像处理系统的详细设计 用 MATLAB 对图像进行处理是当前科技领域的一个
18、重要的课题,它采用的是 用一组有序的灰度或彩色数据元素构成图像,数组的每一个元素对应于图像的一 个像素值。这样 MATLAB 就可以利用其强大的矩阵计算功能实现对图像的数字处 理。本案所设计的系统主要是利用 MATLAB 所提供的图形用户界面 (GUI) ,实现 一个可视的面向对象的操作界面。 3.1 设计原则 由于要求不同, 设计出来的界面也就千差万别。但是,自从人们开始设计图 形界面以来, 界面设计的评判标准却没有太大的变化。简单说来, 一个好的界面 应遵从以下三个原则:简单性、一致性、习常性。 1、简单性 设计界面时,应力求简洁、直接、清晰地体现出界面的功能和特征。那些可 有可无的功能应
19、尽量删去,以保持界面的清洁。 2、一致性 所谓一致性包含两层意义: 一是自己开发的界面风格要尽量一致;二是新设 计的界面要与其他已有的界面风格不要截然相左。这是因为用户在初次使用新界 面时,总是习惯于凭借经验进行试探。 3、习常性 设计界面时, 应尽量使用人们所熟悉的标志和符号。用户可能并不了解界面 的具体含义及操作方法,但他也可以根据熟悉标志做出正确猜测,自学入门。 4、其他考虑因素 除了以上对界面的静态要求外, 还应注意界面的动态性能。 如对用户操作的 响应要迅速、连续。 3.2 设计的一般步骤 1、分析界面所要求实现的主要功能,明确设计任务。 2、在稿纸上绘出界面草图,并对其进行审查。
20、3、按照构思的草图,上机制作静态界面,并进行检查。 4、编写界面动态功能的程序,对其功能进行逐项检查。 3.3 系统功能的模块设计 根据当前图像处理系统的总体设计样式和要求,该系统主要包括文件、 工具、 编辑、图像、调色、图像类型转换、颜色空间转换、正交变换等模块。其模块图 如 3.1 所示: 图 3.1 系统功能框图 3.4 窗口界面的实现 该系统界面的设计主要是利用MATLAB 所提供的 GU(IGraphUser Interface) 向导设计控件而完成的, 该向导可以实现多种控件的设计,给用户提供了一种友 好的交互方式, 同时也给操作带来很多方便。 图形用户界面 GUI是包含图形对象
21、( 如图形窗口、菜单、控件、文本 ) 的用户界面,用户以某种方式选择或者击活这 些对象会发生变化或引起动作。 1、启动 GUI 的方法 启动图形用户界面的方法有很多种,例如可以利用工具栏上的命令按钮,也 可以采用菜单和命令的方式。 在本人设计的案例中采用的是命令方式:在命令窗 口直接输入guide 命令,弹出的窗口如图3.2 所示: 图 3.2 GUI 启动界面 在弹出的 guide quick ate new gui 选项卡里面的 start 窗口中选择creBlank GUI 选项,这样就可以进入图形用户界面来设计我们的系统静态界面。 图 3.3 Guide 界面 上图就是Guide 提供
22、的图形界面设计工具集,在此界面下就可以利用控件 组件、文本菜单、排列工具等对系统的界面进行设计。 该系统的静态界面如图3.4 所示: 图 3.4Guide 设计界面 当静态界面设计完成以后,对该界面进行保存,此时Guidie 将自描述,动 生成两个发布文件,分别是.fig 文件和 .m 文件。 Fig 文件:该文件包括图形窗 口及其所有后裔的完全包括:该文件包括GUI 设计、控制函数以及为子函数的 用户控 u Edit 对系统的菜所有对象的属性值。 Fig 文件是一个二进制文件, 调用 hgsave 命令或界面设计编辑器的file 菜单 save 选项保存图形窗口时将产生该 文件。Fig 文件
23、最有用的地方之一就是对象句柄的保存和引用,可以使用open、 openfig 和 hgload 命令打开一个后缀为 .fig 的文件。 M 文件件回调函数,主要 用于控制GUI 展开时的各种特征。这个M 文件可以分为GUI 初始化和回调 函数两个部分,用户控件的回调函数根据用户与GUI 的具体交互方式分别调 用。 设计好系统的界面以后,接下来就要利用Men 单进行设计,创建菜单的第 一步就是利用GUI 的工具栏上的Menu Edit 按钮启动相应的窗口。然后使用 New Menu 工具栏来创建菜单, 然后可以指定菜单的属性。 例如可以设置菜单的 标签、分隔符、选种模式以及回调函数字符串。第二步
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 数字图像 处理 系统 设计 要点
链接地址:https://www.31doc.com/p-5207613.html