高斯白噪声滤波

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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滤波结果

相关文档
最新文档