同时含有椒盐噪声和高斯噪声的图像消噪处理
- 格式:doc
- 大小:668.50 KB
- 文档页数:8
2.3 结论
在图像处理过程中,消除图像的噪声干扰是一个非常重要的问题,本文利用matlab软件,采用高斯滤波的方式,对带有椒盐噪声的图像进行处理,经过滤波后的图像既适合人眼的视觉感觉又能够消除图像中的干扰影响。
通过本次试验我们可以看到高斯滤波对于滤除图像的“椒盐”噪声非常有效,它可以做到既去除噪声又能保护图像的边缘,从而获得较满意的复原效果,尤其在滤除叠加白噪声和长尾叠加噪声方面显出极好的性能。
一、对于椒盐噪声,中值滤波效果比均值滤波效果好。
原因:
1、椒盐噪声是幅值近似相等但随机分布在不同的位置上,图像中有干净点也有污染点。
2、中值滤波是选择适当的点来代替污染点的值,所以处理效果好。
3、因为噪声的均值不为零,所以均值滤波不能很好地去除噪声点。
二、对于高斯噪声,均值滤波效果比中值滤波效果好。
原因:
1、高斯噪声是幅值近似正态分布,但分布在每点像素上。
2、因为图像中的每点都是污染点,所以中值滤波选不到合适的干净点。
3、因为正态分布的均值为零,所以均值滤波可以削弱噪声。
一.加噪f=imread('mch.tif');figure(1);imshow(f);title('原始图像');g=imnoise(f,'salt & pepper',0.2);figure(2);imshow(g);title('椒盐噪声污染的图像');二.图像去噪1.均值滤波器【1】均值滤波:本例对一幅数字图像添加高斯噪声,并分别用3*3和7*7均值滤波模板进行噪声的滤除。
所需程序代码如下:clear all%打开图像I=imread('mch.tif');%创建均值滤波模板H1=ones(3)/9;H2=ones(7)/49;%添加高斯噪声,均值为0,方差为0.02 J=imnoise(I,'gaussian',0,0.02);%转换J为double数据类型J=double(J);%均值滤波G1=conv2(J,H1,'same');G2=conv2(J,H2,'same');%图像显示subplot(2,2,1);imshow(I);title('原始图像');subplot(2,2,2);imshow(J,[]);title('添加高斯噪声图像');subplot(2,2,3);imshow(G1,[]);title('3*3均值滤波图像');subplot(2,2,4);imshow(G2,[]);title('7*7均值滤波图像');【2】超限像素平滑法:clear all%打开图像I=imread('pout.tif');[m n]=size(I);%求图像尺寸T=50;%设定阈值G=[];%创建均值滤波模板H1=ones(3)/9;%添加椒盐噪声J=imnoise(I,'salt & pepper',0.05);%转换J为double数据类型J=double(J);%均值滤波G1=conv2(J,H1,'same');%超限像素平滑for i=1:mfor j=1:nif abs(J(i,j)-G1(i,j))>TG(i,j)=G1(i,j);elseG(i,j)=J(i,j);endendend%图像显示subplot(2,2,1);imshow(I);title('原始图像');subplot(2,2,2);imshow(J,[]);title('添加椒盐噪声图像');subplot(2,2,3);imshow(G1,[]);title('3*3均值滤波图像');subplot(2,2,4);imshow(G,[]);title('超限像素平滑图像');2. 中值滤波clear all%打开图像I=imread('21.tif');%添加椒盐噪声N1=imnoise(I,'salt & pepper',0.04); %添加高斯噪声N2=imnoise(I,'gaussian',0,0.02);%添加乘性噪声N3=imnoise(I,'speckle',0.02);G1=medfilt2(N1);G2=medfilt2(N2);G3=medfilt2(N3);%分别显示噪声图像和中值滤波图像subplot(2,3,1);imshow(N1);title('添加椒盐噪声图像');subplot(2,3,2);imshow(N2);title('添加高斯噪声图像');subplot(2,3,3);imshow(N3);title('添加乘性噪声图像');subplot(2,3,4);imshow(G1);title('椒盐噪声中值滤波图像'); subplot(2,3,5);imshow(G2);title('高斯噪声中值滤波图像'); subplot(2,3,6);imshow(G3);title('乘性噪声中值滤波图像');3. 维纳滤波【1】clear allI=imread('mch.tif');%添加高斯噪声N1=imnoise(I,'gaussian',0,0.005);%wiener2滤波J1=wiener2(N1,[5 5]);%分别显示噪声图像和滤波图像subplot(1,2,1);imshow(N1);title('添加高斯噪声图像');subplot(1,2,2);imshow(J1);title('维纳滤波图像');【2】%读原图i=imread('20.tif');subplot(2,2,1);imshow(i);title('原图');axis square;j=imnoise(i,'gaussian',0,0.1);subplot(2,2,2);imshow(j);title('加噪图像');axis square;%用sym4小波函数对j进行2层分解[c,l]=wavedec2(j,2,'sym4');%实现低通滤波消噪a1=uint8(wrcoef2('a',c,l,'sym4',2));%用coif2小波函数对j进行2层分解[gc,gl]=wavedec2(a1,2,'coif2');n=[1,2];%设置尺度向量p=[10.28,24.08];%设置阈值向量%对三个高频系数进行阈值处理nc=wthcoef2('h',gc,gl,n,p,'s');nc=wthcoef2('v',gc,gl,n,p,'s');nc=wthcoef2('d',gc,gl,n,p,'s');mc=wthcoef2('h',gc,gl,n,p,'s');mc=wthcoef2('v',gc,gl,n,p,'s');mc=wthcoef2('d',gc,gl,n,p,'s');%对更新后的小波分解结构进行阈值处理x2=waverec2(mc,gl,'coif2');%进行中值滤波for ii=1:252;for jj=1:252;temp=0;for m=0:3for n=0:3temp=temp+double(x2(ii+m,jj+n));endendtemp=temp/16;x4(ii,jj)=temp;endendfor ii=253:256for jj=253:256x4(ii,jj)=double(i(ii,jj));endend%显示去噪图像subplot(2,2,3);imshow(uint8(x4));title('消噪图像');axis square;4. 小波图像降噪【1】使用wdencmp函数%装载图像load sinsin%添加噪声init=20100111;randn('seed',init);x=X+18*randn(size(X));%获取默认值[thr,sorh,keepapp]=ddencmp('den','wv',x);%使用全局阈值降噪xd=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);subplot(2,2,1)imshow(X,map);title('原始图像');subplot(2,2,2)imshow(x,map);title('加噪图像');subplot(2,2,3)imshow(xd,map);title('降噪图像');【2】使用wbmpen函数%装载图像load belmont2;nbc=size(map,1);%使用coif2执行图象的3层小波分解wname='coif2';lev=3;[c,s]=wavedec2(X,lev,wname);%由第1层的系数估计噪声标准差det1=detcoef2('compact',c,s,1);sigma=median(abs(det1))/0.6745;%对图像降噪,用wbmpen函数选择全局阈值alpha=1.2;thr=wbmpen(c,1,sigma,alpha);%使用软阈值和保存的低频信号,进行图像降噪keepapp=1;xd=wdencmp('gbl',c,s,wname,lev,thr,'s',keepapp);%结果显示colormap(pink(nbc));subplot(1,2,1);image(wcodemat(X,nbc));title('原始图像');subplot(1,2,2);image(wcodemat(xd,nbc));title(['降噪图像''THR='num2str(thr)]);5.形态学噪声滤除三.图像复原最小二乘方滤波复原(用NP)clear all%产生棋盘图像I=checkerboard(32);%高斯卷积造成图像模糊PSF=fspecial('gaussian',8,12);Blurred_I=imfilter(I,PSF,'conv');%添加噪声V=0.02;Blurred_I_Noisy=imnoise(Blurred_I,'gaussian',0,V);%噪声功率NP=V*prod(size(I));%真实PSF和NP图像复原J1=deconvreg(Blurred_I_Noisy,PSF,NP);%真实PSF和过大的NP图像复原J2=deconvreg(Blurred_I_Noisy,PSF,2*NP);%真实PSF和过小的NP图像复原J3=deconvreg(Blurred_I_Noisy,PSF,0.6*NP);ED=edgetaper(Blurred_I_Noisy,PSF);J4=deconvreg(ED,PSF,0.6*NP);subplot(2,3,1);imshow(I,[]);title('原始图像');subplot(2,3,2);imshow(Blurred_I_Noisy,[]);title('高斯模糊噪声图像');subplot(2,3,3);imshow(J1,[]);title('真实NP复原图像');subplot(2,3,4);imshow(J2,[]);title('过大的NP复原图像');subplot(2,3,5);imshow(J3,[]);title('过小的NP复原图像');subplot(2,3,6);imshow(J4,[]);title('振铃抑制复原图像');四.图像的去噪【注】用四种方法实现图像去噪1.clear all%打开图像I=imread('21.tif');%创建均值滤波模板H1=ones(3)/9;%高斯卷积造成图像模糊PSF=fspecial('gaussian',8,12);Blurred_I=imfilter(I,PSF,'conv');%添加噪声V=0.02;J=imnoise(Blurred_I,'gaussian',0,V); %噪声功率NP=V*prod(size(I));%真实PSF和NP图像复原J2=deconvreg(J,PSF,NP);%均值滤波G1=conv2(J,H1,'same');%中值滤波G2=medfilt2(J);%wiener2滤波J1=wiener2(J,[5 5]);%图像显示subplot(2,3,1);imshow(I);title('原始图像');subplot(2,3,2);imshow(J,[]);title('高斯模糊噪声图像');subplot(2,3,3);imshow(J2,[]);title('真实NP复原图像');subplot(2,3,4);imshow(G1,[]);title('3*3均值滤波图像');subplot(2,3,5);imshow(G2);title('中值滤波图像');subplot(2,3,6);imshow(J1);title('维纳滤波图像');2.%装载图像load sinsin%添加噪声init=20100111;randn('seed',init);x=X+18*randn(size(X));%获取默认值[thr,sorh,keepapp]=ddencmp('den','wv',x);%使用全局阈值降噪xd=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);%wiener2滤波J=wiener2(x,[5 5]);%中值滤波J1=medfilt2(x);%创建均值滤波模板H=ones(7)/49;%均值滤波J2=conv2(x,H,'same');%图像显示subplot(2,3,1)imshow(X,map);title('原始图像');subplot(2,3,2)imshow(x,map);title('加噪图像');subplot(2,3,3)imshow(xd,map);title('小波降噪图像');subplot(2,3,4)imshow(J,map);title('维纳滤波图像');subplot(2,3,5)imshow(J1,map);title('中值滤波图像');subplot(2,3,6)imshow(J2,map);title('均值滤波图像');3.clear all%打开图像I=imread('mch.tif')[m n]=size(I);%求图像尺寸T=50;%设定阈值G=[];%高斯卷积造成图像模糊PSF=fspecial('gaussian',8,12);Blurred_I=imfilter(I,PSF,'conv');%添加噪声V=0.02;Blurred_I_Noisy=imnoise(Blurred_I,'gaussian',0,V); %噪声功率NP=V*prod(size(I));%真实PSF和NP图像复原J=deconvreg(Blurred_I_Noisy,PSF,NP);%wiener2滤波J1=wiener2(Blurred_I_Noisy,[5 5]);%中值滤波J2=medfilt2(Blurred_I_Noisy);%创建均值滤波模板H=ones(7)/49;%均值滤波J3=conv2(Blurred_I_Noisy,H,'same');%超限像素平滑for i=1:mfor j=1:nif abs( Blurred_I_Noisy(i,j)-J3(i,j))>TG(i,j)=J3(i,j);elseG(i,j)= Blurred_I_Noisy(i,j);endendendsubplot(2,4,1);imshow(I,[]);title('原始图像');subplot(2,4,2);imshow(Blurred_I_Noisy,[]);title('高斯模糊噪声图像');subplot(2,4,3);imshow(J,[]);title('真实NP复原图像');subplot(2,4,4);imshow(J1,[]);title('维纳滤波图像');subplot(2,4,5);imshow(J2,[]);title('中值滤波图像');subplot(2,4,6);imshow(J3,[]);title('均值滤波图像');subplot(2,4,7);imshow(G,[]);title('超限像素平滑图像');4. clear all%打开图像I=imread('mch.tif');%创建均值滤波模板H1=ones(3)/9;H2=ones(7)/49;%添加高斯噪声,均值为0,方差为0.02 J=imnoise(I,'gaussian',0,0.02);%转换J为double数据类型J=double(J);%均值滤波G1=conv2(J,H1,'same');G2=conv2(J,H2,'same');%wiener2滤波J1=wiener2(J,[5 5]);%中值滤波G3=medfilt2(J);%图像显示subplot(3,2,1);imshow(I);title('原始图像'); subplot(3,2,2);imshow(J,[]);title('添加高斯噪声图像'); subplot(3,2,3);imshow(G1,[]);title('3*3均值滤波图像'); subplot(3,2,4);imshow(G2,[]);title('7*7均值滤波图像'); subplot(3,2,5);imshow(J1,[]);title('维纳滤波图像'); subplot(3,2,6);imshow(G3,[]);title('中值滤波图像');5.clear all%打开图像I=imread('21.tif');%创建均值滤波模板H=ones(7)/49;%添加高斯噪声,均值为0,方差为0.02 J=imnoise(I,'gaussian',0,0.02);%转换J为double数据类型J=double(J);%均值滤波G1=conv2(J,H,'same');%获取默认值[thr,sorh,keepapp]=ddencmp('den','wv',J);%使用全局阈值降噪G2=wdencmp('gbl',J,'sym4',2,thr,sorh,keepapp); %wiener2滤波G3=wiener2(J,[5 5]);%中值滤波G4=medfilt2(J);%图像显示subplot(3,2,1);imshow(I);title('原始图像');subplot(3,2,2);imshow(J,[]);title('添加高斯噪声图像');subplot(3,2,3);imshow(G1,[]);title('7*7均值滤波图像');subplot(3,2,4);imshow(G2,[]);title('小波降噪图像');subplot(3,2,5);imshow(G3,[]);title('维纳滤波图像');subplot(3,2,6);imshow(G4,[]);title('中值滤波图像');。
数字图像中高斯噪声的消除摘要本文主要研究图像同时受到高斯噪声的滤除。
实际图像在形成、传输的过程中,由于各种干扰因素的存在会受到噪声的污染,而且可能同时受到多种噪声的干扰,如脉冲噪声、高斯噪声、均匀噪声等。
噪声,被理解为妨碍人的视觉器官或系统传感器对所接收图像源信息进行理解或分析的各种因素。
对噪声的认识非常重要,它影响图像的输入、采集、处理的各个环节以及结果输出全过程,特别是图像的输入采集过程中,若输入中含有大量噪声,必然影响处理全过程及输出结果。
图像再传输的过程中会受到高斯噪声的影响,使图像模糊。
本文概述了几种空域和频域滤波的基本原理。
对低通滤波、维纳滤波中、值滤波和均值滤波四种去噪方法去除零均值不同标准差的高斯噪声叠加进了分析比较和仿真实现。
最后结合理论分析和实验结果,讨论了一个完整去噪算法中影响去噪性能的各种因素。
关键字: 滤波MATLAB 高斯噪声低通滤波维纳滤波中值滤波均值滤波目录摘要 (2)数字图像中高斯噪声的消除 (1)1噪声与图像 (1)1.1噪声的概念 (1)1.2常见的噪声及其对图像的影响 (1)1.3 含噪模型 (1)1.4常见的滤波器简介 (2)1.5 高斯噪声模型 (2)2图像质量的评价 (3)2.1 主观评价 (3)2.2 客观评价 (3)3图像去噪原理 (5)3.1低通滤波器 (5)3.2维纳滤波器 (5)3.3中值滤波器 (6)3.4均值滤波器 (6)4 用MATLAB程序处理 (6)4.1 Matlab编程 (6)4.2运行结果 (7)5总结 (8)I6参考文献 (9)附录1 (10)II数字图像中高斯噪声的消除1噪声与图像1.1噪声的概念噪声可以理解为“ 妨碍人们感觉器官对所接收的信源信息理解的因素”。
例如一幅黑白图片,其平面亮度分布假定为,那么对其接收起干扰作用的亮度分布即可称为图像噪声。
数字图像的主要是来源于图像的获取和传输过程,图像传感器的工作情况会受到各种因素的影响,如图像获取的环境条件,器件的质量,电磁干扰等都是产生噪声的因素。
图像噪声图像在摄取或传输时所受的随机信号干扰,表现为图像信息或者像素亮度的随机变化。
一张图像通常会包含很多噪声,很多时候将图像噪声看成是多维随机过程。
·噪声来源①图像在拍摄时不够明亮、亮度不够均匀;②电路各元器件自身噪声和相互影响;③传感器长期工作温度过高等。
·常见噪声高斯噪声:高斯噪声又称为正态噪声,在噪声图像的统计直方图上呈正态分布。
高斯噪声对原图像的影响是随机,特别常见的一种噪声。
椒盐噪声:脉冲噪声又称为椒盐噪声,因为用椒盐来命名特别形象。
它是一种随机出现的黑点(胡椒)或者白点(盐),前者是高灰度噪声,后者是低灰度噪声,一般两者同时出现在图像中。
·噪声的坏处①噪声污染的图像其可读性变差,清晰度变低;②可导致违规摄像头误判,有用可读点变少;③即便对图像进行去噪,其清晰度依然没有比不上原图。
·噪声处理空间域滤波:在原图像上直接进行数据运算,对像素的灰度值进行处理,常见算法有中值和均值滤波。
变换域滤波:对图像进行某种变换,将图像从空间域转换到变换域,再对变换域中的变换系数进行处理,再进行反变换将图像从变换域转换到空间域。
有傅立叶变换和小波变换等方法。
偏微分方程:过随时间变化的更新,使得图像向所要得到的效果逐渐逼近。
可以在去除噪声的同时,很好的保持边缘。
变分法:确定图像的能量函数,通过对能量函数的最小化工作,使得图像达到平滑状态。
·常见噪声处理算法均值滤波算术均值滤波:滤出加性噪声,但丢失细节算术均值滤波器就是简单的计算窗口区域的像素均值,然后将均值赋值给窗口中心点处的像素几何均值滤波:更好保护细节滤波后图像的像素由模板窗口内像素的乘积的1/mn幂给出。
中值滤波把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围像素的值接近真实值,从而消除孤立的噪声点。
·利用MATLAB实现图像去噪利用MATLAB图像处理工具箱的imfilter函数实现均值滤波和中值滤波。
中值滤波和均值滤波中值滤波和均值滤波是数字图像处理中常用的两种滤波方法,它们在图像去噪和平滑处理中起着重要的作用。
本文将从原理、应用以及优缺点等方面介绍这两种滤波方法。
一、中值滤波中值滤波是一种非线性滤波方法,其基本原理是用像素点周围邻域内的中值来代替该像素点的灰度值。
中值滤波可以有效地去除图像中的椒盐噪声和脉冲噪声,同时能够保持图像的边缘信息。
其处理过程如下: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. 高斯噪声是符合高斯分布的随机噪声,其幅值变化在一个比较小的范围内,呈现连续性;而椒盐噪声是不规则的黑白点分布,呈现离散性。
文章编号:1001-4098(2008)10-0123-04一种含椒盐噪声图像去噪的新方法唐斌兵,王正明,汪雄良(国防科技大学信息系统与管理学院,湖南长沙 410073)摘 要:经典基追踪模型不适用于非高斯噪声环境下的图像去噪问题。
基于不同的拟合误差项形式,提出一类新的基追踪扩展模型,并用于图像去噪。
实验结果表明,本文方法在椒盐噪声环境下具有显著的去噪效果。
关键词:图像去噪;椒盐噪声;基追踪;扩展模型中图分类号:T P391 文献标识码:A1 引言图像去噪是图像处理中的一个经典问题,也是一个典型的反问题,它要求从含噪的观测图像出发,得到原始的不含噪图像的估计。
常见的图像去噪都可表示为最小化某一类目标函数。
这些方法通过附加有关先验信息,将图像去噪问题归结为求解一种优化问题,从而得到反问题的解。
椒盐噪声是图像处理中十分常见的一种噪声,它可能产生于图像捕捉设备传感器上的坏点或者强噪声信道条件下的图像传输过程。
对于被椒盐噪声污染的图像,噪声点只取图像动态范围内(如0~255)的最大值或最小值,即在图像中出现一些灰度值很小(接近黑色)或灰度值很大(接近白色)的污染点,在图像上呈现一个个暗点和亮点,类似于胡椒末和盐粉的微粒,因此称为椒盐噪声。
基追踪方法[1-3]是信号稀疏表示领域的一种新方法,它寻求从完备的(过完备)函数(基)集合中得到信号的最稀疏的表示,即用尽可能少的函数基精确地表示原信号,从而获得信号内在本质特性。
基追踪方法正日益成为信号处理领域中一个非常重要的工具,在信号和图像去噪方面具有很好的应用前景[3]。
在去噪处理中,经典基追踪去噪模型所考虑的大多是加性的高斯白噪声,而实际上不同的应用环境中噪声的特性是不同的。
本文基于不同的拟合误差项形式,提出了一类新的基追踪扩展模型(P1-1);给出了其求解算法;通过含椒盐噪给出了其求解算法;通过含椒盐噪声图像的去噪实验,验证了该模型具有显著的去噪效果。
2 椒盐噪声的稀疏特性椒盐噪声图像的特点是噪声点均匀分布于整幅图像[4],分布于图像中的噪声个数占象素总数的百分比称为噪声密度。
目录一、摘要二、均值滤波三、中值滤波四、超限像素平滑法五、总结六、参考文献一、摘要图像信号在产生、传输和记录的过程中,经常会受到各种噪声的干扰,噪声可以理解为妨碍人的视觉器官或系统传感器对所接收图像源信息进行理解或分析的各种元素。
噪声对图像的输入、采集、处理的各个环节以及最终输出结果都会产生一定影响。
图像去噪是数字图像处理中的重要环节和步骤。
去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。
一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等。
我们平常使用的滤波方法一般有均值滤波、中值滤波和维纳滤波,他们分别对某种噪声的滤除有较好的效果,但对于同时存在高斯噪声和椒盐噪声的图像处理的效果可能不会太好,在这里我们分别用多种方法对图像噪声进行处理,对比使用效果。
关键词:图像去噪、常见噪声、多种方法、使用效果。
二、均值滤波均值滤波算法:也称线性滤波,主要思想为邻域平均法。
假设图像有由许多灰度恒定的小块组成,相邻像素间存在很高的空间相关性,而噪声则是独立的,则可用像素邻域内的各像素的灰度平均值代替该像素原来的灰度值,实现图像的平滑。
这种算法简单,处理速度快,但它的主要缺点是在降低噪声的同时使图像产生模糊,特别是在边缘和细节处。
而且邻域越大,在去噪能力增强的同时模糊程度越严重。
均值滤波对同时含有高斯和椒盐噪声的图像的处理: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平滑以后均值滤波对同时含有高斯和椒盐噪声的图像处理分析:根据对上图的观察可以明显发现,使用均值滤波对高斯噪声进行去噪效果比较好,虽然对椒盐也有效果,但是不如对高斯噪声的处理效果好。
技术创新《微计算机信息》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引言随着网络技术、计算机技术和通信技术的迅速发展,数字处理技术作为信息(文本、图像、音视频)的数字化处理技术得到学者的广泛关注,同时出现了许多新的应用领域。
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)。
带有噪声信号的图像处理技术研究随着科技的不断发展,图像处理技术在各行各业的应用中越来越广泛。
图像处理技术不仅可以提高图像的质量,增强图像的清晰度,还可以为人们提供更多的信息,满足人们对于图像的需求。
但是,图像处理技术在处理带有噪声信号的图像时面临着一些挑战,噪声信号会影响图像的质量,导致图像失真,而如何将噪声信号从图像中准确地去除,成为了图像处理技术研究中的重要问题。
一、图像噪声的分类及产生原因图像噪声可以分为多种,包括高斯噪声、脉冲噪声、椒盐噪声、周期性噪声、图像亮度噪声等,其中高斯噪声是最常见的一种噪声,也是最难以去除的一种。
噪声信号的产生原因有很多种,包括传感器本身的噪声、环境的干扰,以及信号采样、传输过程中的误差等。
二、图像去噪的方法图像处理技术中常用的去噪方法包括中值滤波、高斯滤波、均值滤波、小波变换等。
每种方法都有自己的优缺点,可以根据实际情况选择最合适的方法。
中值滤波是最简单也是最常用的一种去噪方法,它可以有效地降低图像噪声,但是对于一些斑点噪声和细节部分存在大量的噪声的图像效果不佳。
高斯滤波可以有效地平滑图像,但可能会导致图像模糊。
均值滤波也是一种常用的去噪方法,但是它的平滑效果不如高斯滤波。
三、小波变换在图像去噪中的应用小波变换是一种能够分解信号的连续波形为不同尺度的子波形的信号分析工具。
小波变换在图像处理领域中得到了广泛应用,尤其是在图像去噪中。
小波变换可以对图像进行多尺度分析,较好地处理图像细节部分的噪声,能够有效地保护图像的高频细节信息,同时去除图像的噪声,提高图像的质量。
小波变换的去噪方法包括硬阈值去噪和软阈值去噪,其中硬阈值去噪主要对噪声强度较大的噪声信号进行处理,而软阈值去噪则对噪声强度较小的噪声信号进行处理。
四、图像去噪的评价指标在图像去噪的实际应用中,如何评价去噪效果也是非常重要的。
通常使用的评价指标包括峰值信噪比(PSNR)、均方误差(MSE)和结构相似性(SSIM)。
同时含有椒盐噪声和高斯噪声的图像消噪处理引言所谓噪声是电路或系统中不含信息量的电压或电流。
在工业与自然界中,存在着各种干扰源(噪声源),如大功率电力电子器件的接入、大功率用电设备的开启与断开、雷击闪电等都会使空间电场和磁场产生有序或无序的变化,这些都是干扰源(或噪声源)。
这些源产生的电磁波或尖峰脉冲通过磁、电耦合或是通过电源线等路径进入放大电路,各种电气设备,形成各种形式的干扰。
高斯噪声是指噪声的概率密度函数服从高斯分布(即正态分布)的一类噪声。
如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。
高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。
高斯白噪声包括热噪声和散粒噪声。
而椒盐噪声是指椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。
椒盐噪声往往由图像切割引起。
本文将采用中值滤波和维纳滤波对含有高斯噪声和椒盐噪声的图像进行处理,通过比较两种滤波技术对图像处理的效果,可以看出哪种滤波技术对椒盐噪声更起作用,哪种滤波技术对高斯噪声更有效果,再根据同一种滤波技术对不同窗口尺寸的图像进行滤波,比较处理效果,最终将选出对图像采用哪种滤波技术或者对同一种滤波技术哪种窗口尺寸滤波效果更好。
中值滤波:是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值.实现方法:1:通过从图像中的某个采样窗口取出奇数个数据进行排序2:用排序后的中值取代要处理的数据即可中值滤波在图像处理中,常用于用来保护边缘信息,是经典的平滑噪声的方法。
中值滤波原理中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。
方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。
生物医学图像中的噪声及其去除技术研究生物医学图像是医学研究领域中的重要组成部分,它们可以用于辅助疾病的诊断、治疗和监测。
然而,这些图像往往会受到噪声的干扰,从而影响到它们的准确性和可靠性。
因此,对于生物医学图像中的噪声及其去除技术的研究具有非常重要的意义。
噪声类型生物医学图像中的噪声种类很多,主要包括以下几种类型:1.高斯噪声。
高斯噪声是导致图像模糊和降低对比度的最常见的噪声类型。
它是由于图像采集过程中光电噪声、传感器噪声或信号传输错误而引起的。
2.椒盐噪声。
椒盐噪声通常被称为随机涂抹噪声,它通常是由于传感器错误,或者是在数字传输过程中数据丢失或损坏引起的。
3.斑点噪声。
斑点噪声是由于采集图像时的信号误差、传感器故障或仪器的非线性响应所引起的噪声类型。
4.偏移噪声。
偏移噪声通常是由于传感器摆放位置偏离、温度波动或传感器偏差所引起的噪声类型。
去噪技术针对这些噪声类型及其影响,研究人员开发了许多去噪技术。
以下是生物医学图像去噪技术的概述。
1.小波去噪。
小波去噪是一种常用的去噪技术,它在将图像分解成多个小波尺度后,可以使用软或硬阈值处理来隐藏小波系数的一部分,从而去除噪声。
2.小波变换,阈值处理法。
它与小波去噪具有相似的思想,但是它的阈值处理方法不同,不是使用固定的软或硬阈值,而是采用局部方差或中值绝对偏差作为阈值。
3.去混淆。
由于生物医学图像通常受到成像系统的模糊性影响,因此在去除噪声的同时,去混淆也是非常必要的。
去混淆的主要方法包括Wiener滤波器、Gilbert和Meltzer算法、非线性去混淆和估计膨胀算法等。
4.基于膨胀的去噪算法。
基于膨胀的去噪算法使用膨胀运算处理图像,使得噪声像素被原始像素所替代。
这种算法对于斑点噪声的去除效果非常好。
5.自适应中值滤波器。
自适应中值滤波器是一种像素值的非线性滤波器,可以根据像素值的分布来自适应地选择中值大小,有效地去除斑点噪声和椒盐噪声。
总结对于生物医学图像中的噪声及其去除技术的研究具有重要的实用价值。
电子科技大学数字图像处理实验报告实验名称彩色图像处理实验序号学生姓名学生学号指导教师提交日期摘要本实验利用MATLAB软件,对彩色图像作了一些简单处理。
通过访问数字图像RGB三个通道的对应矩阵,改变数字图像的色彩,得到了原图像的补色图像。
并编写了图像的RGB模型与HSI模型相互转换的程序,实现了两个模型之间的互相转换。
为了得到HSI模型的补色,可将HSI模型转换为RGB模型,用RGB的反色来近似HSI的反色。
然后对彩色图像加入高斯与椒盐噪声,观察了加入噪声后RGB三个通道的图像效果,并通过算术均值滤波与中值滤波分别对三个通道进行去噪,达到对整个彩色图像的去噪。
最后证明了单个通道的噪声会通过到HSI的转换扩散到所有HSI图像上。
实验原理:1、三基色原理:人的眼睛就像一个三色接收器的体系,大多数的颜色可以通过红、绿、蓝三色按照不同的比例合成产生。
同样绝大多数单色光也可以分解成红(red)绿(green)蓝(blue)三种色光。
这是色度学的最基本原理,即三基色原理。
三种基色是相互独立的,任何一种基色都不能由其它两种颜色合成。
红绿蓝是三基色,这三种颜色合成的颜色范围最为广泛。
红绿蓝三基色按照不同的比例相加合成混色称为相加混色。
人眼接收色彩的方法:加法混色。
光色(红色+绿色)=黄色(yellow)光色(红色+蓝色)=紫红(magenta)光色(蓝色+绿色)=青色(cyan)印刷四色:减法呈色颜料(黄色+青色)=白色-红色-蓝色=绿色颜料(紫红+青色)=白色-红色-绿色=蓝色颜料(黄色+紫红)=白色-绿色-蓝色=红色颜料色另外会附加一个黑色,即cyan、magenta、yellow、black四色(cmyk)。
2、彩色图像表示方法:RGB图像:一幅RGB图像就是彩色像素的一个M×N×3数组,其中每一个彩色像素点都是在特定空间位置的彩色图像相对应的红绿蓝三个分量。
RGB图像可以看成是一个有三幅灰度图像形成的“堆”,形成一幅RGB图像的三个图像常称为红、绿或蓝分量图像。
同时含有椒盐噪声和高斯噪声的图像消噪处理引言所谓噪声是电路或系统中不含信息量的电压或电流。
在工业与自然界中,存在着各种干扰源(噪声源),如大功率电力电子器件的接入、大功率用电设备的开启与断开、雷击闪电等都会使空间电场和磁场产生有序或无序的变化,这些都是干扰源(或噪声源)。
这些源产生的电磁波或尖峰脉冲通过磁、电耦合或是通过电源线等路径进入放大电路,各种电气设备,形成各种形式的干扰。
高斯噪声是指噪声的概率密度函数服从高斯分布(即正态分布)的一类噪声。
如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。
高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。
高斯白噪声包括热噪声和散粒噪声。
而椒盐噪声是指椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。
椒盐噪声往往由图像切割引起。
本文将采用中值滤波和维纳滤波对含有高斯噪声和椒盐噪声的图像进行处理,通过比较两种滤波技术对图像处理的效果,可以看出哪种滤波技术对椒盐噪声更起作用,哪种滤波技术对高斯噪声更有效果,再根据同一种滤波技术对不同窗口尺寸的图像进行滤波,比较处理效果,最终将选出对图像采用哪种滤波技术或者对同一种滤波技术哪种窗口尺寸滤波效果更好。
中值滤波:是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值.实现方法: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的滤波窗口中值滤波比较图二和图一的第四幅图,发现对于椒盐噪声,中值滤波效果更好。