您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页武汉理工利用MATLAB仿真软件实现图像的去噪处理后面附文本输入的程序

武汉理工利用MATLAB仿真软件实现图像的去噪处理后面附文本输入的程序

来源:宝玛科技网
武汉理工大学《MATLAB应用》课程设计报告

课程设计任务书

学生姓名: 龙涛 专业班级: 信息sy1001班

指导教师: 张小梅 工作单位: 信息工程学院 初始条件:

① MATLAB软件

② 数字信号处理与图像处理基础知识

题 目: 利用MATLAB仿真软件实现图像的去噪处理

要求完成的主要任务:

① 读取图像并分别加入高斯噪声、椒盐噪声、脉冲噪声和乘性噪声

② 采取合适的滤波器进行去噪处理,能显示原始图像、加噪后图像和去噪后图像。

课程设计进度安排

序 号 1 2 3 4 阶段内容 方案设计 软件设计 系统调试 答辩 合 计 所需时间 1天 2天 1天 1天 5天

指导教师签名:__________________

2011年 月 日

系主任(或责任教师)签名:____________

II

武汉理工大学《MATLAB应用》课程设计报告

目 录

摘 要..............................................错误!未定义书签。 Abstract...........................................错误!未定义书签。 1 数据采集........................................ ..................1 2 MATLAB基本函数....................................................2 3 图像的加噪........................................................ 3

3.1 加入高斯噪声 ......................................................... 3

3.1.1 原理分析 ....................................................... 3

3.1.2 编辑M文件......................................................3

3.1.3 仿真结果 ....................................................... 4 3.2 加入椒盐噪声 ......................................................... 4 3.2.1 原理分析.......................................................4 3.2.2 编辑M文件.......................................................4 3.2.3 仿真结果.......................................................5

3.3 加入脉冲噪声 ................................................ .........5 3.3.1 原理分析......................................................6 3.3.2编辑M文件.......................................................6 3.3.3 仿真结果.....................................................7 3.4 加入乘性噪声.......................................................8 3.4.1 原理分析.....................................................8 3.4.2 编辑M文件..................................................8 3.4.3 仿真结果......................................................9

4 图像的去噪.................................................. .....10

4.1 典型的去噪算法分析..................................................10 4.1.1 均匀滤波........................................................10 4.1.2 中值滤波........................................................10 4.1.3 维纳滤波........................................................11

4.2 去除高斯噪声 ........................................ ................12 4.2.1编辑M文件 .................................................... .12

II

武汉理工大学《MATLAB应用》课程设计报告

4.2.2仿真结果.....................................................12

4.3 去除椒盐噪声 ....................................................... .13 4.3.1 编辑M文件.................................................13 4.3.2仿真结果.....................................................14 4.4 去除脉冲噪声......................................................15 3.4.1 编辑M文件.................................................15 3.4.2仿真结果...................................................16

4.5 去除乘性噪声.....................................................17 3.5.1 编辑M文件..................................................17 3.5.2仿真结果.....................................................18

5 总结(心得体会)................................................. 19 6 参考文献......................................................... 20

II

武汉理工大学《MATLAB应用》课程设计报告

摘 要

MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。

本次课程设计报告在简要介绍MATLAB 软件的基础上, 结合其图象处理工具, 重点分析了MATLAB 在图象处理中的应用。文中的具体实例表明, 在数字图象处理中使用MATLAB 可以提高实验效率, 快速得出实验结果。本次课程设计,主要是利用MATLAB仿真软件实现图像的去噪处理。要求:读取图像并分别加入高斯噪声、椒盐噪声、脉冲噪声和乘性噪声,然后采取合适的滤波器进行去噪处理,能显示原始图像、加噪后图像和去噪后图像。在此过程中学会此软件的一些基本操作及语言。

II

武汉理工大学《MATLAB应用》课程设计报告

Abstract

