数字图像处理 降噪滤波 大作业

合集下载

图像滤波去噪处理要点

图像滤波去噪处理要点

图像滤波去噪处理要点图像去噪处理在数字图像处理中起着至关重要的作用。

这是因为噪声会干扰图像的细节,使得图像质量降低,从而影响其正确性和可靠性。

因此,图像滤波去噪处理成为了数字图像处理中的重要研究内容。

滤波方法滤波法是数码图像处理中最常见的处理方式之一,它的基本原理是利用滤波器对图像进行滤波操作,通过扭曲/过滤图像的特征来消除噪声。

常见的滤波方法如下:均值滤波均值滤波是最常见的图像滤波方法之一,它的基本原理是使用一个固定大小的窗口对图像进行滑动,窗口内所有像素的平均值被用作该窗口中心像素的新值。

这个过程可以减少高频噪声,并增强图像的平滑度。

但是,使用均值滤波器有可能会使得图像细节模糊化。

中值滤波中值滤波是通过计算图像像素的中值来消除噪声的一种滤波方法。

与均值滤波直接平均过滤不同的是,中值滤波的处理结果不会受到像素亮度的影响,就算像素值在亮度上差异较大,中值滤波处理之后的图像也可以保留其细节特征。

高斯滤波高斯滤波是基于高斯函数的滤波算法,可以产生连续的阶段过渡,使得图像更加自然。

高斯滤波器通过计算一个固有大小的权重系数矩阵来处理图像。

权重系数矩阵越接近像素,则其权重越大,并可证明,高斯函数可以减少图像高频噪声,从而提高图像的视觉感受度。

滤波器的选择对于图像去噪处理,应该选择哪种滤波器呢?具体答案随情况而异,以下是几个常见的情况:需要平滑处理通过均值滤波和高斯滤波可以平滑噪声。

当选择两者中的哪一个时,必须从不同的角度看待问题。

如果需要考虑处理时间,则选择均值滤波。

如果需要平滑处理的同时保留图像的细节特征,则可以使用高斯滤波器。

有选择性地消除噪声如果需要具有消除噪声的选择性,可以使用中值滤波器。

由于中值滤波器并没有考虑像素值相邻之间的亮度,因此它可以更好地消除噪声,并保留较好的图像细节。

需要处理非线性噪声如果需要处理一些非线性噪声,例如斑点噪声等,则可以使用在去噪领域越来越流行的非局部均值滤波器。

滤波器的实现图像滤波器的实现可以基于卷积积分原理进行,也可以使用快速算法实现。

数字图像处理实验二_图像的噪声抑制及锐化处理

数字图像处理实验二_图像的噪声抑制及锐化处理

数字图像处理实验报告(二)班级:测控1002姓名:刘宇学号:06102043实验二图像的噪声抑制及锐化处理1. 实验任务(1)了解并掌握图像的噪声抑制及锐化处理的基本原理;(2)编写程序使用均值滤波、中值滤波方法进行图像噪声抑制,根据实验结果分析效果;(3)编写程序使用一阶微分锐化、二阶微分锐化方法进行图像的锐化处理,根据实验结果分析效果;(4)总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。

2. 实验环境及开发工具Windws2000/XPMATLAB 7.x实验原理线性平滑滤波器线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3×3的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围内,模板与象素邻域的乘积都要除以9。

MATLAB 提供了fspecial 函数生成滤波时所用的模板,并提供filter2 函数用指定的滤波器模板对图像进行运算。

函数fspecial 的语法格式为:h=fspecial(type);h=fspecial(type,parameters);其中参数type 指定滤波器的种类,parameters 是与滤波器种类有关的具体参数。

MATLAB 提供了一个函数imnoise 来给图像增添噪声,其语法格式为:J=imnoise(I,type);J=imnoise(I,type,parameters);非线性平滑滤波器中值滤波器是一种常用的非线性平滑滤波器,其滤波原理与均值滤波器方法类似,但计算的非加权求和,而是把领域中的图像的象素按灰度级进行排序,然后选择改组的中间值作为输出象素值。

