《大学毕业论文-—matlab中图像增强技术的实现.doc》由会员分享,可在线阅读,更多相关《大学毕业论文-—matlab中图像增强技术的实现.doc(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要摘 要图像增强是指依据图像所存在的问题,按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些冗余信息的处理方法。其主要目的是使得处理后的图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。图像增强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。图像增强单纯从技术上可分成两大类:一类是频域处理法;一类是空域处理法。频域处理法的采用的是卷积定理,它利用修改图像傅立叶变换的方法实现对图像的增强处理;空域处理法则是对图像中的像素进行直接的处理,大多数是以灰度映射变换为基础的,所用的映射变换取决于增强的目的。在本论文中,利用Matlab提供的若干函数,用
2、于图像类型的转换。Matlab支持五种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像阵列。在Matlab中要查询一个图像文件的信息,只要用imfinfo指令加上文件及其完整路径名即可。Matlab提供了两个重要的用于图像文件的读写的指令,分别是从图像文件中读取数据的imread,以及将数据写入到图像文件中的imwrite。至于多个图像的显示,则可分为两个方面:在不同的图形窗口显示不同的图像,可以用figure指令来实现;在同一个图形窗口显示多图,可以用subplot来实现。关键字:matlab图像增强 灰度 滤波器37电子科技大学毕业论文AbstractThe image in
3、tensification 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
4、 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 i
5、s 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
6、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 interceptio
7、n 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
8、and edge tracking processing.Keyword: the image intensification of matlab 、gray、filter、武汉科技大学中南分校大学毕业论文毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名:
9、日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 目 录摘 要IABSTRACTII目 录III第一章绪论4第二章MATLAB的简介62.1MATLAB主要功能62.2MATLAB优势72.2.1工作平台和编程环境72.2.2实用的程序语言72.2.3计算机数据处理能力72.2.
10、4图形处理功能82.2.5应用的模块集合工具箱82.3MATLAB函数与数据类型82.3.1整型92.3.2浮点数92.3.3字符92.3.4常用的字符操作函数92.4MATLAB常用工具箱102.5小结10第三章MATLAB图像增强123.1图像增强技术概述123.1.1空域滤波增强123.1.2平滑滤波器123.1.3中值滤波器133.1.4锐化滤波器143.1.5低通滤波器143.1.6高通滤波器153.1.7同态滤波器153.2MATLAB图像增强函数153.3 MATLAB应用于数字图像增强和滤波163.3.1目的163.3.2内容173.4实验22总结39致谢40参考文献41第二章
11、 Matlab的简介第一章 绪论图像增强技术的发展大致经历了初创期、发展期、普及期和应用期4个阶段。初创期开始于20世纪60年代,当时的图像采用像素型光栅进行扫描显示,大多采用中、大型机对其进行处理。20世纪70年代进入了发展期,开始大量采用中、大型机进行处理,图像处理也逐渐改用光栅扫描显示方式,特别是出现了CT和卫星遥感图像,对图像增强处理提出了一个更高的要求。到了20世纪80年代,图像增强技术进入普及期,此时的计算机已经能够承担起图形图像处理的任务。20世纪90年代进入了应用期,人们运用数字图像增强技术处理和分析遥感图像,以有效地进行资源和矿藏的勘探、调查、农业和城市的土地规划、作物估产、
12、气象预报、灾害及军事目标的监视等。在生物医学工程方面,运用图像增强技术对X射线图像、超声图像和生物切片显微图像等进行处理,提高图像的清晰度和分辨率。在工业和工程方面,主要应用于无损探伤、质量检测和过程自动控制等方面。在公共安全方面,人像、指纹及其他痕迹的处理和识别,以及交通监控、事故分析等都在不同程度上使用了图像增强技术。图像增强是图像处理的重要组成部分,传统的图像增强方法对于改善图像质量发挥了极其重要的作用。随着对图像技术研究的不断深入和发展,新的图像增强方法不断出现。例如一些学者将模糊映射理论引入到图像增强算法中,提出了包括模糊松弛、模糊熵、模糊类等增强算法来解决增强算法中映射函数选择问题
13、,并且随着交互式图像增强技术的应用,可以主观控制图像增强效果。同时利用直方图均衡技术的图像增强也有许多新的进展:例如提出了多层直方图结合亮度保持的均衡算法、动态分层直方图均衡算法。这些算法通过分割图像,然后在子层图像内做均衡处理,较好地解决了直方图均衡过程中的对比度过拉伸问题,并且可以控制子层灰度映射范围,增强效果较好。Matlab名字由MATrix和LABoratory两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的目的,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,
14、此为用FORTRAN编写的初期状态的MATLAB。经校园广泛使用,由Little、Moler、Steve Bangert 合作,于1984年成立了MathWorks 公司,并把MATLAB 正式推向市场。从这时起,MATLAB 的内核采用C 语言编写,而且除了原有的数值计算能力外,还添加了数据图视功能。到九十年代初期,在国际上30几个数字类科技应用软件中,Matlab在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。Mathcad因其提供计算、图形、文字处理的统一环境而深受学生欢迎。4.x 版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以下几个
15、重要变化:(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 等多
16、个版本的不断改进,MATLAB“面向对象”的特点愈加突出,数据类型愈加丰富,操作界面愈加友善。2002 年初夏所推6.5 版的最大特点是:该版本采用了JIT 加速器,从而使MATLAB 朝运算速度与C 程序相比肩的方向前进了一大步。第二章 Matlab的简介MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。2.
17、1 Matlab主要功能它是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。使用它,可以较使用传统的编程语言,如C、C+等,更快的解决技术计算问题。高级语言可用于技术计算;开发环境可对代码、文件和数据进行管理;数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等;二维和三维图形函数可用于可视化数据;各种工具可用于构建自定义的图形用户界面;各种函数可将基于matlab的算法与外部应用程序和语言;其应用范围非常广,包括信号和图像处理、通迅、控制系统设计、测试和测量等众多应用领域。2.2 Matlab优势2.2.1 工作平台和编程环境MATLAB由一系
18、列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。2.2.2 程序语言Matlab一个高级的矩阵语
19、言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C语言基础上的,因此语法特征与C语言极为相似,而且更加简单。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。2.2.3 科学计算机数据处理能力MATLAB是一个包含大量算法的集合。其可以快捷的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化
20、和差错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。2.2.4 图形处理功能图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标
21、注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。2
22、.2.5 模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了
23、自己的一席之地。2.3 Matlab函数与数据类型它提供了以下类型的函数,用于执行数学运算和数据分析:矩阵操作和线性代数多项式和内插傅立叶分析和筛选数据分析和统计优化和数值积分Matlab可对包括双精度浮点数、单精度浮点数和整型在内的多种数据类型进行运算。附加的工具箱提供了专门的数学计算函数,用于包括信号处理、优化、统计、符号数学、偏微分方程求解以及曲线拟合在内的各个领域。Matlab中有15种基本数据类型,主要是整型、浮点、逻辑、字符、日期和时间、结构数组、单元格数组以及函数句柄等。2.3.1 整型通过intmax(class)和intmin(class) 函数返回该类整型的最大值和最小值,
24、例如intmax(int8)=1272.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(s
25、1,s2) 搜索字符串ischar(s) 判断是否字符串strcmp(s1,s2) 比较字符串是否相同strncmp(s1,s2,n) 比较字符串中的前n个字符是否相同strrep(s1,s2,s3) 将s1中的字符s2替换为s32.4 Matlab常用工具箱MATLAB包括拥有数百个内部函数的主包和三十几种工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件。Matlab Main Toolboxm
26、atlab主工具箱System Identification Toolbox系统辨识工具箱Image Processing Toolbox图象处理工具箱LMI Control Toolbox线性矩阵不等式工具箱Optimization Toolbox优化工具箱Simulink Toolbox动态仿真工具箱Wavele Toolbox小波工具箱它附加的工具箱,即单独提供的专用matlab函数集,扩展了matlab环境,以解决这些应用领域内特定类型的问题。2.5 小结对于MATLAB,由于本科阶段我们大量的运用它来进行编程学习,对于以上所叙,均比较了解,但是对于其图像处理功能还是不十分熟悉,因此以
27、下将着重从这方面介绍:图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT 变换等) 、图像分析和统计、二值图像操作等。下面就MATLAB 在图像处理中各方面的应用分别进行介绍。1) 图像文件格式的读写和显示。MATLAB 提供了图像文件读入函数imread ( ) ,用来读取如: bmp 、tif 、jpg、pcx、tiff 、gpeg、hdf 、xwd 、png等各种格式的图像文件;图像写出函数imwrite () ,还有图像显示函数image ( ) 、imshow( )
28、 等等。2) 图像处理的基本运算。MATLAB 提供了图像的和、差等线性运算,以及卷积、相关、滤波等非线性运算。例如,conv2( I ,J ) 实现了I ,J 两幅图像的卷积。3) 图像变换。MATLAB 提供了一维和二维离散傅立叶变换(DFT) 、快速傅立叶变换(FFT) 、离散余弦变换(DCT) 及其反变换函数,以及连续小波变换(CWT) 、离散小波变换(DWT) 及其反变换。4) 图像的分析和增强。针对图像的统计计算,MATLAB 提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。以上所提到的MATLAB 在图像中的应用都是由相应的MATLAB 函数来实现的,
29、使用时,只需按照函数的调用语法正确输入参数即可。具体的用法可参考MATLAB 丰富的帮助文档。第三章 Matlab图像增强第三章 Matlab图像增强图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理和彩色技术等。3.1 图像增强技术概述图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上
30、是以灰度映射变换为基础的。3.1.1空域滤波增强使用空域模板进行的图像处理被称为空域滤波,模板本身被称为空域滤波器。空域滤波器包括:线性滤波器和非线性滤波器。空域滤波处理效果来分类,可以分为平滑滤波器,和锐化滤波器,平滑的目的在于消除混杂在图像中的干扰因素,改善图像质量,强化图像表现特征。锐化的目的在于增强图像边缘,以及对图像进行识别和处理。3.1.2 平滑滤波器用于模糊处理和减小噪声。平滑线性空间滤波器的输出(响应)是包含在滤波掩模邻域内像素的简单平均值。因此这些滤波器也被称为均值滤波器。平滑滤波器的概念很简单:它是用滤波掩模确定的领域内像素的平均值去代替图像每个像素点的值。这种处理减少了图
31、像灰度的尖锐化。每个掩模前边的乘数等于它的系数值的和,以计算平均值。我们经常用这些极端类型的模糊处理来去除图像中的一些小物体。例如:在matlab中利用线性平滑滤波器处理一副图像I=imread(eight.tif);J=imnoise(I,salt & pepper,0.02); %添加椒盐噪声 subplot(221) imshow(I) title(原图像) subplot(222) imshow(J) title(添加椒盐噪声图像)K1=filter2(fspecial(average,3),J)/255; %应用3*3邻域窗口法 subplot(223),imshow(K1) K2=
32、filter2(fspecial(average,7),J)/255; %应用7*7邻域窗口法 subplot(224),imshow(K2)3.1.3 中值滤波器其原理是把数字图像或数字序列中某一点的值用该点的一个邻域中各点值的中值交换。中值滤波器的窗口可以取方形,圆形,十字形等。例如:滤波函数图像处理1smoothingMedianFilterMain.mclc;clear;fid = fopen(lenai.raw);temp= fread(fid, 256,256);LenaRaw=uint8(temp);subplot(1,3,1)Imshow(LenaRaw);title(原始图像
33、)subplot(1,3,2)Imshow(smoothingMedianFilter(LenaRaw,3);title(自制函数,使用用3*3模板,中值滤波图像)subplot(1,3,3)Imshow(medfilt2(LenaRaw,3,3);title(调用库函数medfilt2,使用3*3模板,中值滤波图像)3.1.4 锐化滤波器锐化处理主要目的是突出图像中的细节或者增强被模糊了的细节,这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。常用的方法有两种即为微分法和模板匹配法。其中微分法中梯度是图像处理常用的一次微分方法,在灰度骤变区域,梯度值大,在灰度相似区域,梯度值小。在灰
34、度级为常数的区域,梯度为零;Laplacian算子是线性二次微分算子,与梯度算子一样,具有旋转不变性,从而满足不同走向的图像边界的锐化要求。而对于模板匹配法则是出去能够增强图像边缘外,还具有平滑噪声的优点。3.1.5 低通滤波器一幅图像的边缘,跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区域代表了图像信号的低频分量。低通滤波器的作用就是滤除这些高频分量,保留低频分量,使图像信号平滑。它包括:理想低通滤波器,巴特沃斯低通滤波器,指数低通滤波器等。例如:频域增强I=imread(apple.png); J=imnoise(I,salt & pepper,0.02); subplot(
35、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:Mfor 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);endendg=ifftshift(g); g=uint8(real(ifft2(g); subplot(122),imshow(g) title(三阶Butterworth滤波图像)3.1.6
36、 高通滤波器与低通滤波器相反,它将高频信号通过,而抑制了低频信号。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,
37、0.7,);(4) 对数变换log函数用于数字图像的对数变换,如:i=imread(e:w11.tif);j=double(a);k=log(v);(5)基于卷积的图像滤波函数filter2函数用于图像滤波,如: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=m
38、edfilt2(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函数进行直方图均衡化,通过实验结果理解直方图均衡化的作
39、用。6)掌握加噪函数imnoise函数。7)熟悉常用空域平滑滤波和锐化滤波模板。3.3.2 内容根据简单的函数映射规则编写程序experiment.m,完成图像求反、增强对比度、降低对比度。1)在MATLAB中读入名为lena.bmp的图像给矩阵D,将D强制类型转换为double。2)对原始图像求反,即转换为黑色或白色,形成底片效果,结果赋值给矩阵D1。要求原图像灰度范围0255,求反后灰度变化范围2550。3)对原始图像D降低对比度,结果赋值给矩阵D2。要求原图像灰度范围0255,降低对比度后灰度变化范围0127。4)对降低对比度后的图像D2增强对比度, 结果赋值给矩阵D3,要求与原始图像外
40、观类似。5)在figure(1)中显示求反图像、增强对比度图像和降低对比度图像的图像与直方图,并添加标注说明。6)对降低对比度后图像矩阵D2使用histeq函数进行直方图均衡化,结果赋值给矩阵D4。在figure No.2显示降低对比度后图像与直方图均衡化后图像,并添加标注说明。Dimread(lena.bmp);Ddouble(D/255;D=1-DD=(floor(D255/2)/255);D=(exp(D*255/10)/255;figure,subplot(4,2,1),imshow(Dtitle(原图像);subplot(4,2,2),imhist(D);title(原图像直方图);
41、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(增强对比度图像直方图);subplot(4,2,7),imshow(D4);title(降低对比度图像);subplot(4,2,8),imhist(D3)title(降低对比度图像直方图);figure,subplot(1,2,1),imshow(D2);title(降低对比度图像);subp
42、lot(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)在一个
43、图形窗口中建立22子窗口,分别显示原始图像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
44、),imshow(Y1);title(降噪后图象);subplot(2,2,4),imshow(Y2/max(max(Y2)+Y/255);title(边缘增强图象);编写程序specfil.m,完成理想滤波器对一幅图像的低通、高通滤波,比较并分析结果。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),
45、图像文件名为lena256.bmp,第ut行为破损行,即令该行值全为255,文件存为lena2.bmp,编写程序进行预测修补,文件保存为lena3.bmp。其中图像文件读入函数为imread,写出函数为imwrite,无符号8位整型数转换为双精度类型函数为double,其逆运算函数为uint8。3.4 实验实验一:图像输入对于一副黑白数字图像,其每一副数字图像都是由一个矩阵组成的,矩阵中的每一个值都是对应原来的模拟图像的相应值的量化值,因此,一副黑白图像就是一个关于像素值的矩阵。使用MATLAB进行图像输入,可以利用以下简单一步:f=imread(文件名.格式名);Figure;Imshow(
46、f);根据数字图像的特性,f即为关于输入图象各像素值的矩阵。实验二:彩色图像处理关于数字彩色图像的编码,采用RGB三个矩阵进行存储,因此对于输入的彩色图像的关于RGB的三个矩阵,我们只取其中的灰度矩阵进行处理,这样就是对彩色图像的简单灰化。f=imread(文件名.格式名);Figure;Imshow(f);title(原图像)f1=f(:;:;3)%取彩色图像的灰度分量。Figure;Imshow(f1);Title(原图像);例如输入的彩色图像为:图3-1 彩色图像输入(a) 图3-2 灰化之后的图像(b)实验三:图像增强实验题目:图像增强实验目的:(1)了解图像增强的内容和意义;(2)掌握基于空域的图像增强方法;(3)掌握基于频域的图像增强方法。实验内容:(1)综合运用直方图均衡、灰度变换、锐化空域滤波等方法编程实现对图像的空域增强处理;(2)编程实现图像的频域增强处理。预备知识: