版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要 图像增强是指依据图像所存在的问题,按特定的需要突出一幅图像中的某些 信息,同时,削弱或去除某些冗余信息的处理方法。其主要目的是使得处理后的 图像对给定的应用比原来的图像更加有效同时可以有效的改善图像质量。图像增 强技术主要包含直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理 技术等。 图像增强单纯从技术上可分成两大类:一类是频域处理法;一类是空域处理 法。频域处理法的采用的是卷积定理,它利用修改图像傅立叶变换的方法实现对 图像的增强处理;空域处理法则是对图像中的像素进行直接的处理,大多数是以 灰度映射变换为基础的,所用的映射变换取决于增强的目的。 在本论文中,利用 matlab
2、 提供的若干函数,用于图像类型的转换。matlab 支持五种图像类型,即二值图像、索引图像、灰度图像、rgb 图像和多帧图像阵 列。在 matlab 中要查询一个图像文件的信息,只要用 imfinfo 指令加上文件及 其完整路径名即可。matlab 提供了两个重要的用于图像文件的读写的指令,分别 是从图像文件中读取数据的 imread,以及将数据写入到图像文件中的 imwrite。 至于多个图像的显示,则可分为两个方面:在不同的图形窗口显示不同的图像, 可以用 figure 指令来实现;在同一个图形窗口显示多图,可以用 subplot 来实 现。 关键字:matlab 图像增强 灰度 滤波器
3、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
4、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
5、 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 operati
6、ons, 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 func
7、tions, 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 f
8、or image segmentation and edge tracking processing. keyword: the image intensification of matlab 、gray、filter 、 毕业设计(论文)原创性声明和使用授权说明毕业设计(论文)原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ,是我个人在指导教 师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别 加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过 的研究成果,也不包含我为获得 及其它教育机构的学位 或学历而使用过的材料。对本研究提供过帮助
9、和做出过贡献的个人 或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论 文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和 电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并 提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其 它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论 文的部分或全部内容。 作者签名: 日 期: 目 录 摘摘 要要.i abstract.ii 目目 录录.iii 第一章第一章 绪论绪论 .4 第二章第二章matl
10、ab 的简介的简介.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中值滤波
11、器.13 3.1.4锐化滤波器.14 3.1.5低通滤波器.14 3.1.6高通滤波器.15 3.1.7同态滤波器.15 3.2matlab 图像增强函数.15 3.3 matlab 应用于数字图像增强和滤波.16 3.3.1目的.16 3.3.2内容.17 3.4实验.22 总结总结.39 致谢致谢.40 参考参考文文献献.41 第一章 绪论 图像增强技术的发展大致经历了初创期、发展期、普及期和应用期4 个阶段。初创期开始于 20 世纪 60 年代,当时的图像采用像素型光栅进行扫 描显示,大多采用中、大型机对其进行处理。 20 世纪 70 年代进入了发展期, 开始大量采用中、大型机进行处理,
12、图像处理也逐渐改用光栅扫描显示方式, 特别是出现了 ct 和卫星遥感图像,对图像增强处理提出了一个更高的要求。 到了 20 世纪 80 年代,图像增强技术进入普及期,此时的计算机已经能够承 担起图形图像处理的任务。 20 世纪 90 年代进入了应用期,人们运用数字图 像增强技术处理和分析遥感图像,以有效地进行资源和矿藏的勘探、调查、 农业和城市的土地规划、作物估产、气象预报、灾害及军事目标的监视等。 在生物医学工程方面,运用图像增强技术对x 射线图像、超声图像和生物 切片显微图像等进行处理,提高图像的清晰度和分辨率。在工业和工程方面, 主要应用于无损探伤、质量检测和过程自动控制等方面。在公共安
13、全方面, 人像、指纹及其他痕迹的处理和识别,以及交通监控、事故分析等都在不同 程度上使用了图像增强技术。图像增强是图像处理的重要组成部分,传统的 图像增强方法对于改善图像质量发挥了极其重要的作用。随着对图像技术研 究的不断深入和发展,新的图像增强方法不断出现。例如一些学者将模糊映 射理论引入到图像增强算法中,提出了包括模糊松弛、模糊熵、模糊类等增 强算法来解决增强算法中映射函数选择问题,并且随着交互式图像增强技术 的应用,可以主观控制图像增强效果。同时利用直方图均衡技术的图像增强 也有许多新的进展:例如提出了多层直方图结合亮度保持的均衡算法、动态 分层直方图均衡算法。这些算法通过分割图像,然后
14、在子层图像内做均衡处 理,较好地解决了直方图均衡过程中的对比度过拉伸问题,并且可以控制子 层灰度映射范围,增强效果较好。 matlab 名字由 matrix 和 laboratory 两词的前三个字母组合而成。那是 20 世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的 cleve moler 教授出于减轻学生编程负担的目的,为学生设计了一组调用 linpack 和 eispack 库程序的“通俗易用”的接口,此为用 fortran 编写的初期状 态的 matlab。 经校园广泛使用,由 little、moler、steve bangert 合作,于 1984 年成立了 mathw
15、orks 公司,并把 matlab 正式推向市场。从这时起,matlab 的内 核采用 c 语言编写,而且除了原有的数值计算能力外,还添加了数据图视功能。 到九十年代初期,在国际上 30 几个数字类科技应用软件中,matlab 在数值 计算方面独占鳌头,而 mathematica 和 maple 则分居符号计算软件的前两名。 mathcad 因其提供计算、图形、文字处理的统一环境而深受学生欢迎。 4.x 版在继承和发展其原有的数值计算和图形可视能力的同时,出现了以 下几个重要变化: (1)推出了 simulink,一个交互式操作的动态系统建模、仿真、分析 集成环境。 (2)推出了符号计算工具包
16、。一个以 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“面向对象”的特点愈加突出,数据类型愈加丰富,操作界面愈加
17、友 善。2002 年初夏所推 6.5 版的最大特点是:该版本采用了 jit 加速器,从而使 matlab 朝运算速度与 c 程序相比肩的方向前进了一大步。 第二章 matlab 的简介 matlab 是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包, 包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、 方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编 程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形, 输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 2.1 matlab 主要功能 它是一种用于算法开发、数据可视化
18、、数据分析以及数值计算的高级技术 计算语言和交互式环境。使用它,可以较使用传统的编程语言,如 c、c+等, 更快的解决技术计算问题。 高级语言可用于技术计算;开发环境可对代码、文件和数据进行管理;数 学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等;二 维和三维图形函数可用于可视化数据;各种工具可用于构建自定义的图形用户 界面;各种函数可将基于 matlab 的算法与外部应用程序和语言;其应用范围非 常广,包括信号和图像处理、通迅、控制系统设计、测试和测量等众多应用领 域。 2.2 matlab 优势 2.2.1 工作平台和编程环境 matlab 由一系列工具组成。这些工具方便
19、用户使用 matlab 的函数和 文件,其中许多工具采用的是图形用户界面。包括 matlab 桌面和命令窗口、 历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、 文件的浏览器。随着 matlab 的商业化以及软件本身的不断升级,matlab 的用户界面也越来越精致,更加接近 windows 的标准界面,人机交互性更强, 操作更简单。而且新版本的 matlab 提供了完整的联机查询、帮助系统,极 大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不 必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因 分析。 2.2.2 程序语言 matlab
20、 一个高级的矩阵语言,它包含控制语句、函数、数据结构、输入和 输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步, 也可以先编写好一个较大的复杂的应用程序(m 文件)后再一起运行。新版本 的 matlab 语言是基于最为流行的 c语言基础上的,因此语法特征与 c语言极为相似,而且更加简单。使之更利于非计算机专业的科技人员使 用。而且这种语言可移植性好、可拓展性极强,这也是 matlab 能够深入到 科学研究及工程计算各个领域的重要原因。 2.2.3 科学计算机数据处理能力 matlab 是一个包含大量算法的集合。其可以快捷的实现用户所需的各种 计算功能。函数中所使用的算法都是
21、科研和工程计算中的最新研究成果,而前 经过了各种优化和差错处理。在通常情况下,可以用它来代替底层编程语言, 如 c 和 c+ 。在计算要求相同的情况下,使用 matlab 的编程工作量会大大 减少。matlab 的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向 量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和 线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变 换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、 三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。 2.2.4 图形处理功能 图形处理功能 matlab 自产生
22、之日起就具有方便的数据可视化功能,以 将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作 图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算 和工程绘图。新版本的 matlab 对整个图形处理功能作了很大的改进和完善, 使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘 制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形 的光照处理、色度处理以及四维数据的表现等) ,matlab 同样表现了出色的 处理能力。同时对一些特殊的可视化要求,例如图形对话等,matlab 也有相 应的功能函数,保证了用户不同层次的要求。另外新版本
23、的 matlab 还着重 在图形用户界面(gui)的制作上作了很大的改善,对这方面有特殊要求的用 户也可以得到满足。 2.2.5 模块集合工具箱 matlab 对许多专门的领域都开发了功能强大的模块集和工具箱。一般来 说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用 和评估不同的方法而不需要自己编写代码。目前,matlab 已经把工具箱延伸 到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、 样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图 像处理、系统辨识、控制系统设计、lmi 控制、鲁棒控制、模型预测、模糊逻 辑、金融分析、地图工
24、具、非线性控制设计、实时快速原型及半物理仿真、嵌 入式系统开发、定点仿真、dsp 与通讯、电力系统仿真等,都在工具箱 (toolbox)家族中有了自己的一席之地。 2.3 matlab 函数与数据类型 它提供了以下类型的函数,用于执行数学运算和数据分析: 矩阵操作和线性代数 多项式和内插 傅立叶分析和筛选 数据分析和统计 优化和数值积分 matlab 可对包括双精度浮点数、单精度浮点数和整型在内的多种数据类型 进行运算。附加的工具箱提供了专门的数学计算函数,用于包括信号处理、优 化、统计、符号数学、偏微分方程求解以及曲线拟合在内的各个领域。 matlab 中有 15 种基本数据类型,主要是整型
25、、浮点、逻辑、字符、日期和 时间、结构数组、单元格数组以及函数句柄等。 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 字符。如日期字符:da
26、testring=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.4 matlab 常用工具箱 matlab 包括拥有数百个内部函数的主包和三十几种工具包。功能工具包 用
27、来扩充 matlab 的符号计算,可视化建模仿真,文字处理及实时控制等功 能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通 信工具包等都属于此类。除内部函数外,所有 matlab 主包文件和各种工具 包都是可读可修改的文件。 matlab main toolboxmatlab 主工具箱 system identification toolbox系统辨识工具箱 image processing toolbox图象处理工具箱 lmi control toolbox线性矩阵不等式工具箱 optimization toolbox优化工具箱 simulink toolbox动态仿真工
28、具箱 wavele toolbox小波工具箱 它附加的工具箱,即单独提供的专用 matlab 函数集,扩展了 matlab 环境, 以解决这些应用领域内特定类型的问题。 2.5 小结 对于 matlab,由于本科阶段我们大量的运用它来进行编程学习,对于以上 所叙,均比较了解,但是对于其图像处理功能还是不十分熟悉,因此以下将着 重从这方面介绍: 图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图 像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、 线性滤波和滤波器设计、变换(dct 变换等) 、图像分析和统计、二值图像操作 等。下面就 matlab 在图像处理
29、中各方面的应用分别进行介绍。 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)
30、 、快速傅 立叶变换(fft) 、离散余弦变换(dct) 及其反变换函数,以及连续小波变换(cwt) 、离散小波变换(dwt) 及其反变换。 4) 图像的分析和增强。针对图像的统计计算,matlab 提供了校正、直方图 均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。 以上所提到的 matlab 在图像中的应用都是由相应的 matlab 函数来实现的,使 用时,只需按照函数的调用语法正确输入参数即可。具体的用法可参考 matlab 丰富的帮助文档。 第三章 matlab 图像增强 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除 某些信息使得图像更加实用。图像增强技术
31、主要包含直方图修改处理、图像平 滑处理、图像尖锐化处理和彩色技术等。 3.1 图像增强技术概述 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处 理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像 的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以 灰度映射变换为基础的。 3.1.1 空域滤波增强 使用空域模板进行的图像处理被称为空域滤波,模板本身被称为空域滤波器。 空域滤波器包括:线性滤波器和非线性滤波器。空域滤波处理效果来分类,可 以分为平滑滤波器,和锐化滤波器,平滑的目的在
32、于消除混杂在图像中的干扰 因素,改善图像质量,强化图像表现特征。锐化的目的在于增强图像边缘,以 及对图像进行识别和处理。 3.1.2 平滑滤波器 用于模糊处理和减小噪声。平滑线性空间滤波器的输出(响应)是包含在 滤波掩模邻域内像素的简单平均值。因此这些滤波器也被称为均值滤波器。平 滑滤波器的概念很简单:它是用滤波掩模确定的领域内像素的平均值去代替图 像每个像素点的值。这种处理减少了图像灰度的尖锐化。每个掩模前边的乘数 等于它的系数值的和,以计算平均值。 我们经常用这些极端类型的模糊处理来去除图像中的一些小物体。例如: 在 matlab 中利用线性平滑滤波器处理一副图像 i=imread(eig
33、ht.tif); j=imnoise(i,salt %添加椒盐噪声 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 中值滤波器 其原理是把数字图像或数字序列中某一点的值用该点的一个邻
34、域中各点值 的中值交换。中值滤波器的窗口可以取方形,圆形,十字形等。 例如:滤波函数图像处理 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,
35、3,3) imshow(medfilt2(lenaraw,3,3); title(调用库函数 medfilt2,使用 3*3 模板,中值滤波图像) 3.1.4 锐化滤波器 锐化处理主要目的是突出图像中的细节或者增强被模糊了的细节,这种模 糊不是由于错误操作,就是特殊图像获取方法的固有影响。常用的方法有两种 即为微分法和模板匹配法。 其中微分法中梯度是图像处理常用的一次微分方法,在灰度骤变区域,梯 度值大,在灰度相似区域,梯度值小。在灰度级为常数的区域,梯度为零; laplacian 算子是线性二次微分算子,与梯度算子一样,具有旋转不变性,从而 满足不同走向的图像边界的锐化要求。 而对于模板匹配
36、法则是出去能够增强图像边缘外,还具有平滑噪声的优点。 3.1.5 低通滤波器 一幅图像的边缘,跳跃部分以及颗粒噪声代表图像信号的高频分量,而大 面积的背景区域代表了图像信号的低频分量。低通滤波器的作用就是滤除这些 高频分量,保留低频分量,使图像信号平滑。它包括:理想低通滤波器,巴特 沃斯低通滤波器,指数低通滤波器等。 例如:频域增强 i=imread(apple.png); j=imnoise(i,salt subplot(121),imshow(j) title(含噪声的图像) j=double(j); f=fft2(j); g=fftshift(f); m,n=size(f); n=3;d
37、0=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 end g=ifftshift(g); g=uint8(real(ifft2(g); subplot(122),imshow(g) title(三阶 butterworth 滤波图像) 3.1.6 高通滤波器 与低通滤波器相反,它将高频信号通过,而抑制了低频信号。 3.1.7 同态滤波器 把频率过滤和灰度变换结合起来的图像处理方法叫同态滤波。 3
38、.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.ti
39、f); 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=medfilt2(i); (8)锐化 利用 sobel 算子
40、锐化图像, 如: 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 函数进行直方图均衡化,通过实验结果理解直方图均衡 化的作
41、用。 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)对降低对比度后
42、的图像 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),imsho
43、w(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(增强对比度图像直方图); subplot(4,2,7),imshow(d4); title(降低对比度图像); subplot(4,2,8),imhist(d3) ti
44、tle(降低对比度图像直方图); 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)使用以
45、上给出的平滑滤波模板和 conv2 函数对加噪图像进行平滑滤波即 降噪,输出图像 y1 并显示。 4)使用以上给出的锐化滤波模板和 conv2 函数对图像 x 进行锐化滤波即 边缘增强,输出图像 y2 并显示。 5)在一个图形窗口中建立 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,
46、-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,完成理想滤波器对一幅图像的低通、高通滤波,比较 并分析结果。 1)在 matlab 中读入名为 lena.bmp 的图像给矩阵 x,将 x
47、 强制类型转 换为 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 位整型数 转换为双精度类型
48、函数为 double,其逆运算函数为 uint8。 3.4 实验 实验一:图像输入 对于一副黑白数字图像,其每一副数字图像都是由一个矩阵组成的,矩阵 中的每一个值都是对应原来的模拟图像的相应值的量化值,因此,一副黑白图 像就是一个关于像素值的矩阵。 使用 matlab 进行图像输入,可以利用以下简单一步: f=imread(文件名.格式名); figure; imshow(f); 根据数字图像的特性,f 即为关于输入图象各像素值的矩阵。 实验二:彩色图像处理 关于数字彩色图像的编码,采用 rgb 三个矩阵进行存储,因此对于输入的 彩色图像的关于 rgb 的三个矩阵,我们只取其中的灰度矩阵进行处
49、理,这样就 是对彩色图像的简单灰化。 f=imread(文件名.格式名); figure; imshow(f);title(原图像) f1=f(:;:;3)%取彩色图像的灰度分量。 figure; imshow(f1); title(原图像); 例如输入的彩色图像为: 图 3-1 彩色图像输入(a) 图 3-2 灰化之后的图像(b) 实验三:图像增强 实验题目:图像增强 实验目的: (1)了解图像增强的内容和意义; (2)掌握基于空域的图像增强方法; (3)掌握基于频域的图像增强方法。 实验内容: (1)综合运用直方图均衡、灰度变换、锐化空域滤波等方法编程实现对图像的 空域增强处理; (2)编
50、程实现图像的频域增强处理。 预备知识: (1)熟悉 matlab 图像输入输出操作; (2)熟悉图像的模板操作; (3)熟悉图像的频域变换处理; 实验原理: 图像增强是对图像进行加工,以得到视觉效果更好或更有用的新图像。 图像均衡化 f=imread(couple.bmp); j=histeq(f); subplot(2,2,1); imshow(f); title(原图像); subplot(2,2,2); imhist(f); title(原图直方图); subplot(2,2,3); imshow(j); title(均衡化结果); subplot(2,2,4); imhist(j);
51、title(均衡化结果的直方图); 图 3-3 实验四:图像的平滑与滤波 实验题目:图像平滑与滤波 实验目的: 在熟悉图像平滑的基本原理和方法的基础上,在理论指导下,能在 matlab 环境下对图像进行平滑处理。本实验要求用线性平滑滤波、中值平滑 滤波、频域低通滤波的方法进行程序设计。经过平滑处理,对结果图像加以比较, 得出自己的实验结论。 实验内容: (1)利用 matlab 为用户提供的专门函数实现均值滤波。 (2)利用 matlab 为用户提供的专门函数实现中值滤波。 (3)编写频域理想低通、巴特沃斯低通及高斯低通滤波函数。 预备知识: (1)熟悉平滑滤波、频域滤波原理。 (2)熟悉在
52、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); subplo
53、t(1,2,1);imshow(j);title(加入高斯噪声的图像); subplot(1,2,2);imshow(gd);title( 3x3 模板均值滤波); 图 3-6 实验五:图像变换及频域滤波 1验证二维傅里叶变换的平移性和旋转不变性; a要验证证其平移特性,就先建立一个二维图象,然后再对其平移,通过观 察两者的频谱图来观察平移特性,为了方便起见,我们选择特殊情况来分析,令 u0=v0=n/2,使f(u-n/2,v-n/2),达到将原始 f(u,v)四),() 1(),( 12 yxfyxf yx 周频谱移到中心的效果,及达到频谱中心化。 b验证旋转不变性可以通过将原始数组的通过移
54、动 45 度,然后再比较旋转 后与旋转前的频谱,得出频谱旋转不变性的结论。 具体步骤: 1)产生如图 1 所示图像(128128 大小,暗处=0,亮处=255)),( 1 yxf 2)同屏显示原图和的幅度谱图。 1 f)(fft 1 f 3)若令,重复以上过程,比较二者幅度谱的异同。),() 1(),( 12 yxfyxf yx 4)将顺时针旋转 45 度得到,显示的幅度谱,并与),( 2 yxf),( 3 yxf)(fft 3 f 的幅度谱进行比较。)(fft 2 f 图 3-7 实验图象(a) 图 3-8 实验图象(b) 2.实现图像频域滤波,加深对频域图像增强的理解。频率域中进行增强是
55、相当直观的,主要步骤有: 1)计算需要增强的图象的傅立叶变换; 2)将其与一个(根据需要设计的)转移的函数相乘; 3)再将结果反傅立叶变换以得到增强的图象. 为了直观的展示频域增强,可以通过下面任务来展现: 对如图 2 所示的数字图像 lena.img(256256 大小、256 级灰度)进行频 域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果 图。 1验证二维傅里叶变换的平移性和旋转不变性 1)建立一个二维数组并要求该数组能够显示成图 1. a=zeros(128,128) for y=54:74 for x=34:94 a(x,y)=1; end end 然后再用显示图
56、象的函数显示即可, 在此我们用 imshow(a)语句。 为了得到幅度谱图,可以地数组 a 进行快速傅立叶变换,然后再用 mesh 语句便可得到其幅度谱. 2)观察其平移特性。 根据实验方法中的分析,构造一个新的数组存入平移后的原数组,通过在嵌 套中加入语句 b(x,y)=(-1).(x+y).*a(x,y);即可,然后再用类似上面的方法画 出图象和幅度谱. 3)验证其旋转不变性。 首先将所得图画旋转 45 度,这需要通过将数组先相应的旋转,这个旋转有两 种方式: (1)根据旋转后的图象算出旋转后的数组形式,通过点与点之间的变换来 实现,需要分区间来画图和构建新的数组.然后用 imshow 来
57、显示. (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
58、); 打开图片并获得组成该图片的数组.然后用 imshow(b),便可得到 lena 的人 头图片. 其次与上面任务一样,对图片数组进行快速傅立叶变换,然后用 mesh()语句 画出他的幅度谱图, 2)进行频域增强的低通滤波部分。 频域法的过程是: f(x,y)正变换-f(u,v)-修正 h(u,v)-g(u,v)-反变换 g(x,y). 3)进行频域增强的高通滤波部分。 一个 2-d 理想高通滤波器的转移函数满足下列条件 h(u,v) h(u,v)=0; 当 d(u,v)x 时; 所得到的结果恰好与低通滤波相反, 当大于 x 的频率可以完全不受影响的 通过滤波器,而小于 x 的则完全不能通过
59、滤波器。 在高通滤波时,分别令 x 等于 2,8,24 时,分别得到高通滤波后的结果图像, 通过观察其图象与幅度谱图来理解高通滤波的特性。 关于此部分主要的函数语句是: (1) m=abs(b); m0=15*log(m+1.001); surf(m0); 求出数组之后将其进行 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(
60、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 时的理想低通滤波结果图和滤波频谱图: 图 3-13 r=24 时的理想低通滤波结果图和滤波幅度谱图: 图 3-14 r=5 时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届湖南省长沙市开福区周南中学八年级物理第一学期期末质量跟踪监视试题含解析
- 2025金融科技贷款服务合同
- 2025餐饮股东内部承包经营合同书
- 2025广州房屋租赁合同范本下载
- 2021春国家开放大学《桥梁工程技术》形考作业1-4参考答案
- 青海保险协议书
- 农村分院协议书
- 护理骨科题库大全及答案解析
- 生理安全知识单选题库及答案解析
- 2025至2030便利店产业产业运行态势及投资规划深度研究报告
- 汽车维保技术方案(3篇)
- 上海中级口译教程3专题培训课件
- 因式分解练习题库(经典、精心整理)
- 【120个重点文言实词及例句翻译】
- 2023上海中考数学真题18题、24题、25题全解析
- 重庆水轮机厂业绩表
- 国家开放大学电大《科学与技术》形考任务2试题及答案
- 下肢康复机器人训练对脑卒中偏瘫患者下肢运动功能的康复作用
- FZ/T 80004-2014服装成品出厂检验规则
- 架空与电缆混合110kV线路工程强制性条文执行计划
- 光伏电站运维培训-课件
评论
0/150
提交评论