首页 电子信息工程专业毕业论文--MATLAB中图像增强技术的实现

电子信息工程专业毕业论文--MATLAB中图像增强技术的实现

举报
开通vip

电子信息工程专业毕业论文--MATLAB中图像增强技术的实现电子信息工程专业毕业论文--MATLAB中图像增强技术的实现 摘 要 图像增强是指依据图像所存在的问题,按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些冗余信息的处理方法。其主要目的是使得处理后的图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。 图像增强单纯从技术上可分成两大类:一类是频域处理法;一类是空域处理法。频域处理法的采用的是卷积定理,它利用修改图像傅立叶变换的方法实现对图像的增强处理;空域处...

电子信息工程专业毕业论文--MATLAB中图像增强技术的实现
电子信息工程专业 毕业论文 毕业论文答辩ppt模板下载毕业论文ppt模板下载毕业论文ppt下载关于药学专业毕业论文临床本科毕业论文下载 --MATLAB中图像增强技术的实现 摘 要 图像增强是指依据图像所存在的问题,按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些冗余信息的处理方法。其主要目的是使得处理后的图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。 图像增强单纯从技术上可分成两大类:一类是频域处理法;一类是空域处理法。频域处理法的采用的是卷积定理,它利用修改图像傅立叶变换的方法实现对图像的增强处理;空域处理法则是对图像中的像素进行直接的处理,大多数是以灰度映射变换为基础的,所用的映射变换取决于增强的目的。 在本 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 中,利用Matlab提供的若干函数,用于图像类型的转换。Matlab支持五种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像阵列。在Matlab中要查询一个图像文件的信息,只要用imfinfo指令加上文件及其完整路径名即可。Matlab提供了两个重要的用于图像文件的读写的指令,分别是从图像文件中读取数据的imread,以及将数据写入到图像文件中的imwrite。至于多个图像的显示,则可分为两个方面:在不同的图形窗口显示不同的图像,可以用figure指令来实现;在同一个图形窗口显示多图,可以用subplot来实现。 关键字:matlab图像增强 灰度 滤波器 I Abstract The image intensification is refers specificly according to needs to highlight in an image certain informations, simultaneously, weakens the information processing method which or removes certain does not need.After its main purpose is the processing image is more effective than to certain specific applications the original image.The image intensification technology mainly contains histogram revision processing, image smooth processing, image intensification processing and the colored processing technology and so on. The image intensification technology basically separable becomes two big kinds: One kind is the frequency range processing law, one kind is the air zone processing law.The frequency range processing method foundation convolutes the theorem.It uses the revision image Fourier transformation the method realization to image enhancement processing. Image of point operations, point operations will enter the image map for the output image, output image each pixel gray value only by the corresponding input pixel value decision. Nonlinear point operations correspond to non-linear mapping function, mapping, including the square of the typical functions, logarithmic functions, the interception function (window function), field-valued functions, such as multi-value quantization function. Threshold processing is the most common point of a nonlinear operator, its function is to select a threshold value, the image binarization, and then use the resulting binary image for image segmentation and edge tracking processing. Keyword: the image intensification of matlab 、gray、filter 、 II 目 录 摘 要 ....................................................................................................................... I ABSTRACT ................................................................................................................. II 目 录 ..................................................................................................................... III 第一章 绪论 ............................................................................................................ 5 第二章 MATLAB的简介 ....................................................................................... 6 2.1 MATLAB主要功能 ....................................................................................... 6 2.2 MATLAB优势 .............................................................................................. 7 2.2.1 工作平台和编程环境 ........................................................................... 7 2.2.2 实用的程序语言 .................................................................................. 7 2.2.3 计算机数据处理能力 ........................................................................... 7 2.2.4 图形处理功能 ...................................................................................... 8 2.2.5 应用的模块集合工具箱 ....................................................................... 8 2.3 MATLAB函数与数据类型 ............................................................................ 8 2.3.1 整型 ...................................................................................................... 9 2.3.2 浮点数 .................................................................................................. 9 2.3.3 字符 ...................................................................................................... 9 2.3.4 常用的字符操作函数 ........................................................................... 9 2.4 MATLAB常用工具箱 ................................................................................... 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 III 3.2 MATLAB图像增强函数 ............................................................................. 15 3.3 MATLAB应用于数字图像增强和滤波 ...................................................... 16 3.3.1 目的 .................................................................................................... 16 3.3.2 内容 .....................................................................................................17 3.4 实验 .......................................................................................................... 22 总结 .................................................................................................................. 39 致谢 .................................................................................................................. 40 参考文献 .......................................................................................................... 41 IV 第二章 Matlab的简介 第一章 绪论 图像增强技术的发展大致经历了初创期、发展期、普及期和应用期4个阶段。初创期开始于20世纪60年代,当时的图像采用像素型光栅进行扫描显示,大多采用中、大型机对其进行处理。20世纪70年代进入了发展期,开始大量采用中、大型机进行处理,图像处理也逐渐改用光栅扫描显示方式,特别是出现了CT和卫星遥感图像,对图像增强处理提出了一个更高的要求。到了20世纪80年代,图像增强技术进入普及期,此时的计算机已经能够承担起图形图像处理的任务。20世纪90年代进入了应用期,人们运用数字图像增强技术处理和分析遥感图像,以有效地进行资源和矿藏的勘探、调查、农业和城市的土地规划、作物估产、气象预报、灾害及军事目标的监视等。在生物医学工程方面,运用图像增强技术对X射线图像、超声图像和生物切片显微图像等进行处理,提高图像的清晰度和分辨率。在工业和工程方面,主要应用于无损探伤、质量检测和过程自动控制等方面。在公共安全方面,人像、指纹及其他痕迹的处理和识别,以及交通监控、事故分析等都在不同程度上使用了图像增强技术。图像增强是图像处理的重要组成部分,传统的图像增强方法对于改善图像质量发挥了极其重要的作用。随着对图像技术研究的不断深入和发展,新的图像增强方法不断出现。例如一些学者将模糊映射理论引入到图像增强算法中,提出了包括模糊松弛、模糊熵、模糊类等增强算法来解决增强算法中映射函数选择问题,并且随着交互式图像增强技术的应用,可以主观控制图像增强效果。同时利用直方图均衡技术的图像增强也有许多新的进展:例如提出了多层直方图结合亮度保持的均衡算法、动态分层直方图均衡算法。这些算法通过分割图像,然后在子层图像内做均衡处理,较好地解决了直方图均衡过程中的对比度过拉伸问题,并且可以控制子层灰度映射范围,增强效果较好。 Matlab名字由MATrix和LABoratory两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的目的,为学生 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此为用FORTRAN编写的初期状态的MATLAB。 经校园广泛使用,由Little、Moler、Steve Bangert 合作,于1984年成立了MathWorks 公司,并把MATLAB 正式推向市场。从这时起,MATLAB 的内核采用C 语言编写,而且除了原有的数值计算能力外,还添加了数据图视功能。 到九十年代初期,在国际上30几个数字类科技应用软件中,Matlab在数值 5 计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。Mathcad因其提供计算、图形、文字处理的统一环境而深受学生欢迎。 4.x 版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个重要变化: (1)推出了SIMULINK,一个交互式操作的动态系统建模、仿真、分析集成环境。 (2)推出了符号计算工具包。一个以Maple 为“引擎”的Symbolic Math Toolbox 1.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.1 Matlab主要功能 它是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。使用它,可以较使用传统的编程语言,如C、C++等,更 6 第二章 Matlab的简介 快的解决技术计算问题。 高级语言可用于技术计算;开发环境可对代码、文件和数据进行管理;数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等;二维和三维图形函数可用于可视化数据;各种工具可用于构建自定义的图形用户界面;各种函数可将基于matlab的算法与外部应用程序和语言;其应用范围非常广,包括信号和图像处理、通迅、控制系统设计、测试和测量等众多应用领域。 2.2 Matlab优势 2.2.1 工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 出现的错误及进行出错原因分析。 2.2.2 程序语言 Matlab一个高级的矩阵语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C,,语言基础上的,因此语法特征与C,,语言极为相似,而且更加简单。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。 2.2.3 科学计算机数据处理能力 MATLAB是一个包含大量算法的集合。其可以快捷的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和差错处理。在通常情况下,可以用它来代替底层编程语言,如C 7 和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。 2.2.4 图形处理功能 图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。 2.2.5 模块集合工具箱 MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。 2.3 Matlab函数与数据类型 它提供了以下类型的函数,用于执行数学运算和数据分析: 8 第二章 Matlab的简介 ?矩阵操作和线性代数 ?多项式和内插 ?傅立叶分析和筛选 ?数据分析和统计 ?优化和数值积分 Matlab可对包括双精度浮点数、单精度浮点数和整型在内的多种数据类型进行运算。附加的工具箱提供了专门的数学计算函数,用于包括信号处理、优化、统计、符号数学、偏微分方程求解以及曲线拟合在内的各个领域。 Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。 2.3.1 整型 通过intmax(class)和intmin(class) 函数返回该类整型的最大值和最小值,例如intmax(‘int8’)=127 2.3.2 浮点数 REALMAX('double')和REALMAX('single')分别返回双精度浮点和单精度浮点的最大值,REALMIN('double')和REALMIN ('single')分别返回双精度浮点和单精度浮点的最小值。 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个字符是否相同 9 strrep(s1,s2,s3) 将s1中的字符s2替换为s3 2.4 Matlab常用工具箱 MATLAB包括拥有数百个内部函数的主包和三十几种工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件。 Matlab Main Toolbox——matlab主工具箱 System Identification Toolbox——系统辨识工具箱 Image Processing Toolbox——图象处理工具箱 LMI Control Toolbox——线性矩阵不等式工具箱 Optimization Toolbox——优化工具箱 Simulink Toolbox——动态仿真工具箱 Wavele Toolbox——小波工具箱 它附加的工具箱,即单独提供的专用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 两幅图像的卷积。 10 第二章 Matlab的简介 3) 图像变换。MATLAB 提供了一维和二维离散傅立叶变换(DFT) 、快速傅立叶变换(FFT) 、离散余弦变换(DCT) 及其反变换函数,以及连续小波变换(CWT) 、离散小波变换(DWT) 及其反变换。 4) 图像的分析和增强。针对图像的统计计算,MATLAB 提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。 以上所提到的MATLAB 在图像中的应用都是由相应的MATLAB 函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。具体的用法可参考MATLAB 丰富的帮助文档。 11 第三章 Matlab图像增强 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理和彩色技术等。 3.1 图像增强技术概述 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。 3.1.1空域滤波增强 使用空域模板进行的图像处理被称为空域滤波,模板本身被称为空域滤波器。空域滤波器包括:线性滤波器和非线性滤波器。空域滤波处理效果来分类,可以分为平滑滤波器,和锐化滤波器,平滑的目的在于消除混杂在图像中的干扰因素,改善图像质量,强化图像表现特征。锐化的目的在于增强图像边缘,以及对图像进行识别和处理。 3.1.2 平滑滤波器 用于模糊处理和减小噪声。平滑线性空间滤波器的输出(响应)是包含在滤波掩模邻域内像素的简单平均值。因此这些滤波器也被称为均值滤波器。平滑滤波器的概念很简单:它是用滤波掩模确定的领域内像素的平均值去代替图像每个像素点的值。这种处理减少了图像灰度的尖锐化。每个掩模前边的乘数等于它的系数值的和,以计算平均值。 我们经常用这些极端类型的模糊处理来去除图像中的一些小物体。例如:在matlab中利用线性平滑滤波器处理一副图像I=imread('eight.tif'); J=imnoise(I,'salt & pepper',0.02); >> %添加椒盐噪声 12 第三章 Matlab图像增强 >> subplot(221) >> imshow(I) >> title('原图像') >> subplot(222) >> imshow(J) >> title('添加椒盐噪声图像') K1=filter2(fspecial('average',3),J)/255; >> %应用3*3邻域窗口法 >> subplot(223),imshow(K1) >> K2=filter2(fspecial('average',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]); LenaRaw=uint8(temp'); subplot(1,3,1) Imshow(LenaRaw); title('原始图像') subplot(1,3,2) Imshow(smoothingMedianFilter(LenaRaw,3)); title('自制函数,使用用3*3模板,中值滤波图像') subplot(1,3,3) Imshow(medfilt2(LenaRaw,[3,3])); title('调用库函数medfilt2,使用3*3模板,中值滤波图像') 13 3.1.4 锐化滤波器 锐化处理主要目的是突出图像中的细节或者增强被模糊了的细节,这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。常用的方法有两种即为微分法和模板匹配法。 其中微分法中梯度是图像处理常用的一次微分方法,在灰度骤变区域,梯度值大,在灰度相似区域,梯度值小。在灰度级为常数的区域,梯度为零;Laplacian算子是线性二次微分算子,与梯度算子一样,具有旋转不变性,从而满足不同走向的图像边界的锐化要求。 而对于模板匹配法则是出去能够增强图像边缘外,还具有平滑噪声的优点。 3.1.5 低通滤波器 一幅图像的边缘,跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区域代表了图像信号的低频分量。低通滤波器的作用就是滤除这些高频分量,保留低频分量,使图像信号平滑。它包括:理想低通滤波器,巴特沃斯低通滤波器,指数低通滤波器等。 例如:频域增强 I=imread('apple.png'); >> J=imnoise(I,'salt & pepper',0.02); >> subplot(121),imshow(J) >> title('含噪声的图像') J=double(J); >> f=fft2(J); >> g=fftshift(f); >> [M,N]=size(f); >> n=3;d0=20; >> n1=floor(M/2);n2=floor(N/2); >> for i=1:M for j=1:N d=sqrt(i-n1)^2+((i-n2)^2); h=1/(1+0.414*(d/d0)^(2*n)); g(i,j)=h*g(i,j); end 14 第三章 Matlab图像增强 end g=ifftshift(g); >> g=uint8(real(ifft2(g))); >> subplot(122),imshow(g) >> title('三阶Butterworth滤波图像') 3.1.6 高通滤波器 与低通滤波器相反,它将高频信号通过,而抑制了低频信号。 3.1.7 同态滤波器 把频率过滤和灰度变换结合起来的图像处理方法叫同态滤波。 3.2 Matlab图像增强函数 Matlab中图像增强函数的具体使用方法: (1)直方图imhist函数用于数字图像的直方图显示,如: i=imread('e:\w11.tif'); imhist(a); (2)直方图均化 histeq函数用于数字图像的直方图均化,如: i=imread('e:\w11.tif'); j=histeq(a); (3)对比度调整 imadjust函数用于数字图像的对比度调整,如: i=imread('e:\w11.tif'); j=imadjust(a,[0.3,0.7],[]); (4) 对数变换 log函数用于数字图像的对数变换,如: i=imread('e:\w11.tif'); j=double(a); k=log(v); (5)基于卷积的图像滤波函数 filter2函数用于图像滤波,如: 15 i=imread('e:\w11.tif'); h=[1,2,1;0,0,0;-1,-2,-1]; j=filter2(h,i); (6) 线性滤波 利用二维卷积conv2滤波, 如: i=imread('e:\w11.tif'); h=[1,1,1;1,1,1;1,1,1]; h=h/9; j=conv2(i,h); (7)中值滤波 medfilt2函数用于图像的中值滤波,如: i=imread('e:\w11.tif'); j=medfilt2(i); (8)锐化 ?利用Sobel算子锐化图像, 如: i=imread('e:\w11.tif'); h=[1,2,1;0,0,0;-1,-2,-1];%Sobel算子 j=filter2(h,i); 3.3 Matlab应用于数字图像增强和滤波 3.3.1 目的 1)熟悉灰度图像读入函数imread和图像显示函数imshow。 2)掌握数据类型强制转换函数y=double(x)。(注意进行运算前类型为uint8 的数据必须转换为double类型)。 3)掌握使用函数映射增强图像的方法。 4)熟悉使用imhist函数显示图像直方图。 5)熟悉使用histeq函数进行直方图均衡化,通过实验结果理解直方图均衡化 的作用。 6)掌握加噪函数imnoise函数。 7)熟悉常用空域平滑滤波和锐化滤波模板。 16 第三章 Matlab图像增强 3.3.2 内容 根据简单的函数映射规则编写程序experiment.m,完成图像求反、增强对比度、降低对比度。 1)在MATLAB中读入名为lena.bmp的图像给矩阵D,将D强制类型转换为double。 )对原始图像求反,即转换为黑色或白色,形成底片效果,结果赋值给矩阵D1。 2 要求原图像灰度范围0~255,求反后灰度变化范围255~0。 3)对原始图像D降低对比度,结果赋值给矩阵D2。要求原图像灰度范围0~255,降低对比度后灰度变化范围0~127。 4)对降低对比度后的图像D2增强对比度, 结果赋值给矩阵D3,要求与原始图像外观类似。 5)在figure(1)中显示求反图像、增强对比度图像和降低对比度图像的图像与直方图,并添加标注说明。 6)对降低对比度后图像矩阵D2使用histeq函数进行直方图均衡化,结果赋值给矩阵D4。在figure No.2显示降低对比度后图像与直方图均衡化后图像,并添加标注说明。 Dimread('lena.bmp'); Ddouble(D/255; D=1-D D=(floor(D255/2)/255); D=(exp(D*255/10))/255; figure,subplot(4,2,1),imshow(D title('原图像'); subplot(4,2,2),imhist(D); title('原图像直方图'); subplot(4,2,3),imshow(D1); title('求反图像'); subplot(4,2,4),imhist(D2); title('求反图像直方图'); subplot(4,2,5),imshow(D3); title('增强对比度图像'); subplot(4,2,6),imhist(D4); title('增强对比度图像直方图'); 17 subplot(4,2,7),imshow(D4); title('降低对比度图像'); subplot(4,2,8),imhist(D3) title('降低对比度图像直方图'); figure,subplot(1,2,1),imshow(D2); title('降低对比度图像'); subplot(1,2,2),imshow(D4); title('直方图均衡化图像'); 以下将所有代码写成名为imfil.m的脚本文件,存盘。在command window 中运行。 1)在MATLAB中读入名为eight.tif的图像给矩阵X,将X强制类型转换为double,最大值归一化并显示X。 2)使用imnoise函数对图像矩阵X加噪,加噪后图像矩阵名为J。要求噪声为零均值,方差0.005的高斯噪声。 3)使用以上给出的平滑滤波模板和conv2函数对加噪图像进行平滑滤波即降噪,输出图像Y1并显示。 4)使用以上给出的锐化滤波模板和conv2函数对图像X进行锐化滤波即边缘增强,输出图像Y2并显示。 5)在一个图形窗口中建立2×2子窗口,分别显示原始图像X,加噪图像J,降噪后图像Y1和边缘增强图像Y2。 X=imread('eight.tif'); Y=double(X); x=(255-Y)./255; J=imnoise(x,'gaussian',0,0.005); d1=0.1.*[1,1,1;1,2,1;1,1,1]; Y1=conv2(J,d1,'same'); d2=[0,-1,0;-1,5,-1;0,-1,0]; Y2=conv2(Y,d2,'same'); subplot(2,2,1),imshow(X);title('原图象'); subplot(2,2,2),imshow(J);title('加噪图象'); subplot(2,2,3),imshow(Y1);title('降噪后图象'); subplot(2,2,4),imshow(Y2/max(max(Y2))+Y/255);title('边缘增强图象'); 编写程序specfil.m,完成理想滤波器对一幅图像的低通、高通滤波,比较并分析结果。 18 第三章 Matlab图像增强 1)在MATLAB中读入名为lena.bmp的图像给矩阵X,将X强制类型转换为double。 2)用cheby1分别设计低通和高通滤波器并对原始图像X进行滤波,低通滤波后图像为X1,高通滤波后图像为X2。 3)在Figure NO 1中开设1*3个子窗口显示原始图像X、低通滤波后图像X1和高通滤波后图像X2。 编写函数[f2,f3]=photo(ut),图像文件名为lena256.bmp,第ut行为破损行,即令该行值全为255,文件存为lena2.bmp,编写程序进行预测修补,文件保存为lena3.bmp。 其中图像文件读入函数为imread,写出函数为imwrite,无符号8位整型数转换为双精度类型函数为double,其逆运算函数为uint8。 3.4 实验 实验一:图像输入 对于一副黑白数字图像,其每一副数字图像都是由一个矩阵组成的,矩阵中的每一个值都是对应原来的模拟图像的相应值的量化值,因此,一副黑白图像就是一个关于像素值的矩阵。 使用MATLAB进行图像输入,可以利用以下简单一步: f=imread(‘文件名.格式名’); Figure; Imshow(‘f’); 根据数字图像的特性,f即为关于输入图象各像素值的矩阵。 实验二:彩色图像处理 关于数字彩色图像的编码,采用RGB三个矩阵进行存储,因此对于输入的彩色图像的关于RGB的三个矩阵,我们只取其中的灰度矩阵进行处理,这样就是对彩色图像的简单灰化。 f=imread(‘文件名.格式名’); Figure; Imshow(‘f’);title(‘原图像’) f1=f(:;:;3)%取彩色图像的灰度分量。 Figure; 19 Imshow(f1); Title(‘原图像’); 例如输入的彩色图像为: 图3-1 彩色图像输入(a) 图3-2 灰化之后的图像(b) 实验三:图像增强 实验题目:图像增强 实验目的: (1)了解图像增强的内容和意义; (2)掌握基于空域的图像增强方法; (3)掌握基于频域的图像增强方法。 实验内容: (1)综合运用直方图均衡、灰度变换、锐化空域滤波等方法编程实现对图像的 空域增强处理; (2)编程实现图像的频域增强处理。 预备知识: (1)熟悉MATLAB图像输入输出操作; (2)熟悉图像的模板操作; (3)熟悉图像的频域变换处理; 实验原理: 图像增强是对图像进行加工,以得到视觉效果更好或更有用的新图像。 图像均衡化 f=imread('Couple.bmp'); J=histeq(f); subplot(2,2,1); imshow(f); title('原图像'); subplot(2,2,2); 20 第三章 Matlab图像增强 imhist(f); title('原图直方图'); subplot(2,2,3); imshow(J); title('均衡化结果'); subplot(2,2,4); imhist(J); title('均衡化结果的直方图'); 图3-3 实验四:图像的平滑与滤波 实验题目:图像平滑与滤波 实验目的: 在熟悉图像平滑的基本原理和方法的基础上,在理论指导下,能在MATLA B环境下对图像进行平滑处理。本实验要求用线性平滑滤波、中值平滑滤波、频域低通滤波的方法进行程序设计。经过平滑处理,对结果图像加以比较,得出自己的实验结论。 实验内容: (1)利用MATLAB为用户提供的专门函数实现均值滤波。 21 (2)利用MATLAB为用户提供的专门函数实现中值滤波。 (3)编写频域理想低通、巴特沃斯低通及高斯低通滤波函数。 预备知识: (1)熟悉平滑滤波、频域滤波原理。 (2)熟悉在MATLAB环境下对图像文件的I/O操作。 实验原理: 平滑滤波技术用于平滑图像中的噪声。平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均值或中值。也可以在频域中用基于傅立叶的分析方法进行。 I=imread(' Couple.bmp'); J=imnoise(I,'gaussian',0,0.01);%给图像加高斯噪声 subplot(1,2,1);imshow(I);title('原始图像’); subplot(1,2,2);imshow(J);title('加入高斯噪声的图像'); 图3-5 h=fspecial('average',3); gd=imfilter(J,h); subplot(1,2,1);imshow(J);title('加入高斯噪声的图像'); subplot(1,2,2);imshow(gd);title(' 3X3模板均值滤波'); 22 第三章 Matlab图像增强 图3-6 实验五:图像变换及频域滤波 1(验证二维傅里叶变换的平移性和旋转不变性; a(要验证证其平移特性,就先建立一个二维图象,然后再对其平移,通过观察两者的频谱图来观察平移特性,为了方便起见,我们选择特殊情况来分析,令u0 x,y=v0=N/2,使,,F(u-N/2,v-N/2),达到将原始F(U,V)四周f(x,y),(,1)f(x,y)21 频谱移到中心的效果,及达到频谱中心化。 b(验证旋转不变性可以通过将原始数组的通过移动45度,然后再比较旋转后与旋转前的频谱,得出频谱旋转不变性的结论。 具体步骤: f(x,y)1)产生如图1所示图像(128×128大小,暗处=0,亮处=255) 1 fFFT(f)2)同屏显示原图和的幅度谱图。 11 x,y3)若令,重复以上过程,比较二者幅度谱的异同。 f(x,y),(,1)f(x,y)21 f(x,y)f(x,y)FFT(f)4)将顺时针旋转45度得到,显示的幅度谱,并与233FFT(f)的幅度谱进行比较。 2 23 图3-7 实验图象(a) 图3-8 实验图象(b) 2.实现图像频域滤波,加深对频域图像增强的理解。频率域中进行增强是相当直观的,主要步骤有: 1)计算需要增强的图象的傅立叶变换; )将其与一个(根据需要设计的)转移的函数相乘; 2 3)再将结果反傅立叶变换以得到增强的图象. 为了直观的展示频域增强,可以通过下面任务来展现: 对如图2所示的数字图像lena.img(256×256大小、256级灰度)进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。 1(验证二维傅里叶变换的平移性和旋转不变性 1)建立一个二维数组并要求该数组能够显示成图1. a=zeros(128,128) for y=54:74 for x=34:94 a(x,y)=1; end end 然后再用显示图象的函数显示即可, 在此我们用imshow(a)语句。 为了得到幅度谱图,可以地数组a进行快速傅立叶变换,然后再用 Mesh语句便可得到其幅度谱. 2)观察其平移特性。 根据实验方法中的分析,构造一个新的数组存入平移后的原数组,通过在嵌套中加入语句b(x,y)=(-1).^(x+y).*a(x,y);即可,然后再用类似上面的方法画出图象和幅度谱. 3)验证其旋转不变性。 24 第三章 Matlab图像增强 首先将所得图画旋转45度,这需要通过将数组先相应的旋转,这个旋转有两种方式: (1)根据旋转后的图象算出旋转后的数组形式,通过点与点之间的变换来实现,需要分区间来画图和构建新的数组.然后用imshow来显示. (2)直接用IMROTATE(A,ANGLE,METHOD)语句,其中A表示数组,ANGLE表示旋转角度,METHOD表示旋转方向.我们令t=imrotate(a,315,'nearest','crop') 令可将数组a逆时针旋转135度,即相当于顺时针旋转45度。 然后比较旋转前后两幅图的差别以及其频率谱和幅度谱的异同。最后可以得结论。 2.实现图像频域滤波 1)读出图片,并生成图片的数组. 首先要将lena.img与MATLAB程序文档放在一个目录下面,然后再用语句a=fopen('lena.img','r'); b=fread(a,[256,256],'uchar'); 打开图片并获得组成该图片的数组.然后用imshow(b),便可得到lena的人头图片. 其次与上面任务一样,对图片数组进行快速傅立叶变换,然后用mesh()语句画出他的幅度谱图, 2)进行频域增强的低通滤波部分。 频域法的过程是: 正变换----F(u,v)---修正H(u,v)---G(u,v)---反变换 3)进行频域增强的高通滤波部分。 一个2---D理想高通滤波器的转移函数满足下列条件 H(u,v) H(u,v)=0; 当D(u,v)<=X时; H(u,v)=1; 当D(u,v)>X时; 所得到的结果恰好与低通滤波相反, 当大于X的频率可以完全不受影响的通过滤波器,而小于X的则完全不能通过滤波器。 在高通滤波时,分别令X等于2,8,24时,分别得到高通滤波后的结果图像,通过观察其图象与幅度谱图来理解高通滤波的特性。 关于此部分主要的函数语句是: (1) m=abs(b); m0=15*log(m+1.001); surf(m0); 25 求出数组之后将其进行fft2得到m,然后求出其绝对值,为了避免其数值过 大,求其对数,且为了避免出现0和1的情况,可以在m的基础上加上1.001,最后 用surf()函数显示出3----D效果. (2) r=24; for x=1:256 for y=1:256 if (x-128).^2+(y-128).^2r.^2; t(x,y)=0; end end end 结果如下:原图像及其频谱图 图3-12 h2=abs(t); h02=15*log(1.001+h2) figure(2) imshow(h02,[0,255]); t=ifftshift(t); z=ifft2(t); figure(3); subplot(1,2,1) imshow(z,[0,255]); n=fft2(z); subplot(1,2,2); n=15*log(1.001+abs(n)); surf(n); R=88时的理想低通滤波结果图和滤波频谱图: 29 图3-13 R=24时的理想低通滤波结果图和滤波幅度谱图: 图3-14 R=5时的理想低通滤波结果图和滤波幅度谱图: 图3-15 对于所有的低通滤波都会根据不同的半径产生如图2.5一样的频谱图. 当R=5时,滤波后的图像很模糊,无法分辨; 当R=24时,滤波后的图像有些模糊,能分辨出脸上的器官轮廓,但由于理 30 第三章 Matlab图像增强 想低通滤波器在频域的锐截止特性,滤波后的图像有较明显的振铃现象; 当R=88时,滤波后的图像比较清晰,但高频分量损失后,图像边沿与文字变的有些模糊,在图像的边框附近仍有振铃现象。 b. 对数字图像lena.img进行频域的理想高通,同屏显示原图、幅度谱图和高通滤波的结果图。其中,取理想高通滤波的半径R分别为2、8和24: 原图像及其幅度谱图: 图3-16 R=2时的理想高通滤波结果图和滤波幅度谱图: 31 图3-17 R=8时的理想高通滤波结果图和滤波幅度谱图: 图3-18 R=24时的理想高通滤波结果图和滤波幅度谱图: 32 第三章 Matlab图像增强 图像3-19 图3-20 R=8时的频谱图,根据R的大小来决定中心阴影部分的圆的大小,其余部分均是高通滤波的效果. 当R=2时,滤波后的图像无直流分量,但灰度的变化部分基本上都保留了; 当R=8时,滤波后的图像在文字和图像边缘部分的信息仍然保留; 当R=24时,滤波后的图像只剩下文字和白条边缘等信号突变的部分 小结: 33 ?熟悉了MATLAB7.0的使用 ?验证了二维傅里叶变换的平移性和旋转不变性。 ?实现了对图像的频域滤波,掌握了频域图像增强,了解了低通滤波对图像的影 响。 34 致谢 总结 本文主要是对利用Matlab软件对图像增强做了一个简明扼要的介绍。图像增强即增强图象中的有用信息,这个变换过程可以说是一个失真的过程,它的主要目的是加强图像的视觉效果。依据给定图像的实际要求,有目标的突出图像的整体或者是局部特性,将原来不够清晰的图像变得较为清晰或凸显某些感兴趣的特征,扩大图像中不同事物特征之间的差别,剔除不感兴趣的特征,使之改善图像质量、丰富有用信息量,加强图像判读和识别效果,满足某些特殊分析的需要。 图像增强按所采用方法从技术上可以分成频率域法和空间域法。频域法即为把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,削弱图中的干扰噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。具有代表性的空间域算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声。 图像增强的方法是通过一定变换方法对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。在图像增强过程中,一般不分析图像降低质量的原因,处理后的图像不一定逼近原始图像。图像增强技术根据增强处理过程所存在的空间不同,可分为基于空域的算法和基于频域的算法两大类。基于空域的算法处理时直接对图像灰度级做运算基于频域的算法是在图像的某种变换域内对图像的变换系数值进行某种修正,是一种间接增强的算法。 基于空域的算法分为点运算算法和邻域去噪算法。点运算算法即灰度级校正、灰度变换和直方图修正等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。邻域增强算法分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边缘的模糊。常用算法有均值滤波、中值滤波。锐化的目的在于突出物体的边缘轮廓,便于目标识别。常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。 在吴玲老师的指导下。本次毕业设计,就要画上一个句号了。可是,对我来说,这次设计的本身所产生的影响,还远远没有结束,我从本次毕业设计中学到了许多课本上没有的知识。通过各位老师的指导和教育,使我不仅仅在知识水平和解决实际问题的能力上有了很大的提高。还从思想的深处体会到,要把自己的所学变成现实时所将面对的种种难题。 35 参考文献 [1] 汪志云,黄梦为.基本直方图的图像增强及其MATLAB实现[J].计算机工程与 科学,2006,28(2):54-56. ,刘明奇,党长民.实用数字图像处理[M].北京理工大学出版社,1998. [2]刘榴娣 [3]冈萨雷斯 RC 著.李叔梁译.数字图像处理.北京:科学出版社,1983 [4]李月景编著.图像识别技术及其应用.北京:机械工业出版社,1985 [5]周考宽,曹晓光,陈建革等编著.实用微机图像处理。北京:北京航天大学出版 社,1994 [6]放如明,蔡健荣,许俐编著.计算机图像处理技术及其在农业工程中的应用.北 京:清华大学出版社,1999 [7] Biran, A. and Breiner, M. G. MATLAB for Engineers, Addison-Wdsley, 1995 (ISBN 0-201-56524-2). [8]Golub, G. H. and Van Loan, C. F. Matrix Comautations (2ed edition). The Johns Hopkins Univeristy Press, 1989 (ISBN 0-8018-3739-1). [9]Borse,G.J.Numerical Methods with MATLAB: A resource for Scientists and Engimeers, PES Publishing Company, 1997 (ISBN 0-534-92822-1). [10]Heath, M. T. Scientific Computing, an Introductory Survey, McGraw-Hill, 1997 (ISBN 0-07-027684-6). [11]Jennings, A. and McKeown, J. J. Matrix Computation. John Wiley, 1992 (ISBN 0-471-93527-1). [12]Lindfield, G. and Penny, J. Numerical Methods Using MATLAB. Ellis Horwood, 1995 (ISBN 0-13-030966-4). [13]Malek-Madani, R. Advanced Engineering Mathematics with Mathematica and MATLAB, Addison-Wesley, 1998 (ISBN 0-201-59881-71). [14]Marcus, M. Matrices and MATLAB: A Tutorial. Prentice Hall, 1993 (ISBN 0-13-562901-2). [15]Ogata, K. Solving Control Engineering Problems with MATLAB. Prcntice Hall, 1993 (ISBN 0-13-045907-0). [16]Stang, G. Introduction to Lincar Algebra. Wellesley-Cambridge Press, 1993 (ISBN 0-9614088-5-5). [17]Strum, R. D. and Kirk D. E. Contemporary Linear Systems Using MATLAB. PWS Publishing, 1994 (ISBN 0-534-93273-8). 36
本文档为【电子信息工程专业毕业论文--MATLAB中图像增强技术的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_435706
暂无简介~
格式:doc
大小:333KB
软件:Word
页数:45
分类:互联网
上传时间:2017-10-01
浏览量:25