《图像的频域变换课件》由会员分享,可在线阅读,更多相关《图像的频域变换课件(53页珍藏版)》请在金锄头文库上搜索。
1、图像的频域变换图像的频域变换n人类视觉所感受到的是在空间域和时间域的人类视觉所感受到的是在空间域和时间域的信号。信号。n但是,往往许多问题在频域中讨论时,有其但是,往往许多问题在频域中讨论时,有其非常方便分析的一面。例如,空间位置上的非常方便分析的一面。例如,空间位置上的变化不改变信号的频域特性。变化不改变信号的频域特性。问题的提出n首先,提出的变换必须是有好处的,换句话首先,提出的变换必须是有好处的,换句话说,可以解决时域中解决不了的问题。说,可以解决时域中解决不了的问题。n其次,变换必须是可逆的,可以通过逆变换其次,变换必须是可逆的,可以通过逆变换还原回原时域中。还原回原时域中。图像变换的
2、前提条件n二维离散傅立叶变换二维离散傅立叶变换n快速傅立叶变换快速傅立叶变换n二维离散傅立叶变换的应用二维离散傅立叶变换的应用n离散余弦变换离散余弦变换本章讨论的内容n因为数字图像信号是二维的数字信号,所以必因为数字图像信号是二维的数字信号,所以必须采用二维傅立叶变换才能够实现对图像的须采用二维傅立叶变换才能够实现对图像的频域变换。频域变换。二维离散傅立叶变换二维离散Fourier变换 正变换设图像大小为设图像大小为M*NM*N,原图为,原图为f(x,yf(x,y) ),其频谱,其频谱为为F(u,vF(u,v) ),则:,则: 二维Fourier变换可以转化为两次一维Fourier变换。二维离
3、散Fourier变换 反变换f(x,yf(x,y) ) 可以看成是一系列周期函数可以看成是一系列周期函数的线性组合的线性组合, , F(u,v)可以看成是加权系数。可见可以看成是加权系数。可见u,v越大的部分越大的部分, ,影响影响f(x,y)细节部分细节部分二维离散Fourier变换 作用1 1)可以得出可以得出信号在各个频率点信号在各个频率点上的强度上的强度。2 2)可以将卷积运算化为乘积运算。)可以将卷积运算化为乘积运算。快速Fourier变换(FFT)n 快速快速FourierFourier变换的提出,是为了减少计算量。变换的提出,是为了减少计算量。n基本思想是,找出基本思想是,找出F
4、ourierFourier变换中的数据变化规变换中的数据变化规 律,按照其规律整理出律,按照其规律整理出 适合计算机运算适合计算机运算 的逻辑的逻辑 结构。结构。FFT的推导 n 因为二维傅立叶变换可以转换成两次的一维傅立叶变换,所以,在这里我们只对一维快速傅立叶变换进行推导。FFT的推导 (分成奇数项和偶数项之和)(分成奇数项和偶数项之和)FFT的推导 (又可分成奇数项和偶数项之和)(又可分成奇数项和偶数项之和)单看偶数项:FFT的推导 =u FFT的数据变换规律之一是:1)可以不断分成奇数项与偶数项之加权和。2)奇数项、偶数项可分层分类。FFT的推导u 至此,计算量可减少近一半。FFT的算
5、法原理n首先,将原函数分为奇数项和偶数项,通过不首先,将原函数分为奇数项和偶数项,通过不断的一个奇数一个偶数的相加(减),最终得断的一个奇数一个偶数的相加(减),最终得到需要的结果。到需要的结果。n也就是说也就是说FFTFFT是是将复杂的运算将复杂的运算变成变成两个数相加两个数相加(减)的简单运算(减)的简单运算的重复。这恰好符合计算机的重复。这恰好符合计算机计算所擅长的计算规律。计算所擅长的计算规律。FFT的算法步骤1. 1. 先将数据进行奇、偶分组先将数据进行奇、偶分组。例:下标为下标为2x2x下标为下标为2x+12x+1FFT算法步骤分析偶数部分的数据项:分析偶数部分的数据项:0000,
6、0010,0100,0110,1000,1010,1100,1110如果下标用二进制数表示为:如果下标用二进制数表示为:末尾一位是末尾一位是0 0。FFT算法步骤分析奇数部分的数据项:分析奇数部分的数据项:00010001,00110011,01010101,01110111,10011001,10111011,11011101,11111111如果下标用二进制数表示为:如果下标用二进制数表示为:末尾一位是末尾一位是1 1。FFT算法步骤二进制数为:二进制数为:00000 00 0,0010010 0,01010 00 0,0110110 0,10100 00 0,1011010 0,1111
7、0 00 0,1111110 0第一层下标为:第一层下标为: 0 2 4 6 8 10 12 142. 2. 对偶数部分进行分层分组排序对偶数部分进行分层分组排序l 因为奇数部分的数据项排列规律为2x+1,所以只需要给出偶数项部分,奇数项部分则可以类推。FFT算法步骤二进制数为:二进制数为:00000 00 0,0010010 0,01010 00 0,0110110 0,10100 00 0,1011010 0,11110 00 0,1111110 00 2 4 6 1 3 5 7 /2*2第一层下标分组为:第一层下标分组为: 0, 4,8,12; 2,6,10,14移位:移位:00000
8、0,001001,01010 0,011011,10100 0,101101,11110 0,111111偶数组:偶数组:00000 0,01010 0,10100 0,11110 0奇数组:奇数组:001001,011011,101101,111111FFT算法步骤二进制数为:二进制数为: 00000 00 0, 01010 00 0, 10100 00 0, 11110 00 0第二层下标为第二层下标为: 0 4 8 120 21 3/4*4第二层下标分组为:第二层下标分组为: 0, 8; 4,12;移位:移位:0000,0101,1010,1111偶数组:偶数组:0000,1010奇数组
9、:奇数组:0101,1111FFT算法步骤3. 3. 根据每层偶数组的排序方式,获得奇数组的排根据每层偶数组的排序方式,获得奇数组的排序方式。序方式。因为偶数项的系数为因为偶数项的系数为f(2x)f(2x),奇数项的系数为奇数项的系数为f(2x+1)f(2x+1),所以由第二层偶数排序:所以由第二层偶数排序:可以得到第一层偶数排序为:可以得到第一层偶数排序为:0 0, 8 8, 4 4,1212;0 0,8 8,4 4,1212,2 2, 6 6,1010,1414;FFT算法步骤再根据第一层的偶数排序:再根据第一层的偶数排序:获得奇数项的排序为:获得奇数项的排序为:1 1,9 9,5 5,1
10、313,3 3, 7 7,1111,15150 0,8 8,4 4,1212,2 2,6 6,1010,1414;最后,获得原始数据的排序为:最后,获得原始数据的排序为:FFT算法步骤4. 4. 进行分层的奇、偶项相加。进行分层的奇、偶项相加。对排好序的数据项,进行第一层计算有:对排好序的数据项,进行第一层计算有: 8 8个数一组个数一组8 8个数一组个数一组FFT算法步骤对得到的偶数数据项,进行第二层计算有:对得到的偶数数据项,进行第二层计算有: 4 4个数一组个数一组4 4个数一组个数一组FFT算法步骤对得到的奇数数据项,进行第二层计算有:对得到的奇数数据项,进行第二层计算有: 4 4个数
11、一组个数一组4 4个数一组个数一组FFT算法步骤对得到的偶数数据项,进行第三层计算有:对得到的偶数数据项,进行第三层计算有: 两个数一组FFT算法步骤对得到的奇数数据项,进行第三层计算有:对得到的奇数数据项,进行第三层计算有: 两个数一组FFT算法步骤最后,将获得的所有数据项进行合并:最后,将获得的所有数据项进行合并: FFT算法图示FFT计算例 设对一个函数进行快速设对一个函数进行快速FourierFourier变换,函数在采变换,函数在采样点上的值设为:样点上的值设为:偶数项部分:偶数项部分:下标值分别为:下标值分别为:000000,010010,100100,110110排序为:排序为:
12、 000, 100,000, 100, 010, 110010, 110奇数项部分:奇数项部分:下标值分别为:下标值分别为:001001,011011,101101,111111排序为:排序为: 001, 101,001, 101, 011, 111011, 111分成偶数、奇数为(偶数在左,奇数在右):分成偶数、奇数为(偶数在左,奇数在右):按照前面叙述的按照前面叙述的FFTFFT方法方法, ,第第1 1层层(4(4组组2 2个点的运算个点的运算) ):偶数项部分奇数项部分第第2 2层偶数部分:层偶数部分:第第2 2层奇数部分:层奇数部分:第第3 3层(层(1 1组组8 8个点的运算):个点
13、的运算):对函数:对函数:按照定义,可得其按照定义,可得其FourierFourier变换为:变换为:下面,我们以下面,我们以F F3 3为例验证结果是否正确:为例验证结果是否正确:二维Fourier变换的应用n前面已经提到了前面已经提到了FourierFourier变换有两个好处,即:变换有两个好处,即:可以获得信号的频域特性;可以将卷积运算可以获得信号的频域特性;可以将卷积运算转换为乘积运算。转换为乘积运算。n因此二维因此二维FourierFourier变换的应用也是根据这两个变换的应用也是根据这两个特点来进行的。特点来进行的。二维Fourier变换的应用 用于图像滤波用于图像滤波n图象图
14、象 f f( (x,yx,y) )通过通过FourierFourier变换后得到变换后得到 F F( (u,vu,v) )= =R R( (u,vu,v) )+ i + i I I( (u,vu,v) )n图象图象f f( (x,yx,y) )的频谱的频谱, ,功率谱功率谱( (功率密度功率密度), ),相位谱相位谱: : 二维Fourier变换的应用 用于图像滤波用于图像滤波n首先,我们来看首先,我们来看FourierFourier变换变换后的图像,中间后的图像,中间部分为低频部分,越靠外边频率越高。部分为低频部分,越靠外边频率越高。n因此,我们可以在因此,我们可以在FourierFouri
15、er变换图中,选择所变换图中,选择所需要的需要的高频高频或是或是低频低频滤波。滤波。二维Fourier变换的应用 用于图像压缩用于图像压缩n变换系数刚好表现的是各个频率点上的幅变换系数刚好表现的是各个频率点上的幅值。在小波变换没有提出时,用来进行压值。在小波变换没有提出时,用来进行压缩编码。缩编码。n考虑到高频反映细节、低频反映景物概貌考虑到高频反映细节、低频反映景物概貌的特性。往往认为可将高频系数置为的特性。往往认为可将高频系数置为0 0,骗骗过人眼过人眼。二维Fourier变换的应用 用于计算卷积n从前面的图像处理算法中知道,如果抽象来看,从前面的图像处理算法中知道,如果抽象来看,其实都可
16、以认为是图像信息经过了滤波器的滤其实都可以认为是图像信息经过了滤波器的滤波(如:平滑滤波、锐化滤波等波(如:平滑滤波、锐化滤波等 )。)。 n如果滤波器的结构比较复杂时,直接进行时域如果滤波器的结构比较复杂时,直接进行时域中的卷积运算是不可思议的。中的卷积运算是不可思议的。nFourierFourier变换可以卷积运算转换为点乘运算,由变换可以卷积运算转换为点乘运算,由此简化运算,提高计算速度。此简化运算,提高计算速度。 离散余弦变换(DCT) 问题的提出nFourierFourier变换的一个最大的问题是:它的参数都变换的一个最大的问题是:它的参数都是复数,在数据的描述上相当于实数的两倍。是复数,在数据的描述上相当于实数的两倍。n为此,我们希望有一种能够达到相同功能但数为此,我们希望有一种能够达到相同功能但数据量又不大的变换。在此期望下,产生了据量又不大的变换。在此期望下,产生了DCTDCT变换。变换。离散余弦变换(DCT)正变换:逆变换:其中:其中:离散余弦变换(DCT) 应用n余弦变换实际上是利用了余弦变换实际上是利用了FourierFourier变换的实数变换的实数部分构成的变