第十章 图像的频域变换
问题的提出: 人类视觉所感受到的是在空间域和时间域的信号。 但是,往往许多问题在频域中讨论时,有其非常方便分析的一面。例如,空间位置上的变化不改变信号的频域特性。
10.1 二维离散Fourier变换 正变换: 二维Fourier变换可以转化为两次一维Fourier变换。 注:这里给出的一维正变换的系数为1。 二维Fourier变换可以转化为两次一维Fourier变换。
10.1 二维离散Fourier变换 反变换: 注:逆变换的系数不为1。
10.1 二维离散Fourier变换 因为Fourier变换是一种正交变换,所以其正、反变换的系数可以有几种表示形式。 按照严格意义上的正交变换,正、反变换的系数相等,为: 按照计算方便的角度,正、反变换的系数可以按照前面的方式给出,并且正、反变换的系数可以互换。
10.1 二维离散Fourier变换 Fourier变换有两个好处: 1)可以得出信号在各个频率点上的强度。 2)可以将卷积运算化为乘积运算。
10.2 快速Fourier变换(FFT) 快速Fourier变换的提出,是为了减少计算量。 律,按照其规律整理出适合计算机运算的逻辑 结构。
10.2.1 FFT的推导 (分成奇数项和偶数项之和)
10.2.1 FFT的推导 (又可分成奇数项和偶数项之和)
10.2.1 FFT的推导 = = = = = …… …… FFT的数据变换规律之一是: 1)可以不断分成奇数项与偶数项之加权和。 2)奇数项、偶数项可分层分类。
10.2.1 FFT的推导 至此,计算量可减少近一半。
10.2.2 FFT的设计思想 首先,将原函数分为奇数项和偶数项,通过不断的一个奇数一个偶数的相加(减),最终得到需要的结果。 加(减)的简单运算的重复。
10.2.3 FFT算法 1. 先将数据进行奇、偶分组。 例: 下标为2x 下标为2x+1
10.2.3 FFT算法 偶数部分: 奇数部分: 下标用二进制数表示为: 下标用二进制数表示为: 0000,0010,0100,0110,1000,1010,1100,1110 奇数部分: 下标用二进制数表示为: 0001,0011,0101,0111,1001,1011,1101,1111
10.2.3 FFT算法 2.对偶数部分进行分层分组排序 第一层下标为: 0 2 4 6 8 10 12 14 第一层下标为: 0 2 4 6 8 10 12 14 二进制数为:0000,0010,0100,0110,1000,1010,1100,1110 /2 移位:000,001,010,011,100,101,110,111 偶数组:000,010,100,110 奇数组:001,011,101,111 0 2 4 6 1 3 5 7 *2 第一层下标分组为: 0, 4,8,12; 2,6,10,14
10.2.3 FFT算法 第二层下标为: 0 4 8 12 二进制数为: 0000, 0100, 1000, 1100 /4 0 2 1 3 第二层下标为: 0 4 8 12 二进制数为: 0000, 0100, 1000, 1100 /4 移位:00,01,10,11 偶数组:00,10 奇数组:01,11 0 2 1 3 *4 第二层下标分组为: 0, 8; 4,12;
10.2.3 FFT算法 3. 根据每层偶数组的排序方式,获得奇数组的排序方式。 因为偶数项的系数为f(2x),奇数项的系数为f(2x+1) 所以由第二层偶数排序: 0, 8, 4,12; 可以得到第一层偶数排序为:0,8,4,12,2,10,6,14; 再根据第一层的偶数排序,获得原始数据的排序为: 0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15
10.2.3 FFT算法 4. 进行分层的奇、偶项相加。 对第二层偶数排序: 0, 8, 4,12; 对上面的结果再进行相加运算: ………
10.2.4 FFT算法图示
10.2.5 FFT计算例 设对一个函数进行快速Fourier变换,函数在采样点上的值设为:
偶数项部分: 奇数项部分: 下标值分别为:000,010,100,110 排序为: 000, 100, 010, 110 排序为: 000, 100, 010, 110 奇数项部分: 下标值分别为:001,011,101,111 排序为: 001, 101, 011, 111
分成偶数、奇数为(偶数在左,奇数在右):
按照前面叙述的FFT方法,第1层(4组2个点的运算): 同理:
第2层(2组4个点的运算): 同理:
第3层(1组8个点的运算):
对函数: 按照定义,可得其Fourier变换为: 下面,我们以F3为例验证结果是否正确:
10.3 二维Fourier变换的应用 前面已经提到了Fourier变换有两个好处,即:可以获得信号的频域特性;可以将卷积运算转换为乘积运算。 因此二维Fourier变换的应用也是根据这两个特点来进行的。
10.3.1 在图像滤波中的应用 首先,我们来看Fourier变换后的图像,中间部分为低频部分,越靠外边频率越高。
10.3.2 在图像压缩中的应用 变换系数刚好表现的是各个频率点上的幅值。在小波变换没有提出时,用来进行压缩编码。 10.3.2 在图像压缩中的应用 变换系数刚好表现的是各个频率点上的幅值。在小波变换没有提出时,用来进行压缩编码。 考虑到高频反映细节、低频反映景物概貌的特性。往往认为可将高频系数置为0,骗过人眼。
10.3.3 在卷积运算中的应用 从前面的图像处理算法中知道,如果抽象来看,其实都可以认为是图像信息经过了滤波器的滤波(如:平滑滤波、锐化滤波等 )。 如果滤波器的结构比较复杂时,直接进行时域中的卷积运算是不可思议的。 Fourier变换可以卷积运算转换为点乘运算,由此简化运算,提高计算速度。
10.4 离散余弦变换(DCT) 问题的提出: Fourier变换的一个最大的问题是:它的参数都是复数,在数据的描述上相当于实数的两倍。
10.4 离散余弦变换(DCT) 正变换: 逆变换: 其中:
10.4 离散余弦变换(DCT) DCT变换的应用: 余弦变换实际上是利用了Fourier变换的实数部分构成的变换。 余弦变换主要用于图像的压缩,如目前的国际压缩标准的JPEG格式中就用到了DCT变换。 具体的做法与DFT相似。即高频部分压缩多一些,低频部分压缩少一些。
作 业(共1题) 1. 第230页 第1题。
Fourier 变换示意图
Fourier变换的频率特性
Fourier变换的低通滤波
Fourier变换的高通滤波
基于Fourier变换的压缩 压缩率为:3.3:1 压缩率为:2.24:1 压缩率为:1.7:1 另一幅图像效果
基于Fourier变换的压缩 压缩率为:16.1:1 压缩率为:8.1:1 压缩率为:10.77:1