MATLAB 提供了medfilt2 函数来实现中值滤波,其语法格式为:B=medfilt2(A,[m n]);B=medfilt2(A);其中,A 是原图象,B 是中值滤波后输出的图像。

[m n]指定滤波模板的大小,默认模板为3×3。

数字图像处理中图像去噪的算法实现方法

数字图像处理中图像去噪的算法实现方法

数字图像处理中图像去噪的算法实现方法数字图像处理是指对数字化的图像进行处理、分析和修改的过程。

图像去噪是其中一项重要的任务,它的目标是尽量降低图像中的噪声,并使图像保持尽可能多的细节信息。

本文将介绍数字图像处理中常用的图像去噪算法及其实现方法。

一、图像噪声的分类在了解图像去噪算法之前,我们需要了解图像中可能存在的噪声类型。

常见的图像噪声主要有以下几种:1. 高斯噪声:是一种符合高斯分布的噪声,其特点是随机性较强,像素值呈现连续分布。

2. 盐噪声和胡椒噪声:分别指图像中像素值变为最大值和最小值的噪声。

这种噪声会导致图像呈现颗粒状或斑点状的亮点和暗点。

3. 椒盐噪声:是指图像中同时存在盐噪声和胡椒噪声。

4. 均匀噪声:是指图像中像素值随机增减的噪声,使图像呈现均匀的亮度变化。

二、常用的图像去噪算法1. 均值滤波算法均值滤波算法是一种简单直观的图像去噪方法。

它的基本原理是用邻域像素的平均值来代替当前像素的值。

具体实现方法如下:(1)选择一个固定大小的滑动窗口,如3×3或5×5。

(2)将窗口中的像素值求平均,并将平均值赋给当前像素。

均值滤波算法的优点是简单易懂、计算量小,但它对于去除噪声的效果有限,特别是对于像素值发生较大变化的情况效果较差。

2. 中值滤波算法中值滤波算法是一种基于排序统计的图像去噪方法。

它的基本原理是用邻域像素的中值来代替当前像素的值。

具体实现方法如下:(1)选择一个固定大小的滑动窗口,如3×3或5×5。

(2)对窗口中的像素值进行排序,并取中间值作为当前像素的值。

中值滤波算法的优点是对于不同类型的噪声都有较好的去除效果,但它在去除噪声的同时也会对图像细节产生一定的模糊。

3. 双边滤波算法双边滤波算法是一种基于像素相似性的图像去噪方法。

它的基本原理是通过考虑像素的空间距离和像素值的相似程度来进行滤波。

具体实现方法如下:(1)选择一个固定大小的滑动窗口,如3×3或5×5。

数字图像处理:各种变换滤波和噪声的类型和用途总结

数字图像处理:各种变换滤波和噪声的类型和用途总结

数字图像处理:各种变换滤波和噪声的类型和⽤途总结⼀、基本的灰度变换函数1.1.图像反转适⽤场景:增强嵌⼊在⼀幅图像的暗区域中的⽩⾊或灰⾊细节,特别是当⿊⾊的⾯积在尺⼨上占主导地位的时候。

1.2.对数变换(反对数变换与其相反)过程:将输⼊中范围较窄的低灰度值映射为输出中较宽范围的灰度值。

⽤处:⽤来扩展图像中暗像素的值,同时压缩更⾼灰度级的值。

特征:压缩像素值变化较⼤的图像的动态范围。

举例:处理傅⾥叶频谱,频谱中的低值往往观察不到,对数变换之后细节更加丰富。

1.3.幂律变换(⼜名:伽马变换)过程:将窄范围的暗⾊输⼊值映射为较宽范围的输出值。

⽤处:伽马校正可以校正幂律响应现象,常⽤于在计算机屏幕上精确地显⽰图像,可进⾏对⽐度和可辨细节的加强。

1.4.分段线性变换函数缺点:技术说明需要⽤户输⼊。

