频域滤波 下载本文

内容发布更新时间 : 2024/5/18 6:42:45星期一 下面是文章的全部内容请认真阅读。

数字图像处理 实验报告

班 级:13计算机01班

姓 名: 郭培甲

学 号: 20134440117 指导老师: 蒋良卫 时 间: 2016-5-5

1

实验七 图像增强—频域滤波

一、 实验目的

1.掌握怎样利用傅立叶变换进行频域滤波 2.掌握频域滤波的概念及方法 3.熟练掌握频域空间的各类滤波器 4.利用MATLAB程序进行频域滤波

二、 实验原理及知识点

频域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。频域低通过滤的基本思想:

G(u,v)=F(u,v)H(u,v)

F(u,v)是需要钝化图像的傅立叶变换形式,H(u,v)是选取的一个低通过滤器变换函数,G(u,v)是通过H(u,v)减少F(u,v)的高频部分来得到的结果,运用傅立叶逆变换得到钝化后的图像。

理想地通滤波器(ILPF)具有传递函数:

?1ifD(u,v)?D0 H(u,v)??0ifD(u,v)?D0?其中,D0为指定的非负数,D(u,v)为(u,v)到滤波器的中心的距离。

D(u,v)?D0的点的轨迹为一个圆。

n阶巴特沃兹低通滤波器(BLPF)(在距离原点D0处出现截至频率)的传递函数为H(u,v)?11?[D(u,v)D0]2n

与理想地通滤波器不同的是,巴特沃兹率通滤波器的传递函数并不是在

2

D0处突然不连续。

高斯低通滤波器(GLPF)的传递函数为

H(u,v)?eD2(u,v)2?2

其中,?为标准差。

相应的高通滤波器也包括:理想高通滤波器、n阶巴特沃兹高通滤波器、高斯高通滤波器。给定一个低通滤波器的传递函数Hlp(u,v),通过使用如下的简单关系,可以获得相应高通滤波器的传递函数:Hhp?1?Hlp(u,v)

利用MATLAB实现频域滤波的程序 主程序:

clc;clear all f=imread('room.tif');

F=fft2(f); %对图像进行傅里叶变换

%对变换后图像进行对数变换,并对其坐标进行平移,使其中心化 S=fftshift(log(1+abs(F)));

S=gscale(S); %将图像频谱标度在0-255的范围内 subplot 121;imshow(f); title('原始图像')

subplot 122;imshow(S) %显示频谱图像 title('原始图像的频谱')

h=fspecial('sobel'); %产生空间‘sobel’模板 freqz2(h) %查看相应频域滤波器的图像 PQ=paddedsize(size(f)); %产生滤波时所需大小的矩阵 H=freqz2(h,PQ(1),PQ(2)); %产生频域中的‘sobel’滤波器 H1=ifftshift(H); %重拍数据序列,使得原点位于频率矩阵的左上角 figure

subplot 121;imshow(abs(H),[]) %以图形形式显示滤波器 title('空间滤波器')

subplot 122;imshow(abs(H1),[]) title('空间滤波器移位后的频谱')

gs=imfilter(double(f),h); %用模板h进行空域滤波 gf=dftfilt(f,H1); %用滤波器对图像进行频域滤波 subplot 221;imshow(gs,[]) title('用模板h进行空域滤波后的图像')

3