资源描述
第3章,图像变换,3.1 二维离散傅里叶变换(DFT),3.1.1 二维连续傅里叶变换,二维连续函数,f,(,x,y,),的傅里叶变换定义如下:,设 是独立变量 的函数,且在 上绝对可积,则定义积分,为二维连续函数 的付里叶变换,并定义,为 的反变换。,和,为傅里叶变换对,。,(3.1),(3.2),【例3.1】求图3.1所示函数,的傅里叶变换。,解:将函数代入到(3.1)式中,得,其幅度谱为,二维信号的图形表示,图3.1 二维信号,f,(,x,y,),(a)信号的频谱图 (b)图(a)的灰度图,图3.2 信号的频谱图,二维信号的频谱图,3.1.2 二维离散傅里叶变换,尺寸为,M,N,的离散图像函数的,DFT,反变换可以通过对,F,(,u,v,),求,IDFT,获得,(3.3),(3.4),DFT,变换进行图像处理时有如下特点:,(,1,)直流成分为,F,(0,0),。,(,2,)幅度谱,|,F,(,u,v,)|,对称于原点。,(,3,)图像,f,(,x,y,),平移后,幅度谱不发生变化,仅有相位发生了变化。,(3.5),(3.6),3.1.3 二维离散傅里叶变换的性质,1周期性和共轭对称性,周期性和共轭对称性来了许多方便。,我们首先来看一维的情况。,设有一矩形函数为,求出它的傅里叶变换:,幅度谱:,(a)幅度谱 (b)原点平移后的幅度谱,图3.4 频谱图,DFT,取的区间是,0,N,-1,,在这个区间内频谱是由两个背靠背的半周期组成的,要显示一个完整的周期,必须将变换的原点移至,u,=,N,/2,点。,根据定义,有,在进行,DFT,之前用,(-1),x,乘以输入的信号,f,(,x,),,可以在一个周期的变换中(,u,0,,,1,,,2,,,,,N,1,),求得一个完整的频谱。,(3.7),推广到二维情况。在进行傅里叶变换之前用,(-1),x+y,乘以输入的图像函数,则有:,DFT,的原点,即,F,(0,0),被设置在,u,=,M,/2,和,v,=,N,/2,上。,(0,0),点的变换值为:,即,f,(,x,y,),的平均值。,如果是一幅图像,在原点的傅里叶变换,F(0,0),等于图像的平均灰度级,也称作频率谱的直流成分。,(3.8),(3.9),(a)原始图像 (b)中心化前的频谱图 (c)中心化后的频谱图,图3.5 图像频谱的中心化,2可分性,离散傅里叶变换可以用可分离的形式表示,这里,对于每个,x,值,当,v,0,,,1,,,2,,,,,N,1,时,该等式是完整的一维傅里叶变换。,(3.10),(3.11),二维变换可以通过两次一维变换来实现。,同样可以通过先求列变换再求行变换得到,2D DFT,。,图3.6 二维DFT变换方法,3离散卷积定理,设,f,(,x,y,),和,g,(,x,y,),是大小分别为,A,B,和,C,D,的两个数组,则它们的离散卷积定义为,卷积定理,(3.12),(3.13),【例3.2】用MATLAB实现图像的傅里叶变换。,解:MATLAB程序如下:,A=imread(pout.tif);%读入图像,imshow(A);%显示图像,A2=fft2(A);%计算二维傅里叶变换,A2=fftshift(A2);,%将直流分量移到频谱图的中心,figure,imshow(log(abs(A2)+1),0 10);,%显示变换后的频谱图,(a)原始图像 (b)图像频谱,图3.7 傅里叶变换,3.2 二维离散余弦变换(DCT),任何实对称函数的傅里叶变换中只含余弦项,余弦变换是傅里叶变换的特例,余弦变换是简化,DFT,的重要方法。,3.2.1,一维离散余弦变换,将一个信号通过对折延拓成实偶函数,然后进行傅里叶变换,我们就可用,2,N,点的,DFT,来产生,N,点的,DCT,。,1,以,x,=-1/2,为对称轴折叠原来的实序列,f,(,n,),得:,(3.14),-,N,-1,0,N,-1,N,N,+1,f,(,n,),图3.8 延拓示意图,2以2,N,为周期将其周期延拓,其中,f,(0),f,(1),,f,(,N,1),f,(,N,),(3.15),(3.16),3对0到2,N,1的2,N,个点的离散周期序列 作DFT,得,令,i,2,N,m,1,则上式为,为了保证变换基的规范正交性,引入常量,定义:,F,(,k,),C,(,k,),C,(,k,)=,(3.17),其中,(3.18),3.2.2 二维离散余弦变换,(3.19),DCT逆变换为,【例3.3】应用MATLAB实现图像的DCT变换。,解:MATLAB程序如下:,A=imread(pout.tif);%读入图像,I=dct2(A);%对图像作DCT变换,subplot(1,2,1),imshow(A);%显示原图像,subplot(1,2,2),imshow(log(abs(I),0 5);,(3.20),(a)原图 (b)DCT系数,图3.10 离散余弦变换,3.3 二维离散沃尔什-哈达玛变换(DHT),前面的变换都是余弦型变换,基底函数选用的都是余弦型。,图像处理中还有许多变换常常选用方波信号或者它的变形。,沃尔什(,Walsh,)变换。,沃尔什函数是一组矩形波,其取值为,1,和,-1,,非常便于计算机运算。,沃尔什函数有三种排列或编号方式,以哈达玛排列最便于快速计算。,采用哈达玛排列的沃尔什函数进行的变换称为沃尔什,-,哈达玛变换,简称,WHT,或直称哈达玛变换。,3.3.1 哈达玛变换,哈达玛矩阵:元素仅由,1,和,1,组成的正交方阵。,正交方阵:指它的任意两行(或两列)都彼此正交,或者说它们对应元素之和为零。,哈达玛变换要求图像的大小为,N,2,n,。,一维哈达玛变换核为,其中,代表,z,的二进制表示的第,k,位值。,(3.21),一维哈达玛正变换为,一维哈达玛反变换为,二维哈达玛正反变换为,(3.22),(3.23),(3.24),(3.25),二维哈达玛正、反变换也具有相同形式。,正反变换都可通过两个一维变换实现。,高阶哈达玛矩阵可以通过如下方法求得:,N,8,的哈达玛矩阵为,(3.26),(3.27),3.3.2 沃尔什变换,哈达玛变换矩阵,其列率的排列是无规则的。,将无序的哈达玛核进行列率的排序,之后得到的有序的变换就成为沃尔什(,Walsh,)变换。,一维,Walsh,变换核为,二维沃尔什正变换和反变换为,(3.28),N,8时的沃尔什变换核的值为,3.4 卡胡南-列夫变换(K-L变换),Kahunen-Loeve,变换是在均方意义下的最佳变换。,优点:能够完全去除原信号中的相关性,因而具有非常重要的理论意义。,缺点:基函数取决于待变换图像的协方差矩阵,因而基函数的形式是不定的,且计算量很大。,H,8,=,(3.29),K-L变换基本原理,设:随机图像训练集X为N*N阶矩阵的集合,每张图像写成向量,则均值向量为,X的自协方差矩阵为,K,=,=,其中:为X的自相关函数,在 中对角线上为 各个分量的方差,非对角线上为各个分量间的协方差。因此,K,为对称矩阵。,计算 的根,有,在线性代数理论中知:由特征值 可以进一步求得特征向量。,即,特征向量 满足,由特征向量可构成特征向量矩阵,因此有,其中:,取,A,为变换矩阵,对 作变换,则有,该式称为K-L变换,并有,因此经K-L变换后,等价于,F,已完全去处相关性。,问题,求变换核,A,需计算协方差矩阵,计算量大且无快速算法;变换核,A,与数据X集有关,不适合用于正交变换领域。,K-L变换的应用,把 从大到小排列,取前MN个特征值对应的特征向量构成变换矩阵为A,M*N,,则,一.基于变换域的数据压缩,正变换,Y=A(),其中;X维数为N,Y维数为M,逆变换 =A,T,Y,注:对于正交变换有A,T,=A,-1,特点:A随数据集合X不同而变化,工程应用无意义。,二.统计学习和知识抽取,对Y进一步进行聚类,可以在M维空间上建立Y的描述,进而完成N维空间上关于X的描述,获得关于X的知识。,三.模式识别,建立对Y的分类器,可实现对X的分类。,K-L变换引入的失真,正交变换保持能量守恒,即:,时域能量总和=变换域能量总和,的协方差矩阵为,Y的协方差矩阵为 因此,信号总能量为:,当作降维操作时有能量保持率为,引入的失真(噪声能量),3.5 二维离散小波变换,一种窗口大小固定,但形状可改变,因而能满足时频局部化分析的要求的变换。,3.5.1,连续小波变换,设 且 ,按如下方式生成的函数族,称为分析小波或连续小波。,称为基本小波或母波,a,称为伸缩因子,,b,为平移因子。,(3.30),3.5.2 离散小波变换,把连续小波变换离散化更有利于实际应用。,对,a,和,b,按如下规律取样:,其中,;,得离散小波:,离散小波变换和逆变换为,(3.31),(3.32),(3.33),3.5.3 快速小波变换算法,【例3.4】应用MATLAB实现小波变换的例子。,解:MATLAB程序如下:,X=imread(pout.tif);%读入图像,imshow(X);,cA1,cH1,cV1,cD1=dwt2(X,bior3.7);%进行二维小波变换,A1=upcoef2(a,cA1,bior3.7,1);,H1=upcoef2(h,cH1,bior3.7,1);,V1=upcoef2(v,cV1,bior3.7,1);,D1=upcoef2(d,cD1,bior3.7,1);,subplot(2,2,1);image(wcodemat(A1,192);,title(Approximation A1),subplot(2,2,2);image(wcodemat(H1,192);,title(Horizontal Detail H1),subplot(2,2,3);image(wcodemat(V1,192);,title(Vertical Detail V1),subplot(2,2,4);image(wcodemat(D1,192);,title(Diagonal Detail D1),图3.16 小波变换结果图,
展开阅读全文