数字图像处理--------图像变换Slide2内容提要主要介绍图像处理中常用的二维离散变换的定义、性质、实现方法及应用。经典变换——离散傅里叶变换(DFT)离散余弦变换(DCT)离散沃尔什-哈达玛变换(DWT)K-L变换(KLT)离散小波变换(DWT)及其应用Slide3知识要点余弦型变换:傅里叶变换和余弦变换。方波型变换:沃尔什-哈达玛变换。基于特征向量的变换:K-L变换。从哈尔变换、短时傅里叶变换到小波变换。各种变换的定义和有关快速算法及实现方法。Slide44.1二维离散傅里叶变换(DFT)4.1.1二维连续傅里叶变换定义:设f(x,y)是独立变量x和y的函数,且在±∞上绝对可积,则定义积分为二维连续函数f(x,y)的傅里叶变换,并定义为F(u,v)的反变换。f(x,y)和F(u,v)为傅里叶变换对。|(,)|ddfxyxy∞∞∞∞∞j2π()(,)(,)edduxvyfxyFuvuv∞∞∞∞-j2π()(,)(,)edxdyuxvyFuvfxy∞∞∞∞Slide5【例4.1】求图4.1所示函数的傅里叶变换。他其,0,,),(YyXxAyxf解:j2π()j2πj2π00jπjπ(,)(,)eddededsin(π)sin(π)eeπXYuxvyuxvyuxvyFuvfxyxyAxyuXvYAXYuXvY∞∞∞∞sin(π)sin(π)(,)ππuXvYFuvAXYuXvY图4.1二维信号f(x,y)其幅度谱为Slide6二维信号的频谱图(a)信号的频谱图(b)图(a)的灰度图图4.2信号的频谱图Slide74.1.2二维离散傅里叶变换尺寸为M×N的离散图像函数的DFT1010)//(2),(1),(MxNyNvyMuxjeyxfMNvuF反变换可以通过对F(u,v)求IDFT获得1010)//(2),(),(MuNvNvyMuxjevuFyxfSlide8F(u,v)即为f(x,y)的频谱,通常是复数:(,)(,)j(,)FuvRuvIuv221/2|(,)|[(,)(,)]FuvRuvIuv(,)(,)arctan(,)IuvuvRuv幅度谱相位谱Slide9DFT幅度谱的特点①频谱的直流成分说明在频谱原点的傅里叶变换F(0,0)等于图像的平均灰度级。②幅度谱|F(u,v)|关于原点对称。③图像f(x,y)平移后,幅度谱不发生变化,仅有相位发生变化。Slide104.1.3二维离散傅里叶变换的性质1.变换可分离性二维DFT可以用两个可分离的一维DFT之积表示:11j2π/j2π/0011(,)e(,)eMNuxMvyNxyFuvfxyMN1j2π/01(,)eMuxMxFxvM式中,1j2π/01(,)(,)eNvyNyFxvfxyN结论:(1)二维变换可以通过先进行行变换再进行列变换的两次一维变换来实现。(2)也可以通过先求列变换再求行变换得到二维傅里叶变换。Slide11图4.4用两次一维DFT计算二维DFTSlide122.周期性、共轭对称性及频谱中心化周期性和共轭对称性带来了许多方便。首先来看一维的情况。设有一矩形函数,求出它的傅里叶变换:,0()0,AxXfx≤≤其他jπsinπ()eπuXuXFuAXuXsinπ()πuXFuAXuXSlide13在进行DFT之前用输入信号乘以(-1)x,便可以在一个周期的变换中求得一个完整的频谱。(a)幅度谱(b)原点平移后的幅度谱图4.6频谱图2π2π11j(/2)j0011(/2)()e(1)()eNNxuNxuxNNxxFuNfxfxNNSlide14用(-1)x+y乘以输入的图像函数,则有:)2/,2/(])1)(,([NvMuFyxfDFTyx原点F(0,0)被设置在u=M/2和v=N/2上。如果是一幅图像,在原点的傅里叶变换F(0,0)等于图像的平均灰度级,也称作频率谱的直流成分。Slide15图4.7图像频谱的中心化(a)原始图像(b)中心化前的频谱图(c)中心化后的频谱图3.6图像频谱的中心化中心化的原因?P56,P57Slide163.离散卷积定理设f(x,y)和g(x,y)是大小分别为A×B和C×D的两个数组,则它们的离散卷积定义为DFT[(,)*(,)](,)(,)fxygxyFuvGuv卷积定理1010),(),(),(*),(MmNnnymxgnmfyxgyxfSlide17【例4.2】用MATLAB实现图像的傅里叶变换。为了增强显示效果,用对数对频谱的幅度进行压缩,然后将频谱幅度的对数值用在0~10之间的值进行显示。【解】MATLAB程序如下:I=imread('pout.tif');%读入图像imshow(I);%显示图像F1=fft2(I);%计算二维傅里叶变换figure,imshow(log(abs(F1)+1),[010]);%显示对数变换后的频谱图F2=fftshift(F1);%将直流分量移到频谱图的中心figure,imshow(log(abs(F2)+1),[010]);%显示对数变换后中心化的频谱图Slide18(a)原始图像(b)图像的频谱图(c)中心化的频谱图图3.7傅里叶变换Slide19Slide20Slide214.2二维离散余弦变换(DCT)任何实对称函数的傅里叶变换中只含余弦项,余弦变换是傅里叶变换的特例,余弦变换是简化DFT的重要方法。4.2.1一维离散余弦变换将一个信号通过对折延拓成实偶函数,然后进行傅里叶变换,我们就可用2N点的DFT来产生N点的DCT。1.以x=-1/2为对称轴折叠原来的实序列f(n)得:1),1(10),(nNnfNnnfSlide22-N-10N-1NN+1f(n)延拓示意图2.以2N为周期将其周期延拓,其中f(0)=f(-1),f(N-1)=f(-N)12),12(10),(NnNnNfNnnffc(2N–n–1)=fc(n)Slide233.对0到2N-1的2N个点的离散周期序列作DFT,得)(kFc1202)(NnnkNcWnf=102)(NnnkNWnf122)12(NNmmkNWmNf+=令i=2N-m-1,则上式为=)(kFc102)(NnnkNWnf+01)12(2)(NikiNNWif=22kNW102)12(cos)(NnNknnfSlide24保证变换基的规范正交性,引入常量,定义:F(k)=C(k)N2102)12(cos)(NnNknnfC(k)=其中11,10,21NkkDCT逆变换为1112π(21)()(0)()cos2NunufnCFuNNNSlide254.2.2二维离散余弦变换正变换:逆变换:11002π1π1(,)()()(,)coscos22MNxyFuvCuCvfxyuxvyMNMN11002π1π1(,)()()(,)cos()cos()22MNuvfxyCuCvFuvuxvyMNMNSlide264.2.3二维DCT的应用典型应用是对静止图像和运动图像进行性能优良的有损数据压缩。在静止图像编码标准JPEG、运动图像编码标准MJPEG和MPEG等标准中都使用了8×8块的离散余弦变换,并将结果进行量化之后进行熵编码。DCT具有很强的能量集中在频谱的低频部分的特性,而且当信号具有接近马尔可夫过程的统计特性时,DCT的去相关性接近于具有最优去相关性的K-L变换的性能。Slide27【例4.3】应用MATLAB实现图像的DCT变换。【解】MATLAB程序如下:I=imread('wpeppers2.png');J=rgb2gray(I);%转换彩色图像为灰度图像subplot(1,2,1),imshow(J);%显示原灰度图像K=dct2(J);%对图像做DCT变换subplot(1,2,2),imshow(log(abs(K))+1,[010]);%显示DCT变换结果imshow(log(abs(C2))+1,[010]);%显示DCT变换结果Slide28图4.10离散余弦变换(a)wpeppers2图像(b)wpeppers2图像的DCT系数Slide29应用MATLAB实现图像的DCT变换。解:MATLAB程序如下:A=imread(‘cameraman.tif');%读入图像I=dct2(A);%对图像作DCT变换subplot(1,2,1),imshow(A);%显示原图像subplot(1,2,2),imshow(log(abs(I)),[05]);Slide304.3二维离散沃尔什-哈达玛变换(DHT)前面的变换是余弦型变换,基底函数选用的是余弦型。图像处理中有些变换常常选用方波信号或者它的变形。沃尔什(Walsh)变换。沃尔什函数是一组矩形波,其取值为1和-1,便于计算机运算。函数有三种排列或编号方式,以哈达玛排列最便于快速计算。采用哈达玛排列的沃尔什函数进行的变换称为沃尔什-哈达玛变换,简称WHT或直称哈达玛变换。Slide314.3.1沃尔什变换沃尔什函数系函数值仅取+1和–1两值的非正弦型的标准正交完备函数系。由于二值正交函数与数字逻辑中的两个状态相对应,所以非常便于计算机和数字信号处理器运算。Slide32图4.11沃尔什函数系的前10个函数Slide33沃尔什函数有三种排列或编号方式列率排列、佩利(Paley)排列和哈达玛(Hadamard)排列。沃尔什变换的排列方式为列率排列。与正弦波频率相对应,非正弦波形可用列率描述。列率表示某种函数在单位区间上函数值为零的零点个数之半。Slide34一维沃尔什变换核g(x,u)设N=2n,变换核为11()()01(,)(1)ininbxbuigxuNbk(z)代表z的二进制表示的第k位值。核是一个对称阵列,其行和列是正交的。Slide35一维沃尔什变换正变换:逆变换:111()()001()()(1)iniNnbxbuixWufxN111()()00()()(1)iniNnbxbuiufxWuSlide36二维沃尔什变换正变换:逆变换:11111[()()()()]0001(,)(,)(1)iniiniNNnbxbubybvixyWuvfxyN11111[()()()()]0001(,)(,)(1)iniiniNNnbxbubybviuvfxyWuvNSlide37【例4.5】求图像f的DWT,并反求f。【解】W=GfG,采用MATLAB程序求解W。f=[2552;3333;3333;2551];G=[1111;11-1-1;1-1-11;1-11-1];W=(1/16)*G*f*G2552333333332551fSlide38运行结果为W=3.18750.0625-0.81250.06250.0625-0.06250.0625-0.06250.18750.0625-0.81250.06250.0625-0.06250.0625-0.0625Slide39反求f的程序如下:W=[3.18750.0625-0.81250.0625;0.0625-0.06250.0625-0.0625;0.18750.0625-0.81250.0625;0.0