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

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],分布于图像中的噪声个数占象素总数的百分比称为噪声密度。
- 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的滤波窗口中值滤波比较图二和图一的第四幅图,发现对于椒盐噪声,中值滤波效果更好。