MATLAB language is introduced by the United States MathWorks, computer software, after years of gradual development and continuous improvement, which has become internationally recognized as the best scientific computing and mathematical application, one at home and abroad in recent years widespread a kinds of scientific visualization software. It combines numerical analysis, matrix computation, signal processing and graphical display on the whole, constitute a convenient, user-friendly user environment, but also has the scalability characteristics.

This curriculum project report was introducing briefly in the MATLAB software's foundation, unifies its imagery processing tool, selective analysis MATLAB in imagery processing application. In the article concrete example indicated that uses MATLAB in digital image processing to be possible to raise the experiment efficiency, obtains the experimental result fast. This curriculum project, is mainly realizes image denoising processing using the MATLAB simulation software. Request: The read image and joins the Gauss noise, the spiced salt noise, the impulse noise/pulse noise/pulsive noise and while the noise separately, then adopts the appropriate filter to carry on denoising processing, after can demonstrate the primitive image, the Canadian chirp, image and the denoising, image. During this process learns this software's some elementary operation eos and the language.

II

武汉理工大学《MATLAB应用》课程设计报告

利用MATLAB仿真软件实现

图像的去噪处理

1 数据采集

图像以数字形式进入计算机是进行数字图像处理的第一步。一幅黑白图像可以看成是一个二维函数f(x,y),其亮度是位置(x,y)的连续函数。计算机中的数字图像是以矩阵形式[f(m,n)]表示的,不同的处理就是用不同的算法对这一图像矩阵进行运算。从二维连续函数到矩阵,涉及在不同空间位置上取出函数值作为样本,并用一组整数值来表示这些样本的两个过程,前者称为取样,后者称为量化,二者统称为数字化。

根据要求,数据来源于电脑上的图片,将这幅图片保存在路

径”F:\\picture\\Koala.jpg”,图片命名为Koala,原始的图片如图1-1所示:

图1-1 原彩色图像

II

武汉理工大学《MATLAB应用》课程设计报告

2 MATLAB基本函数

1. imread

imread函数用于读入各种图像文件,如:a=imread('e:\\w01.tif') 注:计算机E盘上要有w01相应的.tif文件。 2. imfinfo

imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:\\w01.tif') 3. rgb2grad

rgb2grad()函数用于把真彩图转换为灰度图 4. imshow

imshow函数用于灰度图像文件的显示,如: i=imread('e:\\w01.tif'); imshow(i); 1. imnoise

imnoise函数用于对图像生成模拟噪声,如: i=imread('e:\\w01.tif');

j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声 5. fspecial

fspecial函数用于产生预定义滤波器,如:

h=fspecial('sobel');%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器

h=fspecial('log');%高斯拉普拉斯(LoG)滤波器 h=fspecial('average');%均值滤波器 6. 中值滤波

medfilt2函数用于图像的中值滤波,如: i=imread('e:\\w01.tif'); j=medfilt2(i);

II

武汉理工大学《MATLAB应用》课程设计报告

3 图像的加噪

3.1 加入高斯噪声

3.1.1 原理分析

高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。MATLAB中为图片加高斯噪声的语句是

(1)J = imnoise(I, 'gaussian'); (式3-1) (2)J = imnoise(I, 'gaussian',parameters); (式3-2) (3)J=imnoise(I, 'gaussian',m,v); (式3-3)

其中I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵一般情况下用 (式3-1)表示即可,(式3-2)中表示是允许修改参数,而(式3-1)中使用缺省参数;(式3-3)中对图像I加高斯噪声,均值为m,方差为v。本次课程设计选择的加噪方式为第二种。

3.1.2 编辑M文件

MATLAB程序如图3-1所示,编写M文件,该M文件命名为gaosi.m。

图3—1 加入高斯噪声程序的M文件

3.1.3 仿真结果

在Command Window下输入如下语句: >> gaosi

可得到如图3-2所示的图形:

II

武汉理工大学《MATLAB应用》课程设计报告