优点:形式可以是任意复杂的。

1.4.1.对⽐度拉伸:扩展图像的动态范围。

1.4.2.灰度级分层:可以产⽣⼆值图像,研究造影剂的流动。

1.4.3.⽐特平⾯分层:原图像中任意⼀个像素的值,都可以类似的由这些⽐特平⾯对应的⼆进制像素值来重建,可⽤于压缩图⽚。

1.5.直⽅图处理1.5.1直⽅图均衡:增强对⽐度,补偿图像在视觉上难以区分灰度级的差别。

作为⾃适应对⽐度增强⼯具,功能强⼤。

1.5.2直⽅图匹配(直⽅图规定化):希望处理后的图像具有规定的直⽅图形状。

在直⽅图均衡的基础上规定化,有利于解决像素集中于灰度级暗端的图像。

1.5.3局部直⽅图处理:⽤于增强⼩区域的细节,⽅法是以图像中的每个像素邻域中的灰度分布为基础设计变换函数,可⽤于显⽰全局直⽅图均衡化不⾜以影响的细节的显⽰。

1.5.4直⽅图统计:可⽤于图像增强,能够增强暗⾊区域同时尽可能的保留明亮区域不变,灵活性好。

⼆、基本的空间滤波器2.1.平滑空间滤波器2.1.1平滑线性滤波器(均值滤波器)输出:包含在滤波器模板邻域内的像素的简单平均值,⽤邻域内的平均灰度替代了图像中每个像素的值,是⼀种低通滤波器。

(完整版)数字图像处理大作业

(完整版)数字图像处理大作业

数字图像处理1.图像工程的三个层次是指哪三个层次?各个层次对应的输入、输出对象分别是什么?①图像处理特点:输入是图像,输出也是图像,即图像之间进行的变换。

②图像分割特点:输入是图像,输出是数据。

③图像识别特点:以客观世界为中心,借助知识、经验等来把握整个客观世界。

“输入是数据,输出是理解。

2.常用的颜色模型有哪些(列举三种以上)?并分别说明颜色模型各分量代表的意义。

①RGB(红、绿、蓝)模型②CMY(青、品红、黄)模型③HSI(色调、饱和度、亮度)模型3.什么是图像的采样?什么是图像的量化?1.采样采样的实质就是要用多少点来描述一幅图像,采样结果质量的高低就是用前面所说的图像分辨率来衡量。

简单来讲,对二维空间上连续的图像在水平和垂直方向上等间距地分割成矩形网状结构,所形成的微小方格称为像素点。

一副图像就被采样成有限个像素点构成的集合。

例如:一副640*480分辨率的图像,表示这幅图像是由640*480=307200个像素点组成。

2.量化量化是指要使用多大范围的数值来表示图像采样之后的每一个点。

量化的结果是图像能够容纳的颜色总数,它反映了采样的质量。

针对数字图像而言:采样决定了图像的空间分辨率,换句话说,空间分辨率是图像中可分辨的最小细节。

量化决定了图像的灰度级,即指在灰度级别中可分辨的最小变化。

数字图像处理(第三次课)调用图像格式转换函数实现彩色图像、灰度图像、二值图像、索引图像之间的转换。

图像的类型转换:对于索引图像进行滤波时,必须把它转换为RGB图像,否则对图像的下标进行滤波,得到的结果是毫无意义的;2.用MATLAB完成灰度图像直方图统计代码设计。

6789101112131415161718192021222324252627282930title('lady-lenna');if isrgb(a);b=rgb2gray(a);%RGB转换为灰度图像endsubplot(2,2,2);imshow(b);%显示图像title('ladygaga-lenna');[m,n]=size(a);%返回图像大小e=zeros(1,256);for k=0:255for i=1:mfor j=1:nif a(i,j)==ke(k+1)=e(k+1)+1;%灰度值相同的进行累加endendendendsubplot(2,2,4);bar(e);%画图像的灰度直方图title('灰度直方图');c=imrotate(a,20);%图像的旋转subplot(2,2,3);imshow(c);数字图像处理(第四次课)编写matlab函数,实现在医学图像中数字减影血管造影。

