高斯白噪声滤波
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安电子科技大学课程论文数字图像处理
高斯白噪声滤波
班级:070821
作者:董文凯
学号:07082001
时间:2011-06-30
高斯白噪声滤波
实验要求
对实际Lena 图像分别加入噪声标准差σ=15,20,25的高斯白噪声,用理想低通滤波器、高斯低通滤波器、算术均值滤波器和中值滤波器对实际Lena 图像进行去噪,比较其去噪效果。
实验内容
1.对Lena 图像加高斯白噪声 1.1原始图例:
采用经典Lena 图像作为实验样例进行本实验的操作,原始Lena 图像见图1.
图1 原始Lena 图
1.2加噪结果:
图2
0.15σ=的噪声图 图3 0.20σ=的噪声图
图4
0.25σ=的噪声图
结论:经过对以上三图的分析知σ越大图像越不清晰。 1.3源程序:
X=imread('Lena.jpg');
J1=imnoise(X,'gaussian',0,0.15^2); imshow(J1);
J2=imnoise(X,'gaussian',0,0.20^2); imshow(J2);
J2=imnoise(X,'gaussian',0,0.25^2); imshow(J2)
2对高斯白噪声进行滤波 2.1理想低通滤波器: 2.1.1滤波原理
理想低通滤波器:其传递函数为:
()()0
10
c c H j at ωωωωωϕω⎧⎧≤⎪=⎪⎨
>⎪⎨⎩⎪
=-⎩
理想低通滤波器的冲激响应为:
()()()()000sin c c c
c c t t h t Sa t t t t ωωωωπωπ
-=
⋅=⋅-⎡⎤⎣⎦- 2.1.2滤波结果
图5 不同0(5,15,30)d 值下对图2的滤波结果
图6 不同0(5,15,30)d 值下对图3的滤波结果
图7 不同0(5,15,30)d 值下对图4的滤波结果
2.1.3源代码
X=imread('Lena(25).jpg');%读取图像
I=rgb2gray(X);%将图像变为灰度图
figure;%创建图形图像对象
imshow(I);%显示灰度图像
title('原始图像');%加标题
%将灰度图像的二维不连续Fourier变换的零频率成分引导频谱的中心
s=fftshift(fft2(I));
figure;%创建图形图像对象
imshow(log(abs(s)),[]);%显示对s的绝对值取对数后的图像
title('傅里叶频谱图');%加标题
[M,N]=size(s);%分别返回s的行数到M中,列数到N中
n1=floor(M/2);%对M/2进行取整
n2=floor(N/2);%对N/2进行取整
%ILPF滤波,d0=5,15,30
d0=XX;%初始化d0
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅里叶变换中心的距离
if d<=d0 %点(i,j)在通带内的情况
h=1;%通带变换函数
else %点(i,j)在阻带内的情况
h=0;%阻带变换函数
end
s(i,j)=h*s(i,j);%ILPF滤波后的频域表示
end
end
s=ifftshift(s);%对s进行反FFI移动
%对进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数
s=uint8(real(ifft2(s)));
figure;
imshow(s);%显示ILPF滤波后的图像
title('ILPF滤波(d=XX)');
2.2高斯低通滤波器:
2.2.1滤波原理
由于高斯函数的傅里叶变换仍是高斯函数,因此高斯函数能够成为在时域和频域都具有平滑性能的低通滤波器。
2.2.2滤波结果
图8 均值为1,方差依次为0.01,0.02,0.03,0.04,0.05,0.06的高斯低通滤波
对图2滤波的结果
图9 均值为1,方差依次为0.01,0.02,0.03,0.04,0.05,0.06的高斯低通滤波
对图3滤波的结果
图10 均值为1,方差依次为0.01,0.02,0.03,0.04,0.05,0.06的高斯低通滤波
对图4滤波的结果
2.2.3源代码
function d=gaussfilt(k,n,s)
%s是需要滤波的图像,n是均值,k是方差
Img=double(s);
n1=floor((n+1)/2);%计算图像中心
b=zeros(n,n);
for i=1:n
for j=1:n
b(i,j)=exp(-((i-n1)^2+(j-n1)^2)/(4*k))/(4*pi*k);
end
end
%生成高斯序列
Img1=conv2(Img,b,'same');%用生成的高斯序列卷积运算,进行高斯滤波
d=uint8(Img1);
主函数:h=imread('LenaXX.jpg');
c=rgb2gray(h);
figure
imshow(c);
title('加噪图像');
n=1;k;%n是均值,k是方差,n选定1,k可以变化
A2=gaussfilt(k,n,c);
figure
imshow(A2);
title('高斯滤波')
2.3算术均值滤波器:
2.3.1滤波原理
均值滤波也称为线性滤波,其采用的主要方法为领域平均法。其基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(,)
x y,选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(,)
g x y,即:
x y,作为处理后图像在该点上的灰度个(,)
=∑
g x y m f x y
(,)1/(,)
m为该模板中包含当前像素在内的像素总个数。
2.3.2滤波结果