图3-2原灰度图像与加入高斯噪声后的图像

3.2 加入椒盐噪声

3.2.1 原理分析

椒盐噪声是一种比较典型的噪声,由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起。MATLAB中为图片加椒盐噪声的语句是

(1)J = imnoise(I, 'salt & pepper'); (式3-4) (2)J = imnoise(I, 'salt & pepper',parameters); (式3-5)

其中I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵;一般情况下用 (式3-4)表示即可,(式3-5)中表示是允许修改参数,而(式3-4)中使用缺省参数。 3.2.2 编辑M文件

MATLAB程序如图3-3所示,编写M文件,该M文件命名为jiaoyan.m。

图3-3 加入椒盐噪声程序的M文件

II

武汉理工大学《MATLAB应用》课程设计报告

3.2.3 仿真结果

在Command Window下输入如下语句: >> jiaoyan

可得到如图3-4所示的图形:

图3-4 原灰度图像与加入椒盐噪声后的图像

3.3 加入脉冲噪声

3.3.1 原理分析

脉冲噪声是非连续的,由持续时间短和幅度大的不规则脉冲或噪声尖峰组成。产生脉冲噪声的原因多种多样,其中包括电磁干扰以及通信系统的故障和缺陷,也可能在通信系统的电气开关和继电器改变状态时产生。脉冲噪声对模拟数据一般仅是小麻烦。但在数字式数据通信中,脉冲噪声是出错的主要原因。 脉冲噪声是一种持续时间小于1秒、噪声强度峰值比其均方根值大于10dB,而重复频率又小于10Hz的间断性噪声。

3.3.2 编辑M文件

MATLAB程序如图3-5所示,编写M文件,该M文件命名为maichong.m。

图3-5 加入椒盐噪声程序的M文件

其中impulsenoise函数为自己编写,用来模拟脉冲噪声,它的M文件如图3-6所示:

II

武汉理工大学《MATLAB应用》课程设计报告

图3-6 模拟脉冲噪声的M文件

2.3.3 仿真结果

在Command Window下输入如下语句: >> maichong

可得到如图3-7所示的图像:

II

武汉理工大学《MATLAB应用》课程设计报告

图3-7 原灰度图像与加入脉冲噪声后的图像

3.4 加入乘性噪声 3.4.1 原理分析

现实中,图像在被获取和被传输时常常会受到各种各样的噪声的干扰,按其影响可分为加性噪声和乘性噪声。MATLAB中为图片加乘性噪声的语句是 (1)J = imnoise(I, 'speckle'); (式3-6) (2)J = imnoise(I, 'speckle',parameters); (式3-7)

其中I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵;一般情况下用 (式3-6)表示即可,(式3-7)中表示是允许修改参数,而(式3-6)中使用缺省参数。

3.4.2 编辑M文件

MATLAB程序如图3-8所示,编写M文件,该M文件命名为chengxing.m

图3-8 加入乘性噪声程序的M文件

II

武汉理工大学《MATLAB应用》课程设计报告

3.4.3 仿真结果

在Command Window下输入如下语句: >> chengxing

可得到如图3-9所示的图像:

图3-9 原灰度图像与加入乘性噪声后的图像

4 图像的去噪

4.1典型的去噪算法分析

图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响

到后续的图像处理工作如图像分割、边缘检测等。不同的去噪算法虽有一定的降噪效果,但都有其局限性。事实上,不管滤波器具有什么样的频率响应,均不可能做到噪声完全滤掉,使信号波形不失真。但我们可以不断地改进滤波的技术,如实际应用中常用一些改进型的滤波方法如小波导向、多级门限检测来提高去噪的效果从而最大可能地恢复出原始图像。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等。下面是比较经典的几种图像去噪算法。

4.1.1 均值滤波

也称线性滤波,主要思想为邻域平均法,对图像的任一像素点以其为中心取M×M窗口(M一般取3,5,7,9等奇数) ,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。该方法运算简单,对高斯噪声具有良好的去噪能力。

