matlab中图像增强技术的实现学位论文Word格式文档下载.docx

上传人:b****6 文档编号:21784074 上传时间:2023-02-01 格式:DOCX 页数:34 大小:1.25MB
下载 相关 举报
matlab中图像增强技术的实现学位论文Word格式文档下载.docx_第1页
第1页 / 共34页
matlab中图像增强技术的实现学位论文Word格式文档下载.docx_第2页
第2页 / 共34页
matlab中图像增强技术的实现学位论文Word格式文档下载.docx_第3页
第3页 / 共34页
matlab中图像增强技术的实现学位论文Word格式文档下载.docx_第4页
第4页 / 共34页
matlab中图像增强技术的实现学位论文Word格式文档下载.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

matlab中图像增强技术的实现学位论文Word格式文档下载.docx

《matlab中图像增强技术的实现学位论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab中图像增强技术的实现学位论文Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。

matlab中图像增强技术的实现学位论文Word格式文档下载.docx

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;

学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;

学校可以采用影印、缩印、数字化或其它复制手段保存论文;

在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

目录

摘要I

AbstractII

目录III

第一章绪论4

第二章Matlab的简介6

2.1MATLAB主要功能6

2.2MATLAB优势7

2.2.1工作平台和编程环境7

2.2.2实用的程序语言7

2.2.3计算机数据处理能力7

2.2.4图形处理功能8

2.2.5应用的模块集合工具箱8

2.3MATLAB函数与数据类型8

2.3.1整型9

2.3.2浮点数9

2.3.3字符9

2.3.4常用的字符操作函数9

2.4MATLAB常用工具箱10

2.5小结10

第三章Matlab图像增强12

3.1图像增强技术概述12

3.1.1空域滤波增强12

3.1.2平滑滤波器12

3.1.3中值滤波器13

3.1.4锐化滤波器14

3.1.5低通滤波器14

3.1.6高通滤波器15

3.1.7同态滤波器15

3.2MATLAB图像增强函数15

3.3MATLAB应用于数字图像增强和滤波16

3.3.1目的16

3.3.2内容17

3.4实验22

总结39

致谢40

参考文献41

第一章绪论

图像增强技术的发展大致经历了初创期、发展期、普及期和应用期4个阶段。

初创期开始于20世纪60年代,当时的图像采用像素型光栅进行扫描显示,大多采用中、大型机对其进行处理。

20世纪70年代进入了发展期,开始大量采用中、大型机进行处理,图像处理也逐渐改用光栅扫描显示方式,特别是出现了CT和卫星遥感图像,对图像增强处理提出了一个更高的要求。

到了20世纪80年代,图像增强技术进入普及期,此时的计算机已经能够承担起图形图像处理的任务。

20世纪90年代进入了应用期,人们运用数字图像增强技术处理和分析遥感图像,以有效地进行资源和矿藏的勘探、调查、农业和城市的土地规划、作物估产、气象预报、灾害及军事目标的监视等。

在生物医学工程方面,运用图像增强技术对X射线图像、超声图像和生物切片显微图像等进行处理,提高图像的清晰度和分辨率。

在工业和工程方面,主要应用于无损探伤、质量检测和过程自动控制等方面。

在公共安全方面,人像、指纹及其他痕迹的处理和识别,以及交通监控、事故分析等都在不同程度上使用了图像增强技术。

图像增强是图像处理的重要组成部分,传统的图像增强方法对于改善图像质量发挥了极其重要的作用。

随着对图像技术研究的不断深入和发展,新的图像增强方法不断出现。

例如一些学者将模糊映射理论引入到图像增强算法中,提出了包括模糊松弛、模糊熵、模糊类等增强算法来解决增强算法中映射函数选择问题,并且随着交互式图像增强技术的应用,可以主观控制图像增强效果。

同时利用直方图均衡技术的图像增强也有许多新的进展:

例如提出了多层直方图结合亮度保持的均衡算法、动态分层直方图均衡算法。

这些算法通过分割图像,然后在子层图像内做均衡处理,较好地解决了直方图均衡过程中的对比度过拉伸问题,并且可以控制子层灰度映射范围,增强效果较好。

Matlab名字由MATrix和LABoratory两词的前三个字母组合而成。

那是20世纪七十年代后期的事:

