对同时含有椒盐噪声和高斯噪声的图像进行处理
基于matlab的图像高斯噪声和椒盐噪声的滤除

2.3 结论
在图像处理过程中,消除图像的噪声干扰是一个非常重要的问题,本文利用matlab软件,采用高斯滤波的方式,对带有椒盐噪声的图像进行处理,经过滤波后的图像既适合人眼的视觉感觉又能够消除图像中的干扰影响。
通过本次试验我们可以看到高斯滤波对于滤除图像的“椒盐”噪声非常有效,它可以做到既去除噪声又能保护图像的边缘,从而获得较满意的复原效果,尤其在滤除叠加白噪声和长尾叠加噪声方面显出极好的性能。
一、对于椒盐噪声,中值滤波效果比均值滤波效果好。
原因:
1、椒盐噪声是幅值近似相等但随机分布在不同的位置上,图像中有干净点也有污染点。
2、中值滤波是选择适当的点来代替污染点的值,所以处理效果好。
3、因为噪声的均值不为零,所以均值滤波不能很好地去除噪声点。
二、对于高斯噪声,均值滤波效果比中值滤波效果好。
原因:
1、高斯噪声是幅值近似正态分布,但分布在每点像素上。
2、因为图像中的每点都是污染点,所以中值滤波选不到合适的干净点。
3、因为正态分布的均值为零,所以均值滤波可以削弱噪声。
Python实现对图像加噪(高斯噪声

Python实现对图像加噪(⾼斯噪声椒盐噪声)⽬录内容简介加噪声的代码(⾼斯噪声,椒盐噪声)在pytorch中如何使⽤补充内容简介展⽰如何给图像叠加不同等级的椒盐噪声和⾼斯噪声的代码,相应的叠加噪声的已编为对应的类,可实例化使⽤。
以下主要展⽰⾃⼰编写的:加噪声的代码(⾼斯噪声,椒盐噪声)add_noise.py#代码中的noisef为信号等级,例如我需要0.7的噪声,传⼊参数我传⼊的是1-0.7from PIL import Imageimport numpy as npimport randomimport torchvision.transforms as transformsnorm_mean = (0.5, 0.5, 0.5)norm_std = (0.5, 0.5, 0.5)class AddPepperNoise(object):"""增加椒盐噪声Args:snr (float): Signal Noise Ratep (float): 概率值,依概率执⾏该操作"""def __init__(self, snr, p=0.9):assert isinstance(snr, float) and (isinstance(p, float)) # 2020 07 26 or --> andself.snr = snrself.p = pdef __call__(self, img):"""Args:img (PIL Image): PIL ImageReturns:PIL Image: PIL image."""if random.uniform(0, 1) < self.p:img_ = np.array(img).copy()h, w, c = img_.shapesignal_pct = self.snrnoise_pct = (1 - self.snr)mask = np.random.choice((0, 1, 2), size=(h, w, 1), p=[signal_pct, noise_pct/2., noise_pct/2.])mask = np.repeat(mask, c, axis=2)img_[mask == 1] = 255 # 盐噪声img_[mask == 2] = 0 # 椒噪声return Image.fromarray(img_.astype('uint8')).convert('RGB')else:return imgclass Gaussian_noise(object):"""增加⾼斯噪声此函数⽤将产⽣的⾼斯噪声加到图⽚上传⼊:img : 原图mean : 均值sigma : 标准差返回:gaussian_out : 噪声处理后的图⽚"""def __init__(self, mean, sigma):self.mean = meanself.sigma = sigmadef __call__(self, img):"""Args:img (PIL Image): PIL ImageReturns:PIL Image: PIL image."""# 将图⽚灰度标准化img_ = np.array(img).copy()img_ = img_ / 255.0# 产⽣⾼斯 noisenoise = np.random.normal(self.mean, self.sigma, img_.shape)# 将噪声和图⽚叠加gaussian_out = img_ + noise# 将超过 1 的置 1,低于 0 的置 0gaussian_out = np.clip(gaussian_out, 0, 1)# 将图⽚灰度范围的恢复为 0-255gaussian_out = np.uint8(gaussian_out*255)# 将噪声范围搞为 0-255# noise = np.uint8(noise*255)return Image.fromarray(gaussian_out).convert('RGB')def image_transform(noisef):"""对训练集和测试集的图⽚作预处理转换train_transform:加噪图_train_transform:原图(不加噪)test_transform:测试图(不加噪)"""train_transform = pose([transforms.Resize((256, 256)), # 重设⼤⼩#transforms.RandomCrop(32,padding=4),AddPepperNoise(noisef, p=0.9), #加椒盐噪声#Gaussian_noise(0, noisef), # 加⾼斯噪声transforms.ToTensor(), # 转换为张量# transforms.Normalize(norm_mean,norm_std),])_train_transform = pose([transforms.Resize((256, 256)),#transforms.RandomCrop(32,padding=4),transforms.ToTensor(),# transforms.Normalize(norm_mean,norm_std),])test_transform = pose([transforms.Resize((256, 256)),#transforms.RandomCrop(32,padding=4),transforms.ToTensor(),# transforms.Normalize(norm_mean,norm_std),])return train_transform, _train_transform, test_transform在pytorch中如何使⽤# 图像变换和加噪声train_transform为加噪图,_train_transform为原图,test_transform为测试图 noisef为传⼊的噪声等级train_transform,_train_transform,test_transform = image_transform(noisef)training_data=FabricDataset_file(data_dir=train_dir,transform=train_transform)_training_data=FabricDataset_file(data_dir=_train_dir,transform=_train_transform)testing_data=FabricDataset_file(data_dir=test_dir,transform=test_transform)补充图像添加随机噪声随机噪声就是通过随机函数在图像上随机地添加噪声点def random_noise(image,noise_num):'''添加随机噪点(实际上就是随机在图像上将像素点的灰度值变为255即⽩⾊):param image: 需要加噪的图⽚:param noise_num: 添加的噪⾳点数⽬,⼀般是上千级别的:return: img_noise'''## 参数image:,noise_num:img = cv2.imread(image)img_noise = img# cv2.imshow("src", img)rows, cols, chn = img_noise.shape# 加噪声for i in range(noise_num):x = np.random.randint(0, rows)#随机⽣成指定范围的整数y = np.random.randint(0, cols)img_noise[x, y, :] = 255return img_noiseimg_noise = random_noise("colorful_lena.jpg",3000)cv2.imshow('random_noise',img_noise)cv2.waitKey(0)以上就是Python实现对图像添加⾼斯噪声或椒盐噪声的详细内容,更多关于Python的资料请关注其它相关⽂章!。
实验三 图像的空域滤波

subplot(3,3,4), imshow(I3,[ ]), title('¸ß˹ÔëÉù¾ùÖµÂ˲¨ºóͼÏñ');
subplot(3,3,5), imshow(K), title('¼Ó½·ÑÎÔëÉùͼÏñ');
subplot(1,3,3), imshow(I2, [ ]), title('均值滤波后图像');
模版尺寸为[10,10],对加有高斯噪声的图像进行均值滤波
I=imread('pout.tif');
J=imnoise(I,'gaussian', 0.02);
h=fspecial('average', 10);
2、分别采用不同大小的模板对加有噪声的图像进行均值滤波,用一个图像处理对话框显示原图像、加有噪声的图像及均值滤滤波,用一个图像处理对话框显示原图像、加有噪声的图像及中值滤波的图像。比较结果。
4、采用大小相同的模板对加有噪声的图像分别进行均值滤波和中值滤波,用一个图像处理对话框显示原图像、加有噪声的图像、均值滤波的图像及中值滤波的图像。比较结果。
J=imnoise(I,'gaussian', 0.02);
h=fspecial('average', 3);
I2=filter2(h, J);
subplot(1,3,1), imshow(I), title('原图像');
subplot(1,3,2), imshow(J), title('加高斯噪音后的图像');
中值滤波和均值滤波

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

高斯噪声和椒盐噪声公式全文共四篇示例,供读者参考第一篇示例:高斯噪声和椒盐噪声是数字图像处理中常见的两种噪声类型,对图像质量有着不同程度的影响。
在图像处理中,我们经常需要对噪声进行消除或降低,因此了解这两种噪声的特点和产生公式对于图像处理非常重要。
一、高斯噪声高斯噪声又称为白噪声,它是在图像中产生的一种随机噪声。
在实际应用中,由于各种因素如传感器的不确定性、环境的干扰等,会导致图像中出现高斯噪声。
一般来说,高斯噪声是服从高斯分布的随机变量产生的噪声。
高斯噪声的数学模型可以表示为: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. 高斯噪声是符合高斯分布的随机噪声,其幅值变化在一个比较小的范围内,呈现连续性;而椒盐噪声是不规则的黑白点分布,呈现离散性。
10种常用滤波方法

10种常用滤波方法
滤波是信号处理领域中常用的技术,用于去除噪声、增强信号的一些特征或改变信号的频谱分布。
在实际应用中,经常使用以下10种常用滤波方法:
1.均值滤波:将像素点周围邻域像素的平均值作为该像素点的新值,适用于去除高斯噪声和椒盐噪声。
2.中值滤波:将像素点周围邻域像素的中值作为该像素点的新值,适用于去除椒盐噪声和激动噪声。
3.高斯滤波:使用高斯核函数对图像进行滤波,通过调整高斯窗口的大小和标准差来控制滤波效果。
适用于去除高斯噪声。
4.双边滤波:通过考虑像素的空间距离和像素值的相似性,对图像进行滤波。
适用于平滑图像的同时保留边缘信息。
5. 锐化滤波:通过滤波操作突出图像中的边缘和细节信息,常用的方法有拉普拉斯滤波和Sobel滤波。
6.中可变值滤波:与中值滤波相似,但适用于非线性信号和背景噪声的去除。
7.分位值滤波:通过对像素值进行分位数计算来对图像进行滤波,可以去除图像中的异常像素。
8.快速傅里叶变换滤波:通过对信号进行傅里叶变换,滤除特定频率的成分,常用于频谱分析和滤波。
9.小波变换滤波:利用小波变换的多尺度分析特性,对信号进行滤波处理,适用于图像去噪和图像压缩。
10.自适应滤波:通过根据信号的局部特征自动调整滤波参数,适用于信号中存在时间和空间变化的情况。
以上是常见的10种滤波方法,每种方法都有不同的适用场景和优缺点。
在实际应用中,选择合适的滤波方法需要根据具体的信号特征和处理需求来确定。
对同时含有椒盐噪声和高斯噪声的图像进行处理

目录一、摘要二、均值滤波三、中值滤波四、超限像素平滑法五、总结六、参考文献一、摘要图像信号在产生、传输和记录的过程中,经常会受到各种噪声的干扰,噪声可以理解为妨碍人的视觉器官或系统传感器对所接收图像源信息进行理解或分析的各种元素。
噪声对图像的输入、采集、处理的各个环节以及最终输出结果都会产生一定影响。
图像去噪是数字图像处理中的重要环节和步骤。
去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。
一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等。
我们平常使用的滤波方法一般有均值滤波、中值滤波和维纳滤波,他们分别对某种噪声的滤除有较好的效果,但对于同时存在高斯噪声和椒盐噪声的图像处理的效果可能不会太好,在这里我们分别用多种方法对图像噪声进行处理,对比使用效果。
关键词:图像去噪、常见噪声、多种方法、使用效果。
二、均值滤波均值滤波算法:也称线性滤波,主要思想为邻域平均法。
假设图像有由许多灰度恒定的小块组成,相邻像素间存在很高的空间相关性,而噪声则是独立的,则可用像素邻域内的各像素的灰度平均值代替该像素原来的灰度值,实现图像的平滑。
这种算法简单,处理速度快,但它的主要缺点是在降低噪声的同时使图像产生模糊,特别是在边缘和细节处。
而且邻域越大,在去噪能力增强的同时模糊程度越严重。
均值滤波对同时含有高斯和椒盐噪声的图像的处理:I1=imread('Miss.bmp');subplot(2,2,1);imshow(I1);title('原图');k1=imnoise(I1,'salt & pepper',0.01);I=imnoise(k1,'gaussian',0.01);subplot(2,2,2);imshow(I)title('加入高斯和椒盐噪声以后');[a,b]=size(I);I2=zeros(a+2,b+2);I3=zeros(a,b);for n=1:afor m=1:bI2(n+1,m+1)=I(n,m);end;end;for n=2:afor m=2:bI3(n-1,m-1)=[I2(n-1,m-1)+I2(n-1,m)+I2(n-1,m+1)+I2(n,m-1)+I2(n,m)+I2(n,m+1)+I2(n+1,m-1)+I2(n+1,m)+I2(n+1,m+1)]/9;end;end;subplot(2,2,3);imshow(uint8(I3));title('3*3均值滤波以后');[a,b]=size(I);I4=zeros(a+4,b+4);I5=zeros(a,b);for n=1:afor m=1:bI4(n+2,m+2)=I(n,m);end;end;for n=3:afor m=3:bI5(n-2,m-2)=[I4(n-2,m-2)+I4(n-2,m-1)+I4(n-2,m)+I4(n-2,m+1)+I4(n-2,m+2)+I4(n-1,m-2)+I4(n-1,m-1)+I4(n-1,m)+I4(n-1,m+1)+I4(n-1,m+2)+I4(n,m-2)+I4(n,m-1)+I4( n,m)+I4(n,m+1)+I4(n,m+2)+I4(n+1,m-2)+I4(n+1,m-1)+I4(n+1,m)+I4(n+1,m+1)+I4(n+ 1,m+2)+I4(n+2,m-2)+I4(n+2,m-1)+I4(n+2,m)+I4(n+2,m+1)+I4(n+2,m+2)]/25;end;end;subplot(2,2,4);imshow(uint8(I5));title('5*5均值滤波以后');运行效果:orginal加入噪声以后3*3平滑以后5*5平滑以后均值滤波对同时含有高斯和椒盐噪声的图像处理分析:根据对上图的观察可以明显发现,使用均值滤波对高斯噪声进行去噪效果比较好,虽然对椒盐也有效果,但是不如对高斯噪声的处理效果好。
“教”计算机处理图片智慧树知到答案2024年湖南文理学院

“教”计算机处理图片湖南文理学院智慧树知到答案2024年绪论单元测试1.下列属于数字图像处理的应用的是()。
A:伽马射线成像 B:可见光及红外波段成像 C:无线电波成像 D:紫外波段成像E:X射线成像 F:微波波段成像答案:ABCDEF第一章测试1.数字图像处理相对于模拟图像处理的优点有:A:精度高B:再现性好C:通用性好D:图像采集环境要求高答案:ABC2.数字图像处理的基本特点有有:A:相关性大B:综合性强C:信息量大D:受人的影响因素小答案:ABC3.图像数字化包括()两个过程。
A:离散化B:降噪C:量化D:采样答案:CD4.图像只存在可见光谱中。
A:错 B:对答案:A5.一幅有着100行,每行有1000个像素的图像,每一个像素可以取256个不同的值,存储这幅图像需要()bitsA:比计算机中的硬盘驱动器大B:10,000C:25,600,000D:800,000答案:D6.因为直方图是近似的概率密度函数,所以用离散灰度级做变换时,很少能得到完全的平坦结果。
A:错 B:对答案:B7.量化级数最小的情况,极端情况就是二值图像,图像出现假轮廓。
A:错 B:对答案:B8.抽样指的是A:空间图像域的离散化B:测试图像中对象的可能位置C:图像像素可以获取的值的离散化D:像素值的反转答案:A9.对具有同一背景和目标但成像效果不同的图像进行直方图均衡化处理,下列说法正确的是A:对不同条件下图像直方图均衡化效果一样B:对灰度均匀的图像直方图均衡化效果好C:对灰度整体偏暗的图像直方图均衡化效果好D:对灰度整体偏亮的图像直方图均衡化效果好答案:A10.量化指的是A:空间图像域的离散化 B:测试图像中对象的可能位置 C:图像像素可以采用的值的离散化 D:像素值的反转答案:C第二章测试1.图像旋转后,可能会出现一些空白点,不需对这些空白点进行灰度级的插值处理。
A:错 B:对答案:A2.图像的镜像变换不改变图像的形状。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录一、摘要二、均值滤波三、中值滤波四、超限像素平滑法五、总结六、参考文献一、摘要图像信号在产生、传输和记录的过程中,经常会受到各种噪声的干扰,噪声可以理解为妨碍人的视觉器官或系统传感器对所接收图像源信息进行理解或分析的各种元素。
噪声对图像的输入、采集、处理的各个环节以及最终输出结果都会产生一定影响。
图像去噪是数字图像处理中的重要环节和步骤。
去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。
一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等。
我们平常使用的滤波方法一般有均值滤波、中值滤波和维纳滤波,他们分别对某种噪声的滤除有较好的效果,但对于同时存在高斯噪声和椒盐噪声的图像处理的效果可能不会太好,在这里我们分别用多种方法对图像噪声进行处理,对比使用效果。
关键词:图像去噪、常见噪声、多种方法、使用效果。
二、均值滤波均值滤波算法:也称线性滤波,主要思想为邻域平均法。
假设图像有由许多灰度恒定的小块组成,相邻像素间存在很高的空间相关性,而噪声则是独立的,则可用像素邻域内的各像素的灰度平均值代替该像素原来的灰度值,实现图像的平滑。
这种算法简单,处理速度快,但它的主要缺点是在降低噪声的同时使图像产生模糊,特别是在边缘和细节处。
而且邻域越大,在去噪能力增强的同时模糊程度越严重。
均值滤波对同时含有高斯和椒盐噪声的图像的处理:I1=imread('Miss.bmp');subplot(2,2,1);imshow(I1);title('原图');k1=imnoise(I1,'salt & pepper',0.01);I=imnoise(k1,'gaussian',0.01);subplot(2,2,2);imshow(I)title('加入高斯和椒盐噪声以后');[a,b]=size(I);I2=zeros(a+2,b+2);I3=zeros(a,b);for n=1:afor m=1:bI2(n+1,m+1)=I(n,m);end;end;for n=2:afor m=2:bI3(n-1,m-1)=[I2(n-1,m-1)+I2(n-1,m)+I2(n-1,m+1)+I2(n,m-1)+I2(n,m)+I2(n,m+1)+I2(n+1,m-1)+I2(n+1,m)+I2(n+1,m+1)]/9;end;end;subplot(2,2,3);imshow(uint8(I3));title('3*3均值滤波以后');[a,b]=size(I);I4=zeros(a+4,b+4);I5=zeros(a,b);for n=1:afor m=1:bI4(n+2,m+2)=I(n,m);end;end;for n=3:afor m=3:bI5(n-2,m-2)=[I4(n-2,m-2)+I4(n-2,m-1)+I4(n-2,m)+I4(n-2,m+1)+I4(n-2,m+2)+I4(n-1,m-2)+I4(n-1,m-1)+I4(n-1,m)+I4(n-1,m+1)+I4(n-1,m+2)+I4(n,m-2)+I4(n,m-1)+I4( n,m)+I4(n,m+1)+I4(n,m+2)+I4(n+1,m-2)+I4(n+1,m-1)+I4(n+1,m)+I4(n+1,m+1)+I4(n+ 1,m+2)+I4(n+2,m-2)+I4(n+2,m-1)+I4(n+2,m)+I4(n+2,m+1)+I4(n+2,m+2)]/25;end;end;subplot(2,2,4);imshow(uint8(I5));title('5*5均值滤波以后');运行效果:orginal加入噪声以后3*3平滑以后5*5平滑以后均值滤波对同时含有高斯和椒盐噪声的图像处理分析:根据对上图的观察可以明显发现,使用均值滤波对高斯噪声进行去噪效果比较好,虽然对椒盐也有效果,但是不如对高斯噪声的处理效果好。
另外处理时选用的邻域半径越大效果越好,当然其代价也会更大,在去噪的同时图像失去的信息也会更多的。
三、中值滤波基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。
中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。
其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。
很容易自适应化。
中值滤波对同时含有高斯和椒盐噪声的图像的处理:I=imread('Miss.bmp');subplot(2,2,1);imshow(I);title('原图');k1=imnoise(I,'salt & pepper',0.01);K=imnoise(k1,'gaussian',0.01);subplot(2,2,2)imshow(K);title('加入高斯和椒盐噪声以后');[a,b]=size(K);for i=1:afor j=1:bif(i==1|i==a|j==1|j==b)G(i,j)=K(i,j);elseJ=[K(i-1,j-1),K(i-1,j),K(i-1,j+1),K(i,j-1),K(i,j),K(i,j+1),K(i+1,j-1),K(i+1, j),K(i+1,j+1)];J=sort(J);G3(i,j)=J(5);endendendsubplot(2,2,3);imshow(G3);title('3*3中值滤波以后');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)G5(i,j)=K(i,j);elseJ=[K(i-2,j-2),K(i-2,j-1),K(i-2,j),K(i-2,j+1),K(i-2,j+2),K(i-1,j-2),K(i-1,j-1 ),K(i-1,j),K(i-1,j+1),K(i-1,j+2),K(i,j-2),K(i,j-1),K(i,j),K(i,j+1),K(i,j+2), K(i+1,j-2),K(i+1,j-1),K(i+1,j),K(i+1,j+1),K(i+1,j+2),K(i+2,j-2),K(i+2,j-1),K (i+2,j),K(i+2,j+1),K(i+2,j+2)];J=sort(J);G5(i,j)=J(13);endendendsubplot(2,2,4)imshow(G5);title('5*5中值滤波以后');运行效果图:原图加入高斯和椒盐噪声以后3*3中值滤波以后5*5中值滤波以后中值滤波对同时含高斯和椒盐噪声的图像滤波效果分析:通过上图我们可得出结论,即中值滤波对于去除椒盐噪声效果最好,而对高斯噪声不是很理想。
中值滤波对于去除椒盐噪声效果明显,是因为椒盐噪声只在画面上的部分点随机出现,而中值滤波根据数据排序,将未被污染的点代替噪声点的值的概率较大,所以抑制效果好。
对点、线和尖顶较多的图像不宜采用中值滤波,因为一些细节点可能被当成噪声点。
四、中值和均值综合滤波根据以上对图像的处理可以发现,均值滤波和中值滤波对两种噪声的去除各有侧重,单独使用时对同时含有高斯和椒盐噪声的图像的处理并不理想。
因此可以对污染图像先进行一次中值滤波,对椒盐噪声进行一次处理,然后再用均值滤波对高斯噪声进行处理。
均值和中值滤波对污染图像进行处理:I=imread('Miss.bmp');subplot(2,2,1);imshow(I);title('原图');k1=imnoise(I,'salt & pepper',0.01);K=imnoise(k1,'gaussian',0.01);subplot(2,2,2)imshow(K);title('加入高斯和椒盐噪声以后');[a,b]=size(K);for i=1:afor j=1:bif(i==1|i==a|j==1|j==b)G(i,j)=K(i,j);elseJ=[K(i-1,j-1),K(i-1,j),K(i-1,j+1),K(i,j-1),K(i,j),K(i,j+1),K(i+1,j-1),K(i+1, j),K(i+1,j+1)];J=sort(J);L(i,j)=J(5);endendendsubplot(2,2,3);imshow(L);title('3*3Ö中值滤波以后');[x,y]=size(L)I2=zeros(x+2,y+2);I3=zeros(x,y);for n=1:xfor m=1:yI2(n+1,m+1)=L(n,m);end;end;for n=2:xfor m=2:yI3(n-1,m-1)=[I2(n-1,m-1)+I2(n-1,m)+I2(n-1,m+1)+I2(n,m-1)+I2(n,m)+I2(n,m+1)+I 2(n+1,m-1)+I2(n+1,m)+I2(n+1,m+1)]/9;end;end;subplot(2,2,4);imshow(uint8(I3));title('3*3均值滤波以后');运行效果图:原图加入高斯和椒盐噪声以后3*3中值滤波以后3*3均值滤波以后从运行效果可以看出,相对于只用一种方法进行滤波,进行中值和均值综合滤波以后,污染图像的噪声去除是比较好的。
但经过两次滤波后,图像的信息的损失也比较多。
五、总结一、对于椒盐噪声,中值滤波效果比均值滤波效果好。
原因:1、椒盐噪声是幅值近似相等但随机分布在不同的位置上,图像中有干净点也有污染点。
2、中值滤波是选择适当的点来代替污染点的值,所以处理效果好。
3、因为噪声的均值不为零,所以均值滤波不能很好地去除噪声点。
二、对于高斯噪声,均值滤波效果比中值滤波效果好。
原因:1、高斯噪声是幅值近似正态分布,但分布在每点像素上。
2、因为图像中的每点都是污染点,所以中值滤波选不到合适的干净点。
3、因为正态分布的均值为零,所以均值滤波可以削弱噪声。
六、参考文献1《数字图像处理》电子工业出版社贾长虹 20032《数字图像处理(Matlab版)》电子工业出版社冈萨雷斯 2006 3《MATLAB在数字信号处理中的应用》清华大学出版社薛年喜 2003 4《MATLAB数字图像处理》机械工业出版社刘刚 2010。