II

武汉理工大学《MATLAB应用》课程设计报告

均值滤波法可归结为矩形窗加权的有限冲击响应线性滤波器。第一个“旁瓣”比主峰大约低13分贝。因此,均值滤波器相当于低通滤波器。这种低通性能在平滑噪声的同时也会对图像的高频细节成分造成破坏和损失,使图像模糊。

4.1.2 中值滤波

基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。中值滤波可以克服线性滤波器给图像 带来的模糊,在有效清除颗粒噪声的同时,又能保持良好的边缘特性,从而获得较满意的滤波效果,特别适合于去除图像的椒盐噪声。利用中值滤波算法可以很好地对图像进行平滑处理。对于椒盐噪声密度较小时,尤其是孤立噪声点,用中值滤波的效果非常好,但在椒盐噪声密度增加时,其去噪能力将降低,可能残留下部分噪声像素。虽然可以采用多轮迭代方式对滤波后的图像再次使用中值滤波进行处理,但将造成更大的细节损失。

4.1.3 维纳滤波

维纳滤波(N Wiener最早在1942年提出的方法)是一种对退化图像进行恢复处理的一种常用算法,也是最早也最为人们熟知的线性图像复原方法。其设计思想是使输入信号乘响应后的输出,与期望输出的均方误差为最小,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。其数学形式比较复杂:

F(u,v)=[(1/H(u,v))*(|H(u,v)|2)/(|H(u,v)|2+s*[Sn(u,v)/Sf(u,v)])]*G(u,v) (式4-1) 其中Sn(u ,V)表示噪声的功率谱,Sf(u ,V)表示未退化图像的功率谱。在进行实际处理时,往往不知道噪声函数Sn(u,v)和Sf(u,v)的分布情况,因此在实际应用时多用F(u,v)=[(1/H(u,v))×(|H(u,v)|2)/(|H(u,v)|2+K)]×G(u,v)进行近似处理,其中K是一个预先设定的常数。

II

武汉理工大学《MATLAB应用》课程设计报告

维纳滤波对高斯噪声、乘性噪声都有明显的抑制作用,相对与均值滤波和中值滤波,维纳滤波对这两种噪声的抑制效果更好,缺点就是容易失去图像的边缘信息。维纳滤波对椒盐噪声几乎没有抑制作用。

4.2 去除高斯噪声

4.2.1 编辑M文件

MATLAB程序如图4-1所示,编写M文件,该M文件命名为qugaosi.m。

图4-1 去除高斯噪声程序的M文件

4.2.2 仿真结果

在Command Window下输入如下语句: >> qugaosi

可得到如图4-2所示的图像:

II

武汉理工大学《MATLAB应用》课程设计报告

图4-2 原灰度图、加入高斯噪声、去除高斯噪声(三种方式)后的图像

由滤波结果可以看出,以局部均值法为代表的线性滤波器对滤除高斯噪声非常有效而且窗口越大处理效果越明显,但图像会越来越模糊,7×7的窗口比较合适。然而线性滤波易于破坏图像的边缘及细节信息,且无法滤除颗粒噪声。

4.3 去除椒盐噪声

4.3.1 编辑M文件

MATLAB程序如图4-3所示,编写M文件,该M文件命名为qujiaoyan.m

图4-3 去除椒盐噪声程序的M文件

II

武汉理工大学《MATLAB应用》课程设计报告

4.3.2 仿真结果

在Command Window下输入如下语句: >> qujiaoyan

可得到如图4-4所示的图像:

图4-4 原灰度图像、加入椒盐噪声、去除椒盐噪声(三种方式)后的图像

由滤波效果可以看出,以局部中值法为代表的非线性滤波器对滤除椒盐噪声非常有效,但是非线性滤波器对于随机分布强度的噪声及其滤波效果明显变坏。

4.4 去除脉冲噪声

