频域分析及图像的频域处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
频域分析及图像的频域处理
一.实验目的
1.了解离散傅立叶变换及离散余弦变换的基本原理;
2.掌握进行FFT 及逆变换的方法;
3.了解图像在频域中处理方法,应用MATLAB 语言作简单的低通滤波器。
4.有能力的同学可用VC 实现傅立叶变换
二.实验原理
1.傅立叶变换的基本知识
在图像处理的广泛应用领域中,傅立叶变换起着非常重要的作用,具体表现在包括图像分析、图像增强及图像压缩等方面。
假设f (x,y)是一个离散空间中的二维函数,则该函数的二维傅立叶变换的定义如下:
)(2101
0),(),()],([N vy M ux j M x N y e
y x f v u F y x f F +--=-=∑∑==π (2-1)
离散傅立叶反变换的定义如下: )(21
0101),(1),()],([N vy M ux j N v M u e v u F MN y x f v u F F +-=-=-∑∑==π (2-2)
式中,式中:u, x=0,1, 2, …, M -1;v, y=0, 1, 2, …, N -1;x, y 为时域变量,
u, v
像一维离散傅立叶变换一样,系数1/MN 可以在正变换或逆变换中,也可以在正变换和逆变换前分别乘以系数MN /
1,只要两式系数的乘
积等于1/
MN 二维离散函数的傅立叶频谱、 相位谱和能量谱分别为 ),(),(|),(|22v u I v u R v u F += (2-3)
)
,(),(arctan ),(v u R v u I v u =ϕ (2-4) ),(),(),(22v u I v u R v u E += (2-5) 式中,R (u , v )和I (u , v )分别是F (u , v )的实部和虚部。
2.离散余弦变换(Discrete Cosine Transform , DCT )
离散余弦变换核为余弦函数。DCT 除了具有一般的正交变换性质外, 它的变换阵的基向量能很好地描述人类语音信号和图像信号的相关特
征。因此,在对语音信号、图像信号的变换中,DCT 变换被认为是一种准最佳变换。近年颁布的一系列视频压缩编码的国际标准建议中(JPG 图像格式就是基于DCT),都把DCT 作为其中的一个基本处理模块。
二维DCT 。其正变换核为 N v y M u x v C u C MN
v u y x g 2)12(cos 2)12(cos )()(2),,,(ππ++= (2-6) 式中,C(u)和C(v)的定义同式(7-48);x, u=0, 1, 2,…, M -1; y, v=0, 1, 2, …, N -1。二维DCT 定义如下:设f(x, y)为M ×N 的数字图像矩阵,则
N
v y M u x v C u C y x f MN v u F M x N y 2)12(cos 2)12(cos )()(),(2
),(1010ππ++=∑∑-=-= (2-7)
式中: x , u =0, 1, 2, …, M -1; y , v =0, 1, 2, …, N -1。二维DCT 逆变换定义如下:
N
v y M u x v u F v C u C MN y x f M u N v 2)12(cos 2)12(cos ),()()(2
),(1010ππ++=∑∑-=-= (2-8)
式中:x , u =0, 1, 2, …, M -1; y , v =0, 1, 2, …, N -1。
三.实验提示
1.MATLAB 提供的快速傅立叶变换函数
fft2
fft2函数用于计算二维快速傅立叶变换,其语法格式为:
B = fft2(I)
B = fft2(I)返回图像I 的二维fft 变换矩阵,输入图像I 和输出图像B 大小相同。
例如,计算图像的二维傅立叶变换,并显示其幅值的结果,其命令格式如下
load imdemos saturn2
imshow(saturn2)
B = fftshift(fft2(saturn2));
imshow(log(abs(B)),[],'notruesize')
fftshift
MATLAB提供的fftshift函数用于将变换后的图像频谱中心从矩阵的原点移到矩阵的中心,其语法格式为:
B = fftshift(I)
对于矩阵I,B = fftshift(I)将I的一、三象限和二、四象限进行
互换。
ifft2
ifft2函数用于计算图像的二维傅立叶反变换,其语法格式为:
B = ifft2(I)
B = ifft2(A)返回图像I的二维傅立叶反变换矩阵,输入图像I和输出图像B大小相同。其语法格式含义与fft2函数的语法格式相同,可
以参考fft2函数的说明。
2.简单低通滤波器的设计
一个图像经过傅立叶变换后,就从空域变到了频域,因此我们可以用信号处理中对于频域信号的处理方法对一幅图像进行处理。比如对图像进行低通滤波等。
虽然在计算机中必定能够模拟一个锐截止频率的理想低通滤波器,但它们不能用电子元件来实现。实际中比较常用的低通滤波器有:巴特沃思(Butterworth)滤波器、指数滤波器(ELPF)、梯形低通滤波器等。
在实验中我们设计一个理想的低通滤波器。
设计理想的低通滤波器由其定义可知只要设计一个与频域图像大小完全相同的矩阵。在某一个域值内该矩阵的值为1,其余为0即可。
例:若图像的大小为128*128,则可以这样设计一个低通滤波器:H=zeros(128);
H(32:96,32:96)=1; %此处的范围是人为取定的,可以根据需要更改。
若图像矩阵I的傅立叶变换是B(已经用fftshift将频谱中心移至矩阵的中心),则对这幅图像做低通滤波,再做傅立叶逆变换命令为LOWPASS=B.*H; %此处设变换后的矩阵为LOWPASS,另注意这儿是矩阵的点乘。