同时含有椒盐噪声和高斯噪声的图像消噪处理
中值滤波和均值滤波

中值滤波和均值滤波中值滤波和均值滤波是数字图像处理中常用的两种滤波方法,它们在图像去噪和平滑处理中起着重要的作用。
本文将从原理、应用以及优缺点等方面介绍这两种滤波方法。
一、中值滤波中值滤波是一种非线性滤波方法,其基本原理是用像素点周围邻域内的中值来代替该像素点的灰度值。
中值滤波可以有效地去除图像中的椒盐噪声和脉冲噪声,同时能够保持图像的边缘信息。
其处理过程如下:1.选取一个模板,模板的大小根据噪声的程度来确定;2.将模板中的像素点按照灰度值大小进行排序,取其中位数作为中心像素点的灰度值;3.将中心像素点的灰度值替换为中值;4.重复以上步骤,对整个图像进行滤波。
中值滤波的优点是能够有效地去除椒盐噪声和脉冲噪声,同时保持图像的边缘信息。
然而,中值滤波也存在一些缺点,例如不能处理高斯噪声和均匀噪声,对图像细节信息的保护效果较差。
二、均值滤波均值滤波是一种线性平滑滤波方法,其基本原理是用像素点周围邻域内的平均值来代替该像素点的灰度值。
均值滤波可以有效地去除高斯噪声和均匀噪声,同时能够保持图像的整体平滑。
其处理过程如下:1.选取一个模板,模板的大小根据滤波效果来确定;2.计算模板内所有像素点的灰度值的平均值;3.将中心像素点的灰度值替换为平均值;4.重复以上步骤,对整个图像进行滤波。
均值滤波的优点是能够有效地去除高斯噪声和均匀噪声,同时能够保持图像的整体平滑。
然而,均值滤波也存在一些缺点,例如不能处理椒盐噪声和脉冲噪声,对图像细节信息的保护效果较差。
中值滤波和均值滤波在图像处理中各有优劣。
中值滤波适用于去除椒盐噪声和脉冲噪声,能够保持图像的边缘信息,但在处理高斯噪声和均匀噪声时效果较差。
而均值滤波适用于去除高斯噪声和均匀噪声,能够保持图像的整体平滑,但对于细节信息的保护效果较差。
在实际应用中,根据图像的特点和噪声的类型选择合适的滤波方法是很重要的。
如果图像受到椒盐噪声和脉冲噪声的影响,可以选择中值滤波进行去噪处理;如果图像受到高斯噪声和均匀噪声的影响,可以选择均值滤波进行平滑处理。
加噪去噪的方法与引用场景

加噪去噪的方法与引用场景
加噪和去噪是数字图像处理中的重要概念。
以下是几种加噪和去噪的方法,以及它们的引用场景:
加噪的方法:
1. 添加高斯噪声:在图像中添加高斯噪声可以模拟图像在传输或记录过程中受到的随机误差。
高斯噪声是一种以正态分布形式出现的随机噪声。
2. 添加椒盐噪声:椒盐噪声是一种由图像传感器、传输信道等引起的随机误差,表现为图像中突然出现的白点或黑点。
添加椒盐噪声可以模拟这种情况。
去噪的方法:
1. 中值滤波:中值滤波器是一种非线性滤波器,可以将图像中的噪声去除。
中值滤波器对某个区域内的所有像素值进行排序,并将中值作为输出,对于去除椒盐噪声特别有效。
2. 高斯滤波:高斯滤波器是一种线性滤波器,通过将每个像素的值替换为其邻域内像素的加权平均值来去除噪声。
高斯滤波适用于去除高斯噪声。
3. 傅里叶变换:傅里叶变换可以将图像从空间域转换到频率域,通过在频率域中进行滤波操作,再反变换回空间域,可以达到去除噪声的效果。
傅里叶变换可以用于去除各种类型的噪声。
引用场景:
1. 医学图像处理:在医学领域,图像处理技术广泛应用于诊断、治疗和手术导航等方面。
去噪算法可以用于提高医学图像的清晰度和可读性,帮助医生更准确地诊断病情。
2. 遥感图像处理:遥感图像经常受到噪声的干扰,影响其质量和解译效果。
去噪算法可以提高遥感图像的信噪比,从而提高遥感数据的可利用性和可靠性。
3. 通信系统:在通信系统中,噪声是影响信号传输质量的重要因素之一。
通过去噪算法可以降低噪声对信号的影响,提高通信系统的性能和可靠性。
高斯噪声和椒盐噪声公式

