内容发布更新时间 : 2024/11/8 19:42:24星期一 下面是文章的全部内容请认真阅读。
数字图像处理 实验报告
班 级: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