一、实验目的与要求
1.了解频域变换过程,掌握频域变换特点
2.熟练掌握频域滤波中常用的平滑和锐化滤波器,能够对不同要求的图像进行滤波处理,体会并正确评价滤波效果,了解不同滤波方式的使用场合,能够从理论上作出合理的解释。
二、实验相关知识
图像增强是指按特定的需要突出一幅图像中的某些有用信息,同时消弱或去除某些不需要的信息的处理方法,其主要目的是使处理后的图像对某些特定的应用比原来的图像更加有效。图像平滑与锐化处理是图像增强的主要研究内容。
和本实验有关的几个常用Matlab函数:
(1) imnoise:用于对图像生成模拟噪声,如:
j=imnoise(i,‘gaussian’,0,0.02) %在图像i上叠加均值为0、方差为0.02的高斯噪声,得到含噪图像j
j=imnoise(i,‘salt & pepper’,0.04) %在图像i上叠加密度为0.04的椒盐噪声,得到含噪图像j
(2) fspecial:用于产生预定义滤波器,如:
h=fspecial(‘average’,3); %产生3×3模板的均值滤波器
h=fspecial(‘sobel’); %产生sobel水平边缘增强的滤波器
可选项还有:'gaussian’高斯低通滤波器、'laplacian’拉普拉斯滤波器、'log’高斯拉普拉斯滤波器等
(3) imfilter、filter2、conv2:均是基于卷积的图像滤波函数,都可用于图像滤波,用法类似,如:
i=imread(‘p1.tif’);
h=fspecial(‘prewitt’); %产生prewitt算子的水平方向模板
j1=imfilter(i,h); %或者j2=filter2(h,i); 或者j3=conv2(i,h);
(4) fft2:二维快速傅里叶变换函数
(5) fftshift:中心变换函数
(6) abs:取绝对值或复数取幅值
三、实验内容
1、图像频域平滑(去噪):使用自生成图像(包含白色区域,黑色区域,并且部分区域添加椒盐噪声),然后进行傅里叶变换,并且分别使用理想低通滤波器、巴特沃斯低通滤波器、指数低通滤波器和梯形低通滤波器(至少使用两种低通滤波器),显示滤波前后的频域能量分布图,空间图像。分析不同滤波器对噪声、边缘的处理效果及其优缺点。
(1)源代码
%自生成一个图像
I=zeros(300,300);
for i=1:300
for j=1:300
I(i,j)=0;%黑
end
end
K=imnoise(I,'salt & pepper',0.04) %加椒盐噪声
for i=100:200
for j=100:200
K(i,j)=1;%白
end
end
subplot(2,3,1);
imshow(K);
title('自生成图像');
s=fftshift(fft2(K));%先傅里叶变换,然后将傅里叶变化零频率搬移到频谱中间
subplot(2,3,2);
imshow(abs(s),[]);%abs取复数的幅值,[]自动调整数据的范围以便于显示
title('图像傅里叶变换所得频谱');
[a,b]=size(s);
a0=round(a/2);%确定傅里叶变化原点,并且数据取整
b0=round(b/2);
d0=15;%截止频率
d1=30;
n=2;
s1=zeros(a,b);%理想低通滤波
s2=zeros(a,b);%巴特沃斯低通滤波
s3=zeros(a,b);%指数低通滤波
s4=zeros(a,b