数字图像处理图像变换.ppt
数字图像处理图像变换现在学习的是第1页,共28页3.1 3.1 二维离散傅里叶变换(二维离散傅里叶变换(DFTDFT)3.1.1 二维连续傅里叶变换二维连续傅里叶变换l二维连续函数 f(x,y)的傅里叶变换定义如下:l设 是独立变量 的函数,且在 上绝对可积,则定义积分 为二维连续函数 的付里叶变换,并定义 为 的反变换。和 为傅里叶变换对。(3.1)(3.2)现在学习的是第2页,共28页【例例3.1】求图3.1所示函数 的傅里叶变换。解:解:将函数代入到(3.1)式中,得 其幅度谱为现在学习的是第3页,共28页二维信号的图形表示图3.1 二维信号f(x,y)现在学习的是第4页,共28页(a)信号的频谱图 (b)图(a)的灰度图图3.2 信号的频谱图 二维信号的频谱图现在学习的是第5页,共28页3.1.2 3.1.2 二维离散傅里叶变换二维离散傅里叶变换l尺寸为MN的离散图像函数的DFT l反变换可以通过对F(u,v)求IDFT获得(3.3)(3.4)现在学习的是第6页,共28页 lDFT变换进行图像处理时有如下特点:l(1)直流成分为F(0,0)。l(2)幅度谱|F(u,v)|对称于原点。l(3)图像f(x,y)平移后,幅度谱不发生变化,仅有相位发生了变化。(3.5)(3.6)现在学习的是第7页,共28页3.1.3 3.1.3 二维离散傅里叶变换的性质二维离散傅里叶变换的性质1周期性和共轭对称性l周期性和共轭对称性来了许多方便。l我们首先来看一维的情况。l设有一矩形函数为,求出它的傅里叶变换:现在学习的是第8页,共28页幅度谱:(a)幅度谱 (b)原点平移后的幅度谱 图3.4 频谱图 现在学习的是第9页,共28页nDFT取的区间是0,N-1,在这个区间内频谱是由两个背靠背的半周期组成的,要显示一个完整的周期,必须将变换的原点移至u=N/2点。n根据定义,有 n在进行DFT之前用(-1)x 乘以输入的信号 f(x),可以在一个周期的变换中(u0,1,2,N1),求得一个完整的频谱。(3.7)现在学习的是第10页,共28页l推广到二维情况。在进行傅里叶变换之前用(-1)x+y 乘以输入的图像函数,则有:lDFT的原点,即F(0,0)被设置在u=M/2和v=N/2上。l(0,0)点的变换值为:即 f(x,y)的平均值。l如果是一幅图像,在原点的傅里叶变换F(0,0)等于图像的平均灰度级,也称作频率谱的直流成分。(3.8)(3.9)现在学习的是第11页,共28页(a)原始图像 (b)中心化前的频谱图 (c)中心化后的频谱图图3.5 图像频谱的中心化 现在学习的是第12页,共28页2可分性可分性l离散傅里叶变换可以用可分离的形式表示 这里l对于每个x值,当v0,1,2,N1时,该等式是完整的一维傅里叶变换。(3.10)(3.11)现在学习的是第13页,共28页n二维变换可以通过两次一维变换来实现。n同样可以通过先求列变换再求行变换得到2D DFT。图3.6 二维DFT变换方法现在学习的是第14页,共28页3离散卷积定理离散卷积定理l设f(x,y)和g(x,y)是大小分别为AB和CD的两个数组,则它们的离散卷积定义为l卷积定理卷积定理 (3.12)(3.13)现在学习的是第15页,共28页【例例3.2】用MATLAB实现图像的傅里叶变换。解:解:MATLAB程序如下:A=imread(pout.tif);%读入图像 imshow(A);%显示图像 A2=fft2(A);%计算二维傅里叶变换 A2=fftshift(A2);%将直流分量移到频谱图的中心figure,imshow(log(abs(A2)+1),0 10);%显示变换后的频谱图现在学习的是第16页,共28页 (a)原始图像 (b)图像频谱图3.7 傅里叶变换现在学习的是第17页,共28页3.2 3.2 二维离散余弦变换(二维离散余弦变换(DCTDCT)l任何实对称函数的傅里叶变换中只含余弦项,余弦变换是傅里叶变换的特例,余弦变换是简化DFT的重要方法。3.2.1 一维离散余弦变换一维离散余弦变换l将一个信号通过对折延拓成实偶函数,然后进行傅里叶变换,我们就可用2N点的DFT来产生N点的DCT。1以x=-1/2为对称轴折叠原来的实序列f(n)得:(3.14)现在学习的是第18页,共28页-N-10N-1NN+1f(n)图3.8 延拓示意图 2以2N为周期将其周期延拓,其中f(0)f(1),f(N1)f(N)(3.15)(3.16)现在学习的是第19页,共28页3对0到2N1的2N个点的离散周期序列 作DFT,得令i2Nm1,则上式为 现在学习的是第20页,共28页l 为了保证变换基的规范正交性,引入常量,定义:F(k)C(k)C(k)=(3.17)其中(3.18)3.2.2 3.2.2 二维离散余弦变换二维离散余弦变换(3.19)现在学习的是第21页,共28页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)现在学习的是第22页,共28页(a)原图 (b)DCT系数图3.10 离散余弦变换现在学习的是第23页,共28页3.3 3.3 二维离散沃尔什二维离散沃尔什-哈达玛变换(哈达玛变换(DHTDHT)l前面的变换都是余弦型变换,基底函数选用的都是余弦型。l图像处理中还有许多变换常常选用方波信号或者它的变形。l沃尔什(Walsh)变换。l沃尔什函数是一组矩形波,其取值为1和-1,非常便于计算机运算。l沃尔什函数有三种排列或编号方式,以哈达玛排列最便于快速计算。l采用哈达玛排列的沃尔什函数进行的变换称为沃尔什-哈达玛变换,简称WHT或直称哈达玛变换。现在学习的是第24页,共28页3.3.1 3.3.1 哈达玛变换哈达玛变换l哈达玛矩阵:元素仅由1和1组成的正交方阵。l正交方阵:指它的任意两行(或两列)都彼此正交,或者说它们对应元素之和为零。l哈达玛变换要求图像的大小为N2n。l一维哈达玛变换核为 其中,代表z的二进制表示的第k位值。(3.21)现在学习的是第25页,共28页l一维哈达玛正变换为l一维哈达玛反变换为l二维哈达玛正反变换为(3.22)(3.23)(3.24)(3.25)现在学习的是第26页,共28页l二维哈达玛正、反变换也具有相同形式。l正反变换都可通过两个一维变换实现。l高阶哈达玛矩阵可以通过如下方法求得:lN8的哈达玛矩阵为 (3.26)(3.27)现在学习的是第27页,共28页3.3.2 沃尔什变换l哈达玛变换矩阵,其列率的排列是无规则的。l将无序的哈达玛核进行列率的排序,之后得到的有序的变换就成为沃尔什(Walsh)变换。l一维Walsh变换核为l 二维沃尔什正变换和反变换为(3.28)现在学习的是第28页,共28页