数字图像处理中的图像去噪算法

数字图像处理中的图像去噪算法

数字图像处理中的图像去噪算法数字图像处理(Digital Image Processing,DIP)已经成为了一个热门的研究领域,在许多领域都有广泛的应用。

而在数字图像处理中,图像去噪是一个十分重要的问题。

噪声是数字图像中不可避免的一部分,因为图像在获取、传输以及存储时,都可能受到各种各样的噪声的干扰。

因此,图像去噪算法的研究意义重大。

本文将介绍数字图像处理中一些经典的图像去噪算法并进行简单的比较。

这些算法包括:中值滤波、高斯滤波、双边滤波、小波变换去噪、总变差去噪以及基于深度学习的去噪算法。

1. 中值滤波中值滤波是最基本和常用的图像去噪方法之一,它是一种非线性滤波方法。

中值滤波的思想是对图像中的每个像素取相邻像素的中值作为输出像素的灰度值。

这个方法常常用于去除椒盐噪声。

中值滤波的优点是噪声抑制效果好,适用于去除离群点等类型的噪声。

但如果噪声的分布为高斯分布,则中值滤波的效果会变得不太好。

此外,在中值滤波时,窗口大小的选取会对滤波结果产生影响,较小的窗口易产生伪影,而较大的窗口易导致较大的模糊。

2. 高斯滤波高斯滤波是一种线性的滤波方法,它利用高斯函数对像素进行加权平均来减小噪声的影响。

高斯滤波的优点是保留了图像的整体特征,同时对噪声的抑制效果也不错。

此外,该算法计算快速,适合处理大尺寸的图像。

3. 双边滤波双边滤波是一种非线性的滤波方法,它在进行像素平均的同时,同时考虑像素的空间距离和灰度值距离。

通过像素间的空间距离和灰度值差异来决定权值,从而使得该算法在保留图像细节的同时,对噪声具有很好的抑制效果。

双边滤波在去除高斯噪声和椒盐噪声方面都有不错的效果。

4. 小波变换去噪小波变换去噪是基于小波分析的一种非线性滤波方法。

该算法首先将图像分解为不同尺度的局部频率信号,然后利用小波系数来判断像素是否为噪声。

接着,将噪声部分所对应的小波系数进行修正,最终再进行反变换得到去噪后的图像。

该算法在处理非线性噪声效果也很好。

《数字图像处理》复习大作业及答案

《数字图像处理》复习大作业及答案

《数字图像处理》复习⼤作业及答案2014年上学期《数字图像处理》复习⼤作业及参考答案=====================================================⼀、选择题(共20题)1、采⽤幂次变换进⾏灰度变换时,当幂次取⼤于1时,该变换是针对如下哪⼀类图像进⾏增强。

(B)A 图像整体偏暗B 图像整体偏亮C图像细节淹没在暗背景中D图像同时存在过亮和过暗背景2、图像灰度⽅差说明了图像哪⼀个属性。

(B )A 平均灰度B 图像对⽐度C 图像整体亮度D图像细节3、计算机显⽰器主要采⽤哪⼀种彩⾊模型( A )A、RGBB、CMY或CMYKC、HSID、HSV4、采⽤模板[-1 1]T主要检测( A )⽅向的边缘。

A.⽔平B.45?C.垂直D.135?5、下列算法中属于图象锐化处理的是:( C )A.低通滤波B.加权平均法C.⾼通滤波D. 中值滤波6、维纳滤波器通常⽤于( C )A、去噪B、减⼩图像动态范围C、复原图像D、平滑图像7、彩⾊图像增强时, C 处理可以采⽤RGB彩⾊模型。

A. 直⽅图均衡化B. 同态滤波C. 加权均值滤波D. 中值滤波8、__B__滤波器在对图像复原过程中需要计算噪声功率谱和图像功率谱。

A. 逆滤波B. 维纳滤波C. 约束最⼩⼆乘滤波D. 同态滤波9、⾼通滤波后的图像通常较暗,为改善这种情况,将⾼通滤波器的转移函数加上⼀常数量以便引⼊⼀些低频分量。

这样的滤波器叫B。

A. 巴特沃斯⾼通滤波器B. ⾼频提升滤波器C. ⾼频加强滤波器D. 理想⾼通滤波器10、图象与灰度直⽅图间的对应关系是 B __A.⼀⼀对应B.多对⼀C.⼀对多D.都不11、下列算法中属于图象锐化处理的是:CA.低通滤波B.加权平均法C.⾼通滤D. 中值滤波12、⼀幅256*256的图像,若灰度级数为16,则存储它所需的⽐特数是:( A )A、256KB、512KC、1M C、2M13、噪声有以下某⼀种特性( D )A、只含有⾼频分量B、其频率总覆盖整个频谱C、等宽的频率间隔内有相同的能量D、总有⼀定的随机性14. 利⽤直⽅图取单阈值⽅法进⾏图像分割时:(B)a.图像中应仅有⼀个⽬标b.图像直⽅图应有两个峰c.图像中⽬标和背景应⼀样⼤d. 图像中⽬标灰度应⽐背景⼤15. 在单变量变换增强中,最容易让⼈感到图像内容发⽣变化的是( C )A亮度增强觉B饱和度增强C⾊调增强D不⼀定哪种增强16、利⽤平滑滤波器可对图像进⾏低通滤波,消除噪声,但同时模糊了细节。

图像去除噪声方法

图像去除噪声方法

图像去除噪声方法图像去噪是数字图像处理的一种重要技术,在数字图像传输、存储和分析过程中都会遇到噪声的干扰。

目前图像去噪的方法主要分为基于空域的滤波方法和基于频域的滤波方法。

基于空域的滤波方法是指直接对图像的像素进行处理,常见的方法有均值滤波、中值滤波和高斯滤波等。

1. 均值滤波是一种简单的图像平滑方法,它通过对图像的每个像素值周围像素的平均值进行计算来减小噪声。

具体步骤是,对于图像中的每个像素,以该像素为中心取一个固定大小的窗口,然后计算窗口内所有像素的平均灰度值作为该像素的新值。

由于均值滤波是线性滤波器,因此它对于高斯噪声具有一定的去噪效果,但对于细节部分的保护能力较弱。

2. 中值滤波是一种非线性滤波方法,它通过在窗口内对像素值进行排序,将中间值作为该像素的新值来减小噪声。

相比于均值滤波,中值滤波更能保护图像的细节,对椒盐噪声(指图像中的黑白颗粒噪声)有较好的去噪效果。

3. 高斯滤波是基于高斯函数的一种线性滤波方法,它通过对图像像素的邻域像素进行加权平均来减小噪声。

高斯滤波的核函数是一个二维高斯函数,它具有旋转对称性和尺度不变性。

高斯滤波可通过调整窗口的大小和标准差来控制平滑程度,窗口越大、标准差越大,平滑程度越高。

高斯滤波对高斯噪声的去噪效果较好,但对于椒盐噪声则效果较差。

基于频域的滤波方法是指通过将图像进行傅立叶变换后,在频率域对图像进行滤波,然后再进行逆傅立叶变换得到去噪后的图像。

这种方法的优点是可以同时处理图像中的各种频率成分。

1. 傅立叶变换是一种将图像从空间域转换为频率域的方法,它将图像表示为了频率和相位信息的叠加。

在频率域中,图像可以分解为不同频率的成分,其中低频成分代表图像的平滑部分,高频成分代表图像的细节部分。

因此,通过滤除高频成分可以达到去噪的效果。

2. 基于小波变换的图像去噪方法利用小波变换的多分辨率分析特性来实现。

小波变换将图像分解成不同尺度的频带,通过选择合适的阈值来滤除噪声分量,然后再进行逆变换得到去噪后的图像。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