时任美国新墨西哥大学计算机科学系主任的CleveMoler教授出于减轻学生编程负担的目的,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此为用FORTRAN编写的初期状态的MATLAB。

经校园广泛使用,由Little、Moler、SteveBangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。

从这时起,MATLAB的内核采用C语言编写,而且除了原有的数值计算能力外,还添加了数据图视功能。

到九十年代初期,在国际上30几个数字类科技应用软件中,Matlab在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。

Mathcad因其提供计算、图形、文字处理的统一环境而深受学生欢迎。

4.x版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化:

(1)推出了SIMULINK,一个交互式操作的动态系统建模、仿真、分析集成环境。

(2)推出了符号计算工具包。

一个以Maple为“引擎”的SymbolicMathToolbox1.0。

此举结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。

(3)构作了Notebook。

MathWorks公司瞄准应用范围最广的Word,运用DDE和OLE,实现了MATLAB与Word的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。

从1997年春的5.0版起,后历经5.1、5.2、5.3、6.0、6.1等多个版本的不断改进,MATLAB“面向对象”的特点愈加突出,数据类型愈加丰富,操作界面愈加友善。

2002年初夏所推6.5版的最大特点是:

该版本采用了JIT加速器,从而使MATLAB朝运算速度与C程序相比肩的方向前进了一大步。

第二章Matlab的简介

MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;

同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;

也可绘制二维、三维图形,输出结果可视化。

目前,已成为工程领域中较常用的软件工具包之一。

2.1Matlab主要功能

它是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

使用它,可以较使用传统的编程语言,如C、C++等,更快的解决技术计算问题。

高级语言可用于技术计算;

开发环境可对代码、文件和数据进行管理;

数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等;

二维和三维图形函数可用于可视化数据;

各种工具可用于构建自定义的图形用户界面;

各种函数可将基于matlab的算法与外部应用程序和语言;

其应用范围非常广,包括信号和图像处理、通迅、控制系统设计、测试和测量等众多应用领域。

2.2Matlab优势

2.2.1工作平台和编程环境

MATLAB由一系列工具组成。

这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。

而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

2.2.2程序语言

Matlab一个高级的矩阵语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。

用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单。

使之更利于非计算机专业的科技人员使用。

而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

2.2.3科学计算机数据处理能力

MATLAB是一个包含大量算法的集合。

其可以快捷的实现用户所需的各种计算功能。

函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和差错处理。

在通常情况下,可以用它来代替底层编程语言,如C和C++。

在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。

MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。

函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

2.2.4图形处理功能

图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。

高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。

可用于科学计算和工程绘图。

新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。

同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。

另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

2.2.5模块集合工具箱

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。

一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。

目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

2.3Matlab函数与数据类型

它提供了以下类型的函数,用于执行数学运算和数据分析:

·

矩阵操作和线性代数

多项式和内插

傅立叶分析和筛选

数据分析和统计

优化和数值积分

Matlab可对包括双精度浮点数、单精度浮点数和整型在内的多种数据类型进行运算。

附加的工具箱提供了专门的数学计算函数,用于包括信号处理、优化、统计、符号数学、偏微分方程求解以及曲线拟合在内的各个领域。

Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。

2.3.1整型

通过intmax(class)和intmin(class)函数返回该类整型的最大值和最小值,例如intmax(‘int8’)=127

2.3.2浮点数

REALMAX('

double'

)和REALMAX('

single'

)分别返回双精度浮点和单精度浮点的最大值,REALMIN('

)和REALMIN('

)分别返回双精度浮点和单精度浮点的最小值。

2.3.3字符

Matlab中的输入字符需使用单引号。

字符串存储为字符数组,每个元素占用一个ASCII字符。

如日期字符:

DateString=’9/16/2011’实际上是一个1行9列向量。

构成矩阵或向量的行字符串长度必须相同。

可以使用char函数构建字符数组,使用strcat函数连接字符。

2.3.4常用的字符操作函数

findstr(s1,s2)搜索字符串

ischar(s)判断是否字符串

strcmp(s1,s2)比较字符串是否相同

strncmp(s1,s2,n)比较字符串中的前n个字符是否相同

strrep(s1,s2,s3)将s1中的字符s2替换为s3

2.4Matlab常用工具箱