4.4.1 编辑M文件

MATLAB程序如图4-5所示,编写M文件,该M文件命名为qumaichong.m。

图4-5 去除椒盐噪声程序的M文件

II

武汉理工大学《MATLAB应用》课程设计报告

4.4.2 仿真结果

在Command Window下输入如下语句:>> qumaichong 可得到如图4-6所示的图像:

图4-6 原灰度图像、加入脉冲噪声、去除脉冲噪声(三种方式)后的图像

由滤波效果可以看出,均值滤波与中值滤波的效果都比较好,一般脉冲噪声用非线性滤波器滤除效果更好。

4.5 去除乘性噪声

4.5.1 编辑M文件

MATLAB程序如图4-7所示,编写M文件,该M文件命名为quchengxing.m。

图4-7 去除乘性噪声程序的M文件

II

武汉理工大学《MATLAB应用》课程设计报告

4.5.2 仿真结果

在Command Window下输入如下语句: >> quchengxing

可得到如图4-8所示的图像:

图4-8 原灰度图像、加入乘性噪声、去除乘性噪声(三种方式)后的图像

由滤波效果可以看出,这几种滤波方式效果都不错,但中值滤波和维纳滤波会使图像变暗。

II

武汉理工大学《MATLAB应用》课程设计报告

5 总结(心得体会)

此次课程设计,要求对MATLAB进行基础的运用和掌握,虽然只是对MATLAB一小部分进行运用。虽然以前,在信号与系统的实验课上对MATLAB有所接触,但仅仅了解了其基本用法,和一些简单的处理函数。但经过这次我才发现,MATLAB软件功能之强大,它的图像工具箱几乎包括所有经典的图像处理方法。所以说对于这些软件还是应该自己动手实际操作才会有深刻理解。通过这次的课程设计,我还意识到了想要做好一件事,要有耐心,细心,要脚踏实地,而不应该毛躁。特别是编写M文件后可能会出现结果与预期不一样,需要修改,这些都是考验我们耐心的时候。

因此,在今后的学习过程中,我会一步一步脚踏实地地去做每一件事,而不光光只是应用MATLAB软件,因为我相信,只要你肯花心思在任何一件事上,或多或少,你会在它上面获得一定成就。

II

武汉理工大学《MATLAB应用》课程设计报告

6 参考文献

1 Vinay K.Ingle主编:《数字信号处理及其MATLAB实现》,电子工业出版1998 2 Sanjit K. Miltra编著:《Digital Signal Processing Laboratory Using Matlab》,McGraw-Hill出版社,2000

3刘大杰 陶本藻主编 《实用测量数据处理方法》北京测绘出版社 2000 4 王全录 《matlab实用图像处理》科学出版社2006-5-1

5贾兴泉 《matlab数据处理与分析》国防工业出版社 2005-08-01 6 闫建华 《高效matlab数据处理大全》人民邮电出版社2006-7-1 7 牟永光 《图像数据处理方法》石油工业出版社2007-8-1 8 潘丽军 陈锦权主编 《试验设计与数据处理》2008-2-1 9 付强 《数据处理方法及其应用》电子工业出版社2006-3-15 10 李俊山,李晓旭 数字图像处理【M】北京:清华大学出版社 2006 11 杨帆 数字图像处理与分析[M] 北京:北京航空航天大学出版社 2007

II

武汉理工大学《MATLAB应用》课程设计报告

本科生课程设计成绩评定表

姓 名 专业、班级 课程设计题目: 课程设计答辩或质疑记录: 成绩评定依据: 最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

年 月 日

II

性 别 武汉理工大学《MATLAB应用》课程设计报告

II

武汉理工大学《MATLAB应用》课程设计报告

1.加入高斯噪声的程序

A=imread('F:\\picture\\Koala.jpg'); %图像数据的读取,将图像数据放入A中 B=rgb2gray(A);

%将原彩色图像转换为灰度图像 subplot(2,2,1); %分隔图形显示窗口 imshow(B);title('原灰度图像'); %显示灰度图像并注明标题 B_gaosi= imnoise(B,'gaussian',0.09); %给灰度图像加入高斯噪声 subplot(2,2,2); %分隔图形显示窗口

imshow(B_gaosi);title('灰度图像加入高斯噪声后的图像'); %显示加入噪声后的灰度图像并注明标题

II

武汉理工大学《MATLAB应用》课程设计报告

2.加入椒盐噪声程序

A=imread('F:\\picture\\Koala.jpg');

%图像数据的读取,将图像数据放入A中 B=rgb2gray(A);

%将原彩色图像转换为灰度图像 subplot(2,2,1); %分隔图形显示窗口

imshow(B);title('原灰度图像'); %显示灰度图像并注明标题 B_jiaoyan= imnoise(B,'salt & pepper'); %给灰度图像加入椒盐噪声 subplot(2,2,2); %分隔图形显示窗口

imshow(B_jiaoyan);title('灰度图像加入椒盐噪声后的图像'); %显示加入椒盐噪声后的图像并注明标题

3.加入脉冲噪声程序 先建立一个函数

function img = impulsenoise(varargin)

if length(varargin) == 1 img = varargin{1}; ND = 0.2; NT = 0;f

elseif length(varargin) > 1 && length(varargin)< 3 img = varargin{1}; ND = varargin{2}; NT = 0;

elseif length(varargin) == 3 img = varargin{1}; ND = varargin{2}; NT = varargin{3};

II

武汉理工大学《MATLAB应用》课程设计报告

else

disp('not enough input parameter'); img = 0; return; end