昆明理工大学信息工程与自动化学院学生实验报告(2015—2016学年第一学期)课程名称:图形图像基础程序设计开课实验室: 2015年 12月 1 日一、实验目的及内容目的:掌握和熟悉Matlab编程环境及语言;掌握图像降噪算法和用途。

内容:在课程教学和查阅相关文献资料的基础上,选择下面一个数字图像处理技术专题,实现相应算法进行仿真实验,并完成大作业报告。

专题如下:(1)图像增强处理技术;(2)图像降噪处理技术。

2、题目分析利用matlab的GUI程序设计一个简单实用的图像处理程序。

该程序应具备图像处理的常用功能,以满足用户的使用。

现设计程序有以下基本功能:1)图像的读取和保存。

2)通过自己输入数值,实现图像的旋转。

3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。

4)能对图像加入各种噪声,5)并通过几种滤波算法实现去噪并显示结果。

6)将图像转化成灰度图像。

3.总体设计软件的总体设计界面布局如上图所示分为显示区域与操作区域。

上边为显示区域:显示载入原图,以及通过处理后的图像。

操作区域:通过功能键实现对图像的各种处理。

设计完成后运行的软件界面如下:4、具体设计现介绍各个功能模块的功能与实现。

4.1图像的读取和保存:(1)利用matlab中“ uigetfile”、“imread”“imshow”实现图像文件的读取与显示:实现代码:function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'载入图像');if isequal(filename,0)|isequal(pathname,0)errordlg('没有选中文件','出错');return;elsefile=[pathname,filename];global S %设置一个全局变量S,保存初始图像路径,以便之后的还原操作S=file;x=imread(file);set(handles.axes1,'HandleVisibility','ON');axes(handles.axes1);imshow(x);set(handles.axes1,'HandleVisibility','OFF');axes(handles.axes2);imshow(x);handles.img=x;guidata(hObject,handles);end% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[sfilename ,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'保存图像文件','untitled.jpg');if ~isequal([sfilename,sfilepath],[0,0])sfilefullname=[sfilepath ,sfilename];imwrite(handles.img,sfilefullname);elsemsgbox('你按了取消键','保存失败');end(2)图像保存。

利用uiputfile和imwrite函数实现图像文件的保存。

实现代码:function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[sfilename ,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'保存图像文件','untitled.jpg');if ~isequal([sfilename,sfilepath],[0,0])sfilefullname=[sfilepath ,sfilename];imwrite(handles.img,sfilefullname);elsemsgbox('你按了取消键','保存失败');end3)程序的退出。

实现代码:function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)clc;close all;close(gcf);clear;4.2图像转化为灰度图像因为matlab中较多的图像处理函数支持对灰度图像进行处理,故对图像进行灰度转化十分必要。

利用rgb2gray(X)函数对其他图像进行灰度图像的转化。

实现代码:function pushbutton11_Callback(hObject, eventdata, handles)% hObject handle to pushbutton11 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Taxes(handles.axes2);T=getimage;x=rgb2gray(handles.img); %RGB×imshow(x);handles.img=x;guidata(hObject,handles);4.3图像直方图统计和直方图均衡(1)通过histeq(X)函数实现直方图均衡。

此函数只能对灰度图像进行直方图均衡所以要先将彩图转为灰度图像。

实现代码:function pushbutton12_Callback(hObject, eventdata, handles)% hObject handle to pushbutton12 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Taxes(handles.axes2);T=getimage;h=histeq(handles.img);imshow(h);handles.img=h;guidata(hObject,handles);(2)直方图统计。

通过利用imhist(X)函数来实现直方图统计。

实现代码:function pushbutton13_Callback(hObject, eventdata, handles)% hObject handle to pushbutton13 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)axes(handles.axes2);x=imhist(handles.img); %直方图统计x1=x(1:10:256);horz=1:10:256;bar(horz,x1);axis([0 255 0 15000]);set(handles.axes2,'xtick',0:50:255);set(handles.axes2,'ytick',0:2000:15000);4.4加入各种噪声,并通过几种滤波算法实现去噪(1)加入噪声。