MATLAB包括拥有数百个内部函数的主包和三十几种工具包。

功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。

学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件。

MatlabMainToolbox——matlab主工具箱

SystemIdentificationToolbox——系统辨识工具箱

ImageProcessingToolbox——图象处理工具箱

LMIControlToolbox——线性矩阵不等式工具箱

OptimizationToolbox——优化工具箱

SimulinkToolbox——动态仿真工具箱

WaveleToolbox——小波工具箱

它附加的工具箱,即单独提供的专用matlab函数集,扩展了matlab环境,以解决这些应用领域内特定类型的问题。

2.5小结

对于MATLAB,由于本科阶段我们大量的运用它来进行编程学习,对于以上所叙,均比较了解,但是对于其图像处理功能还是不十分熟悉,因此以下将着重从这方面介绍:

图像处理工具包是由一系列支持图像处理操作的函数组成的。

所支持的图像处理操作有:

图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT变换等)、图像分析和统计、二值图像操作等。

下面就MATLAB在图像处理中各方面的应用分别进行介绍。

1)图像文件格式的读写和显示。

MATLAB提供了图像文件读入函数imread(),用来读取如:

bmp、tif、jpg、pcx、tiff、gpeg、hdf、xwd、png等各种格式的图像文件;

图像写出函数imwrite(),还有图像显示函数image()、imshow()等等。

2)图像处理的基本运算。

MATLAB提供了图像的和、差等线性运算,以及卷积、相关、滤波等非线性运算。

例如,conv2(I,J)实现了I,J两幅图像的卷积。

3)图像变换。

MATLAB提供了一维和二维离散傅立叶变换(DFT)、快速傅立叶变换(FFT)、离散余弦变换(DCT)及其反变换函数,以及连续小波变换(CWT)、离散小波变换(DWT)及其反变换。

4)图像的分析和增强。

针对图像的统计计算,MATLAB提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。

以上所提到的MATLAB在图像中的应用都是由相应的MATLAB函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。

具体的用法可参考MATLAB丰富的帮助文档。

第三章Matlab图像增强

图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。

图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理和彩色技术等。

3.1图像增强技术概述

图像增强技术主要包括:

直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。

从纯技术上讲主要有两类:

频域处理法和空域处理法。

频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;

空域处理法:

是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

3.1.1空域滤波增强

使用空域模板进行的图像处理被称为空域滤波,模板本身被称为空域滤波器。

空域滤波器包括:

线性滤波器和非线性滤波器。

空域滤波处理效果来分类,可以分为平滑滤波器,和锐化滤波器,平滑的目的在于消除混杂在图像中的干扰因素,改善图像质量,强化图像表现特征。

锐化的目的在于增强图像边缘,以及对图像进行识别和处理。

3.1.2平滑滤波器

用于模糊处理和减小噪声。

平滑线性空间滤波器的输出(响应)是包含在滤波掩模邻域内像素的简单平均值。

因此这些滤波器也被称为均值滤波器。

平滑滤波器的概念很简单:

它是用滤波掩模确定的领域内像素的平均值去代替图像每个像素点的值。

这种处理减少了图像灰度的尖锐化。

每个掩模前边的乘数等于它的系数值的和,以计算平均值。

我们经常用这些极端类型的模糊处理来去除图像中的一些小物体。

例如:

在matlab中利用线性平滑滤波器处理一副图像I=imread('

eight.tif'

);

J=imnoise(I,'

salt&

pepper'

0.02);

>

%添加椒盐噪声

subplot(221)

imshow(I)

title('

原图像'

subplot(222)

imshow(J)

添加椒盐噪声图像'

K1=filter2(fspecial('

average'

3),J)/255;

%应用3*3邻域窗口法

subplot(223),imshow(K1)

K2=filter2(fspecial('

7),J)/255;

%应用7*7邻域窗口法

subplot(224),imshow(K2)

3.1.3中值滤波器

其原理是把数字图像或数字序列中某一点的值用该点的一个邻域中各点值的中值交换。

中值滤波器的窗口可以取方形,圆形,十字形等。

滤波函数图像处理1

smoothingMedianFilterMain.m

clc;

clear;

fid=fopen('

lenai.raw'

temp=fread(fid,[256,256]);

Le

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

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1