高斯噪声和椒盐噪声公式全文共四篇示例,供读者参考第一篇示例:高斯噪声和椒盐噪声是数字图像处理中常见的两种噪声类型,对图像质量有着不同程度的影响。
在图像处理中,我们经常需要对噪声进行消除或降低,因此了解这两种噪声的特点和产生公式对于图像处理非常重要。
一、高斯噪声高斯噪声又称为白噪声,它是在图像中产生的一种随机噪声。
在实际应用中,由于各种因素如传感器的不确定性、环境的干扰等,会导致图像中出现高斯噪声。
一般来说,高斯噪声是服从高斯分布的随机变量产生的噪声。
高斯噪声的数学模型可以表示为:f'(x,y) = f(x,y) + n(x,y)f'(x,y)表示受到高斯噪声干扰后的图像像素值,f(x,y)表示原始图像像素值,n(x,y)表示高斯噪声。
高斯噪声的特点是均值为0,方差为\sigma^2,即:n(x,y) \sim N(0,\sigma^2)\sigma^2越大,噪声的强度越大。
高斯噪声对图像的影响主要体现在增加了图像的灰度值的随机性,使图像变得模糊、失真,降低了图像的质量。
在图像处理中需要采取相应的降噪措施来消除高斯噪声的影响。
二、椒盐噪声椒盐噪声是另一种常见的噪声类型,它的特点是在图像中突然出现明显的黑白点,类似于图像中加入了颗粒状的盐和胡椒。
椒盐噪声通常是由于数据采集或传输过程中发生错误导致的,例如传感器故障、数据损坏等。
f'(x,y) = \begin{cases}f(x,y), & p < q \\0, & q \leq p < 2q \\L-1, & 2q \leq p\end{cases}椒盐噪声的特点是不规则性强,严重干扰了图像的视觉效果,使图像的质量大幅下降。
处理椒盐噪声是图像处理中的一个重要问题。
三、高斯噪声和椒盐噪声的区别1. 高斯噪声是符合高斯分布的随机噪声,其幅值变化在一个比较小的范围内,呈现连续性;而椒盐噪声是不规则的黑白点分布,呈现离散性。
基于MATLAB滤波算法对图像噪声信号处理的实现

技术创新《微计算机信息》2012年第28卷第10期120元/年邮局订阅号:82-946《现场总线技术应用200例》软件时空肖玉芝:讲师在读博士基金项目:支持舆情服务的藏汉机器翻译关键技术研究,编号:2010CB334708,973计划前期研究专项申请人:赵海兴基金项目:国家高技术研究发展计划863项目No.2007AA03Z241申请人:赵海兴基于MATLAB 滤波算法对图像噪声信号处理的实现Signal processing of image noise filtering algorithm based on MATLAB(1.青海师范大学;2.陕西师范大学)肖玉芝1,2XIAO Yu-zhi摘要:结合中值滤波和均值滤波算法,通过MATLAB 语言设计程序,对嵌入了椒盐和高斯噪声的图像进行滤波处理。
结果表明,中值滤波方法适于去除椒盐噪声,同时能较好保护图像边界,均值滤波适合于去除高斯噪声。
关键词:MATLAB;中值滤波;均值滤波;噪声信号中图分类号:TN957.52文献标识码:BAbstract:Combination of median filter and mean filter algorithm,embedded in the image of the Salt &Pepper and Gaussian noise filtered by the MATLAB language program.The results show that Median filtering method is suitable to remove the salt and pepper noise,and better protect the image boundary,the mean filter for removal of Gaussian noise.Key words:MATLAB;median filtering;mean filter;noise signal文章编号:1008-0570(2012)10-0478-031引言随着网络技术、计算机技术和通信技术的迅速发展,数字处理技术作为信息(文本、图像、音视频)的数字化处理技术得到学者的广泛关注,同时出现了许多新的应用领域。
基于matlab的图像高斯噪声和椒盐噪声的滤除

基于matlab的图像高斯噪声和椒盐噪声的滤除目录摘要第一章高斯平滑滤波的原理第二章试验要求及试验步骤设计2.1试验要求2.2试验步骤设计2.3结论参考文献摘要图像信号在产生、传输和记录的过程中,经常会受到各种噪声的干扰,噪声可以理解为妨碍人的视觉器官或系统传感器对所接收图像源信息进行理解或分析的各种元素。
噪声对图像的输入、采集、处理的各个环节以及最终输出结果都会产生一定影响。
图像去噪是数字图像处理中的重要环节和步骤。
去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。
一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等。
我们平常使用的滤波方法一般有均值滤波、中值滤波和维纳滤波,他们分别对某种噪声的滤除有较好的效果,但对于同时存在高斯噪声和椒盐噪声的图像处理的效果可能不会太好,在这里我们分别用多种方法对图像噪声进行处理,对比使用效果。
关键词:图像去噪、常见噪声、多种方法、使用效果。
绪论20世纪20年代,图像处理首次得到应用。
上个世纪60年代中期,随着计算机科学的发展和计算机的普及,图像处理得到广泛的应用。
60年代末期,图像处理技术不断完善,逐渐成为一个新兴的学科。
图像处理中输入的是质量低的图像,输出的是改善质量后的图像。
为了改善图像质量,从图像中提取有效信息,必须对图像进行去噪预处理。
根据噪声频谱分布的规律和统计特征以及图像的特点,出现了多种多样的去噪方法。
经典的去噪方法有:空域合成法,频域合成法和最优合成法等,与之适应的出现了许多应用方法,如均值滤波器,中值滤波器,低通滤波器,维纳滤波器,最小失真法等。
这些方法的广泛应用,促进数字信号处理的极大发展,显著提高了图像质量。
一幅原始图像在获取和传输过程中会受到各种噪声的干扰,使图像质量下降,对分析图像不利。
反映到图像画面上,主要有两种典型的噪声。
肝脏超声图像降噪处理的两种方法比较

肝脏超声图像降噪处理的两种方法比较作者:徐立乔智郑祖添穆佳乐来源:《电脑知识与技术》2019年第11期摘要:医学图像是复杂图像可以反映人体内部的各个组织信息,包含的大量的医学信息,进行处理时非常困难。
现代医学图像一般采用超声成像技术,其在疾病的预防、诊断、治疗中起到了很好的辅助作用;而图像在形成过程中由于受到多种不确定因素的影响会产生斑点噪声。
本文在对肝脏超声图像降噪时选取中值滤波和小波阈值两种降噪方法对常见噪声如高斯噪声、椒盐噪声进行降噪处理。
通过实验对比发现小波阈值降噪方法对图像降噪效果方面要优于中值滤波降噪方法。
关键词:肝脏超声图像;降噪处理;中值滤波;小波阈值中图分类号:TP311 文献标识码:A文章编号:1009-3044(2019)11-0209-02现代医学图像处理一般采用的是超声成像技术。
超声成像技术具有成本低廉、实时成像、对人体健康几乎无影响等优点,因此在医学中得到广泛应用。
以B超图像为例,在图像成像的过程中会受到各种噪声因素的干扰,如X射线源噪声、电光系统成像噪声、机械物理噪声及在成像过程中其它设备元件产生的噪声影响,尤其是当超声波波长与被检查的物体表面粗糙程度相近时,就会产生斑点噪声。
在这些噪声的影响下所获得的图像会变得不清晰,可能会降低图像的识别度,掩盖某些重要的细节信息,从而增加医生对病人情况诊断的困难。
本文中为了抑制噪声对于肝脏超声图像的影响,我们对图像进行了降噪处理。
采用了中值滤波和小波阈值这两种方法进行降噪处理,并对这两种方法的降噪结果进行效果比较。
1 降噪方法的原理1.1中值滤波中值滤波是非线性平滑技术之一,由于其实现过程简单实用,对脉冲噪声、椒盐噪声滤除效果显著,其在滤除噪声的过程中,同时还能够对图像的边缘进行保留,使图像直观明显,因此在抑制噪声中普遍应用。
中值滤波的原理是用一点的邻域中各点值的中值替换数字图像或数字序列中点的值。
1.2小波阈值降噪小波阈值收缩法是Donoho和Johnstone提出的图像降噪方法,其理论依据为:在整个小波域内,信号能量只集中在有限的几个小波系数内,而噪声能量却遍布了整个域。
Python-给图像添加椒盐噪声和高斯噪声

Python-给图像添加椒盐噪声和⾼斯噪声椒盐噪声和⾼斯噪声在噪声的概念中,通常采⽤信噪⽐(Signal-Noise Rate, SNR)衡量图像噪声。
通俗的讲就是信号占多少,噪声占多少,SNR越⼩,噪声占⽐越⼤。
在信号系统中,计量单位为dB,为10lg(PS/PN), PS和PN分别代表信号和噪声的有效功率。
在这⾥,采⽤信号像素点的占⽐充当SNR,以衡量所添加噪声的多少。
椒盐噪声⼜称为脉冲噪声,它是⼀种随机出现的⽩点(盐噪声)或者⿊点(椒噪声)。
⾼斯噪声是指它的概率密度函数服从⾼斯分布(即正态分布)的⼀类噪声。
原图:代码:import cv2import numpy as npfrom matplotlib import pyplot as pltfrom PIL import Imageimport randomdef gasuss_noise(image, mean=0, var=0.001):'''添加⾼斯噪声mean : 均值var : ⽅差'''image = np.array(image/255, dtype=float)noise = np.random.normal(mean, var ** 0.5, image.shape)out = image + noiseif out.min() < 0:low_clip = -1.else:low_clip = 0.out = np.clip(out, low_clip, 1.0)out = np.uint8(out*255)return outdef sp_noise(image,prob):'''添加椒盐噪声prob:噪声⽐例'''output = np.zeros(image.shape,np.uint8)thres = 1 - probfor i in range(image.shape[0]):for j in range(image.shape[1]):rdn = random.random()if rdn < prob:output[i][j] = 0elif rdn > thres:output[i][j] = 255else:output[i][j] = image[i][j]return outputimg = cv2.imread("1.jpg")gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 添加椒盐噪声,噪声⽐例为 0.02out1 = sp_noise(img, prob=0.02)# 添加⾼斯噪声,均值为0,⽅差为0.009out2 = gasuss_noise(img, mean=0, var=0.009)cv2.imshow('out1',out1)cv2.imwrite('sp.png',out1)cv2.imshow('out2',out2)cv2.imwrite('gasuss.png',out2)cv2.waitKey(0)cv2.destroyAllWindows()实验结果⾼斯(gasuss)椒盐(sp)。
数字图像实验报告一图像的加噪处理与几何变换

实验一图像的加噪处理与几何变换一、实验目的1.给Lena图像加高斯噪声,椒盐噪声,均匀分布噪声,观察图像;用平滑滤波器(均值滤波器,中值滤波器)分析效果。
2.对lena图像作裁剪、放大、缩小、旋转、平移等几何变换。
二、实验内容1.采用中值滤波、均值滤波对受椒盐噪声干扰的图像滤波;2.采用中值滤波、均值滤波对受高斯噪声干扰的图像滤波;3.采用中值滤波、均值滤波对受均匀噪声干扰的图像滤波;4.将图像lena.bmp裁剪成200X200大小;5.制作动画,将一幅图像逐渐向左上角平移移出图像区域,空白的地方用白色填充;6.利用剪切图像函数制作动画;7.将图像分别放大1.5倍和缩小0.8倍,插值方法使用双线性插值法,分别显示图像;8.将图像水平镜像,再顺时针旋转45度,显示旋转后的图;9.将图像分别进行水平方向30度错切,垂直方向45度错切,分别显示结果。
三、实验步骤(一)采用中值滤波,均值滤波对受椒盐噪声干扰的图像滤波a = imread('E:\实验报告\数字图像处理实验报告\lena.jpg');%读取图像b = rgb2gray(a); %转化为灰度图像%给图像加入噪声I = imnoise(b,'salt & pepper')%椒盐噪声%扩展矩阵,生成待处理矩阵n = 3;%模板阶数m = (n-1)/2;[p,q] = size(I);PI = zeros(p+2*m,q+2*m);%待处理矩阵for i = 1:pfor j = 1:qPI(i+m,j+m) = I(i,j);endendfor i = 1:pfor ii = 1:mPI(i+m,ii) = I(i,1);PI(i+m,q+m+ii) = I(i,q);endendfor j = 1:qfor jj = 1:mPI(jj,j+m) = I(1,j);PI(p+m+jj,j+m) = I(p,j);endendfor ii = 1:mfor jj = 1:mPI(ii,jj) = I(1,1);PI(q+m+ii,jj) = I(p,1);PI(ii,p+m+jj) = I(1,q);PI(q+m+ii,p+m+jj) = I(p,q);endend%中值滤波&均值滤波derta = zeros(n,n);%n阶模板矩阵PImid = PI;PImean = PI;for i = m+1:p+mfor j = m+1:q+mfor k = 1:mfor h = 1:mderta(k,h) = PI(i+k-m-1,j+h-m-1);derta(k,m+1) = PI(i+k-m-1,j);derta(k,n-h+1) = PI(i+k-m-1,j+m+1-h); derta(m+1,h) = PI(i,j+h-m-1);derta(m+1,m+1) = PI(i,j);derta(m+1,n-h+1) = PI(i,j+m+1-h);derta(n-k+1,h) = PI(i+m+1-k,j+h-m-1);derta(n-k+1,m+1) = PI(i+m+1-k,j);derta(n-k+1,n-h+1) = PI(i+m+1-k,j+m+1-h);PImid(i,j) = median(median(derta));%中值滤波PImean(i,j) = round(mean(mean(derta)));%均值滤波endendendend%输出结果Imid = zeros(p,q);Imean = zeros(p,q);for i = 1:pfor j = 1:qImid(i,j) = PImid(i+m,j+m);Imean(i,j) = PImean(i+m,j+m);endend%显示结果figure()subplot(2,2,1);imshow(b); title('原图像');subplot(2,2,2);imshow(I);title('加入椒盐噪声的图像');subplot(2,2,3);imshow(Imid,[0,255]);title('中值滤波处理后的图像'); subplot(2,2,4);imshow(Imean,[0,255]);title('均值滤波处理后的图像');生成图像如下:由图可见,对于椒盐噪声,中值滤波效果更好。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
同时含有椒盐噪声和高斯噪声的图像消噪处理引言所谓噪声是电路或系统中不含信息量的电压或电流。
在工业与自然界中,存在着各种干扰源(噪声源),如大功率电力电子器件的接入、大功率用电设备的开启与断开、雷击闪电等都会使空间电场和磁场产生有序或无序的变化,这些都是干扰源(或噪声源)。
这些源产生的电磁波或尖峰脉冲通过磁、电耦合或是通过电源线等路径进入放大电路,各种电气设备,形成各种形式的干扰。
高斯噪声是指噪声的概率密度函数服从高斯分布(即正态分布)的一类噪声。
如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。
高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。
高斯白噪声包括热噪声和散粒噪声。
而椒盐噪声是指椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。
椒盐噪声往往由图像切割引起。
本文将采用中值滤波和维纳滤波对含有高斯噪声和椒盐噪声的图像进行处理,通过比较两种滤波技术对图像处理的效果,可以看出哪种滤波技术对椒盐噪声更起作用,哪种滤波技术对高斯噪声更有效果,再根据同一种滤波技术对不同窗口尺寸的图像进行滤波,比较处理效果,最终将选出对图像采用哪种滤波技术或者对同一种滤波技术哪种窗口尺寸滤波效果更好。
中值滤波:是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值.实现方法:1:通过从图像中的某个采样窗口取出奇数个数据进行排序2:用排序后的中值取代要处理的数据即可中值滤波在图像处理中,常用于用来保护边缘信息,是经典的平滑噪声的方法。
中值滤波原理中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。
方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。
二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。
W为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。
中值滤波用3*3的滤波窗口进行中值滤波处理:程序如下:>> i=imread('Winter.jpg'); %读入图像subplot(2,2,1);imshow(i); %显示原始图像title('original'); %设置图像标题j = imnoise(i,'salt & pepper',0.02); %加均值为0,方差为0.02的椒盐噪声subplot(2,2,2);imshow(j); %显示处理后的图像title('加入椒盐噪声');k = imnoise(i,'gaussian',0.02); %加均值为0,方差为0.02的加入高斯噪声l = imnoise(k,'salt & pepper',0.02); %加均值为0,方差为0.02的椒盐噪声subplot(2,2,3);imshow(l);title('加入椒盐噪声和高斯噪声');r=l(:,:,1);g=l(:,:,2);b=l(:,:,3);[m,n]=size(r);for i=1:mfor j=1:nif(i==1|i==m|j==1|j==n)G(i,j)=r(i,j);elsehao(1)=r(i-1,j-1);hao(2)=r(i-1,j);hao(3)=r(i-1,j+1);hao(4)=r(i,j-1);hao(5)=r(i,j);hao(6)=r(i,j+1);hao(7)=r(i+1,j-1);hao(8)=r(i+1,j);hao(9)=r(i+1,j+1);hao=sort(hao);G(i,j)=hao(5);endendend>> for i=1:mfor j=1:nif(i==1|i==m|j==1|j==n)K(i,j)=g(i,j);elsehao(1)=g(i-1,j-1);hao(2)=g(i-1,j);hao(3)=g(i-1,j+1);hao(4)=g(i,j-1);hao(5)=g(i,j);thao(6)=g(i,j+1);hao(7)=g(i+1,j-1);hao(8)=g(i+1,j);hao(9)=g(i+1,j+1);hao=sort(hao);K(i,j)=hao(5);endendend>> for i=1:mfor j=1:nif(i==1|i==m|j==1|j==n) L(i,j)=b(i,j);elsehao(1)=b(i-1,j-1);hao(2)=b(i-1,j);hao(3)=b(i-1,j+1);hao(4)=b(i,j-1);hao(5)=b(i,j);hao(6)=b(i,j+1);hao(7)=b(i+1,j-1);hao(8)=b(i+1,j);hao(9)=b(i+1,j+1);hao=sort(hao);L(i,j)=hao(5);endendend>> l(:,:,1)=G;>> l(:,:,2)=K;>> l(:,:,3)=L;>> subplot(2,2,4);>> imshow(l);original加入椒盐噪声加入椒盐噪声和高斯噪声图一3*3的滤波窗口的中值滤波J结论:可以看出中值滤波对椒盐噪声的消噪处理效果比较好,但是对高斯噪声的消噪处理效果不是很理想。
用5*5的滤波窗口进行中值滤波处理:程序如下:>> i=imread('Winter.jpg'); %读入图像subplot(2,2,1);imshow(i); %显示原始图像title('original');j = imnoise(i,'salt & pepper',0.02); %加均值为0,方差为0.02的椒盐噪声。
subplot(2,2,2);imshow(j); %显示处理后的图像title('加入椒盐噪声');k = imnoise(i,'gaussian',0.02); %加均值为0,方差为0.02的加入高斯噪声l = imnoise(k,'salt & pepper',0.02); %加均值为0,方差为0.02的椒盐噪声subplot(2,2,3);imshow(l);title('加入椒盐噪声和高斯噪声');r=l(:,:,1);g=l(:,:,2);b=l(:,:,3);[a,b]=size(r);for i=1:afor j=1:bif(i==1|i==2|i==a-1|i==a|j==1|j==2|j==b-1|j==b)P(i,j)=r(i,j);elsehao(1)=r(i-2,j-2);hao(2)=r(i-2,j-1);hao(3)=r(i-2,j);thao(4)=r(i-2,j+1);hao(5)=r(i-2,j+2);hao(6)=r(i-1,j-2);hao(7)=r(i-1,j-1);hao(8)=r(i-1,j);hao(9)=r(i-1,j+1);hao(10)=r(i-1,j+2);hao(11)=r(i,j-2);hao(12)=r(i,j-1);hao(13)=r(i,j);hao(14)=r(i,j+1);hao(15)=r(i,j+2);hao(16)=r(i+1,j-2);hao(17)=r(i+1,j-1);hao(18)=r(i+1,j);hao(19)=r(i+1,j+1);hao(20)=r(i+1,j+2);hao(21)=r(i+2,j-2);hao(22)=r(i+2,j-1);hao(23)=r(i+2,j);hao(24)=r(i+2,j+1);hao(25)=r(i+2,j+2);hao=sort(hao);P(i,j)=hao(13);endendend>> for i=1:afor j=1:bif(i==1|i==2|i==a-1|i==a|j==1|j==2|j==b-1|j==b) Q(i,j)=g(i,j);elsehao(1)=g(i-2,j-2);hao(2)=g(i-2,j-1);hao(3)=g(i-2,j);hao(4)=g(i-2,j+1);hao(5)=g(i-2,j+2);hao(6)=g(i-1,j-2);hao(7)=g(i-1,j-1);hao(8)=g(i-1,j);hao(9)=g(i-1,j+1);hao(10)=g(i-1,j+2);hao(11)=g(i,j-2);hao(12)=g(i,j-1);hao(13)=g(i,j);hao(14)=g(i,j+1);hao(15)=g(i,j+2);hao(16)=g(i+1,j-2);hao(17)=g(i+1,j-1);hao(18)=g(i+1,j);hao(19)=g(i+1,j+1);hao(20)=g(i+1,j+2);hao(21)=g(i+2,j-2);hao(22)=g(i+2,j-1);hao(23)=g(i+2,j);hao(24)=g(i+2,j+1);hao(25)=g(i+2,j+2);hao=sort(hao);Q(i,j)=hao(13);endendend>> for i=1:afor j=1:bif(i==1|i==2|i==a-1|i==a|j==1|j==2|j==b-1|j==b) W(i,j)=b(i,j);elsehao(1)=b(i-2,j-2);hao(2)=b(i-2,j-1);hao(3)=b(i-2,j);hao(4)=b(i-2,j+1);hao(5)=b(i-2,j+2);hao(6)=b(i-1,j-2);hao(7)=b(i-1,j-1);hao(8)=b(i-1,j);hao(9)=b(i-1,j+1);hao(10)=b(i-1,j+2);hao(11)=b(i,j-2);hao(12)=b(i,j-1);hao(13)=b(i,j);hao(14)=b(i,j+1);hao(15)=b(i,j+2);hao(16)=b(i+1,j-2);hao(17)=b(i+1,j-1);hao(18)=b(i+1,j);hao(19)=b(i+1,j+1);hao(20)=b(i+1,j+2);hao(21)=b(i+2,j-2);hao(22)=b(i+2,j-1);hao(23)=b(i+2,j);hao(24)=b(i+2,j+1);hao(25)=b(i+2,j+2);hao=sort(hao);W(i,j)=hao(13);endendendl(:,:,1)=P;l(:,:,2)=Ql(:,:,3)=wsubplot(2,2,4)imshow(l);original加入椒盐噪声加入椒盐噪声和高斯噪声图2 5*5的滤波窗口中值滤波比较图二和图一的第四幅图,发现对于椒盐噪声,中值滤波效果更好。