Narr = rand(size(img)); if isempty(NT) || NT == 0 img(Narrimg((Narr>=ND/2)&(Narr=ND)=0; N1 = N; N1 = N1(N1>0); Imn=min(N1(:)); Imx=max(N1(:));

N=(((N-Imn).*(255-0))./(Imx-Imn)); img(Narrdisp('Invalid selection'); end

再编写程序调用这个函数

A=imread('F:\\picture\\Koala.jpg'); B=rgb2gray(A);

subplot(2,2,1);imshow(B); title('原灰度图像'); P1 = impulsenoise(B,0.2,1); subplot(2,2,2);imshow(P1);

title('灰度图像加入脉冲噪声后的图像');

II

武汉理工大学《MATLAB应用》课程设计报告

4.加入乘性噪声

A=imread('F:\\picture\\Koala.jpg');

%图像数据的读取,将图像数据放入A中 B=rgb2gray(A);

%将原彩色图像转换为灰度图像 subplot(2,2,1); %分隔图形显示窗口 imshow(B);title('原灰度图像'); %显示灰度图像并注明标题 B_chengxing= imnoise(B,'speckle'); %给图像加入乘性噪声 subplot(2,2,2); %分隔图形显示窗口

imshow(B_chengxing);title('灰度图像加入乘性噪声后的图像');

%显示加入乘性噪声后的灰度图像并注明标题 5.去除高斯噪声程序

A = imread('F:\\picture\\Koala.jpg'); B=rgb2gray(A);

B_gaosi = imnoise(B,'gaussian');

%加入高斯噪声

h=fspecial('average',3);

% fspecial函数用于产生预定义滤波器 A_junzhi=uint8(round(filter2(h,B)));

%进行均匀滤波,filter2函数用于图像滤波,此处h是滤波参数(均值),B是要处理的图像, round为最近的整数,uint8为函数类型 A_zhongzhi=medfilt2(B_gaosi,[7,7]);

%进行中值滤波,

A_weina1=wiener2(B_gaosi,[7,7]); %进行一次二维维纳滤波

A_weina2=wiener2(A_weina1,[7,7]);

II

武汉理工大学《MATLAB应用》课程设计报告

%进行二次维纳滤波

subplot(2,3,1);imshow(B);title('原灰度图像');

subplot(2,3,2);imshow(B_gaosi);title('加入高斯噪声后的图像') subplot(2,3,3);imshow(A_junzhi);title('均值滤波后图像'); subplot(2,3,4);imshow(A_zhongzhi);title('中值滤波后图像'); subplot(2,3,5);imshow(A_weina1);title('一次维纳滤波后图像'); subplot(2,3,6);imshow(A_weina2);title('二次维纳滤波后图像'); 6.去除椒盐噪声程序

A = imread('F:\\picture\\Koala.jpg'); B=rgb2gray(A);

B_jiaoyan = imnoise(B,'salt & pepper'); h=fspecial('average',3);

% fspecial函数用于产生预定义滤波器 A_junzhi=uint8(round(filter2(h,B)));

%进行均匀滤波,filter2函数用于图像滤波,此处h是滤波参数(均值),B是要处理的图像, round为最近的整数,uint8为函数类型 A_zhongzhi=medfilt2(B_jiaoyan,[7,7]);

%进行中值滤波, 窗口越大处理效果越明显,但图像会越来越模糊,7×7 的窗口比较合适

A_weina1=wiener2(B_jiaoyan,[7,7]); A_weina2=wiener2(A_weina1,[7,7]); subplot(2,3,1);imshow(B);title('原灰度图像');

subplot(2,3,2);imshow(B_jiaoyan);title('加入椒盐噪声后的图像') subplot(2,3,3);imshow(A_junzhi);title('均值滤波后图像'); subplot(2,3,4);imshow(A_zhongzhi);title('中值滤波后图像'); subplot(2,3,5);imshow(A_weina1);title('一次维纳滤波后图像'); subplot(2,3,6);imshow(A_weina2);title('二次维纳滤波后图像');

II

武汉理工大学《MATLAB应用》课程设计报告

7.去除脉冲噪声的程序

调用先前编好的名为impulsenoise函数

A=imread('F:\\picture\\Koala.jpg'); B=rgb2gray(A);

B_maichong = impulsenoise(B,0.2,1); h=fspecial('average',3);

A_junzhi=uint8(round(filter2(h,B))); A_zhongzhi=medfilt2(B_maichong); A_weina1=wiener2(B_maichong,[7,7]); A_weina2=wiener2(A_weina1,[7,7]);

subplot(2,3,1);imshow(B);title('原灰度图像');

subplot(2,3,2);imshow(B_maichong);title('灰度图像加入脉冲噪声后的图像

');

subplot(2,3,3);imshow(A_junzhi);title('均值滤波后的图像'); subplot(2,3,4);imshow(A_zhongzhi);title('中值滤波后的图像'); subplot(2,3,5);imshow(A_weina1);title('一次维纳滤波后图像'); subplot(2,3,6);imshow(A_weina2);title('二次维纳滤波后图像');

8去除乘性噪声的程序

A = imread('F:\\picture\\Koala.jpg'); B=rgb2gray(A);

B_chengxing = imnoise(B,'speckle'); h=fspecial('average',3); A_junzhi=uint8(round(filter2(h,B))); A_zhongzhi=medfilt2(B_chengxing,[7,7]); A_weina1=wiener2(B_chengxing,[7,7]); A_weina2=wiener2(A_weina1,[7,7]); subplot(2,3,1);imshow(B);title('原灰度图像');

subplot(2,3,2);imshow(B_chengxing);title('加入乘性噪声后的图像') subplot(2,3,3);imshow(A_junzhi);title('均值滤波后图像');

II

武汉理工大学《MATLAB应用》课程设计报告

subplot(2,3,4);imshow(A_zhongzhi);title('中值滤波后图像'); subplot(2,3,5);imshow(A_weina1);title('一次维纳滤波后图像'); subplot(2,3,6);imshow(A_weina2);title('二次维纳滤波后图像');

II

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务