通过imnoise(I,type,parameters)来加入各种噪声。

加入椒盐噪声实现代码:function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) global Taxes(handles.axes2);T=getimage;prompt={'数日椒盐噪声参数1:'};defans={'0.02'};p=inputdlg(prompt,'input',1,defans);p1=str2num(p{1});f=imnoise(handles.img,'salt & pepper',p1);imshow(f);handles.img=f;guidata(hObject,handles);加入高斯噪声:实现代码:function pushbutton10_Callback(hObject, eventdata, handles)% hObject handle to pushbutton10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Taxes(handles.axes2);T=getimage;prompt={'输入高斯噪声1:','输入高斯噪声2'};defans={'0','0.02'};p=inputdlg(prompt,'input',1,defans);p1=str2num(p{1});p2=str2num(p{2});f=imnoise(handles.img,'gaussian',p1,p2);imshow(f);handles.img=f;guidata(hObject,handles);加入乘性噪声:实现代码:function pushbutton8_Callback(hObject, eventdata, handles)% hObject handle to pushbutton8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Taxes(handles.axes2);T=getimage;prompt={'输入乘性噪声1:'};defans={'0.02'};p=inputdlg(prompt,'input',1,defans); p1=str2num(p{1});f=imnoise(handles.img,'speckle',p1); imshow(f);handles.img=f;guidata(hObject,handles);(2)滤除噪声(椒盐噪声)滤波前中值滤波后实现代码:function pushbutton14_Callback(hObject, eventdata, handles)% hObject handle to pushbutton14 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Taxes(handles.axes2);T=getimage;k=medfilt2(handles.img);imshow(k);handles.img=k;guidata(hObject,handles);线性滤波后实现代码:function pushbutton16_Callback(hObject, eventdata, handles)% hObject handle to pushbutton16 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Taxes(handles.axes2);T=getimage;h=[1 1 1;1 1 1;1 1 1];H=h/9;i=double(handles.img);k=convn(i,h);imshow(k,[]);handles.img=k;guidata(hObject,handles);自适应滤波后实现代码:function pushbutton18_Callback(hObject, eventdata, handles)% hObject handle to pushbutton18 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global Taxes(handles.axes2);T=getimage;k=wiener2(handles.img,[5,5]);imshow(k);handles.img=k;guidata(hObject,handles);低通滤波器滤波后实现代码:function pushbutton19_Callback(hObject, eventdata, handles)% hObject handle to pushbutton19 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)axes(handles.axes2);y1=handles.img;f=double(y1); % 数据类型转换,matlab不支持图像的无符号整型的计算g=fft2(f); % 傅里叶变换g=fftshift(g); % 转换数据矩阵[M,N]=size(g);nn=2; %二阶巴特沃斯低通滤波器d0=50; %截止频率50m=fix(M/2); n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数result(i,j)=h*g(i,j);endendresult=ifftshift(result);y2=ifft2(result);y3=uint8(real(y2));imshow(y3); % 显示处理后的图像高通滤波器滤波后实现代码:function pushbutton20_Callback(hObject, eventdata, handles)% hObject handle to pushbutton20 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)axes(handles.axes2);x=(handles.img);f=double(x); % 数据类型转换k=fft2(f); % 傅里叶变换g=fftshift(k); % 转换数据矩阵[M,N]=size(g);nn=2;d0=25; %截止频率25m=fix(M/2); n=fix(N/2);for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2); % 计算高通滤波器传递函数if d<=d0h=0;else h=1;endresult(i,j)=h*g(i,j);endendresult=ifftshift(result);y2=ifft2(result);y3=uint8(real(y2));imshow(y3); % 显示滤波处理后的图像4.5还原通过一个全局变量保存原始图像路径,在需要还原至原始图像时,重新读取该全局变量即可。

相关文档
最新文档