数字图像处理第3章图像的变换

上传人:j****9 文档编号:55152189 上传时间:2018-09-25 格式:PPT 页数:74 大小:2.84MB
返回 下载 相关 举报
数字图像处理第3章图像的变换_第1页
第1页 / 共74页
数字图像处理第3章图像的变换_第2页
第2页 / 共74页
数字图像处理第3章图像的变换_第3页
第3页 / 共74页
数字图像处理第3章图像的变换_第4页
第4页 / 共74页
数字图像处理第3章图像的变换_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《数字图像处理第3章图像的变换》由会员分享,可在线阅读,更多相关《数字图像处理第3章图像的变换(74页珍藏版)》请在金锄头文库上搜索。

1、第3章 图像的变换,图像的变换,数字图像处理的方法分为两类:空间域处理法(或者称为空域法)和频域法(或者称为变换域法)。一般数字图像处理的计算方法本质上都可看成是线性的,处理后的输出图像阵列可看作输入图像阵列的各个元素经加权线性组合而得到,这种空间线性处理要比非线性处理简单。但图像阵列一般都很大,如果没有有效的算法,计算上比较复杂、费时。图像的频域处理最突出的特点是其运算速度高,并可采用已有的二维数字滤波技术进行所需要的各种图像处理,因此得到了广泛的应用。图像变换可以将图像从空间域转换到频率域,然后在频率域对图像进行各种处理,再将所得到的结果进行反变换,即从频率域变换到空间域,从而达到图像处理

2、的目的。,3.1 图像的正交变换,正交变换是图像处理技术的一种重要工具,在图像处理中,如图像增强、复原、编码、描述和特征提取等方面,都有着广泛的应用。通过正交变换改变图像的表示域及表示数据,给后续处理工作带来了极大的方便。正交变换可分为3大类型,即正弦型变换、方波型变换和基于特征向量的变换。正弦型变换主要包括傅里叶变换、余弦变换和正弦变换;方波型变换主要包括哈达玛(Hadamarn)变换、沃尔什(Walsh)变换、斜变换和Haar变换;基于特征向量的变换主要包括Hotelling变换、KL变换和SVD变换。,图像的正交变换,对于数字图像或图像块 f(x,y),x=0,1,M1;y=0,1,N1

3、,其二维离散线性变换的一般形式为式中, u=0,1,M1;v=0,1,N1;p(u,v,x,y) 称为正变换核。同样,对应的反变换的一般形式为式中, x=0,1,M1;y=0,1,N1;q(u,v,x,y) 称为反变换核。在大部分已有的变换中,变换核都可以表示为p(u,v,x,y)=p1(u,x)p2(v,y) q(u,v,x,y)=q1(u,x)q2(v,y),图像的正交变换,这时的变换称为变换核可分离的,并可进一步写成这表明,一个变换核可分离的二维离散线性变换,可通过分别对于2个变量的一维离散线性变换来实现,对于正反变换都是如此。,图像的正交变换,对于变换核可分离的变换,其正变换式的矩阵形

4、式为同样,反变换式可表示为当图像及其变换分别用堆叠构成的矢量表示时,可由上式得到以下矢量形式的正反变换式:F=Pf及 式中,F和f均为MN维矢量,而P和Q为MNMN的变换矩阵。显然有,图像的正交变换,如果变换为变换核可分离的,且有式(3.1.3)和(3.1.4)的矩阵形式,则变换矩阵P和Q可由下式求得: 式中符号表示矩阵的直积运算。根据直积运算的性质可得:上式说明,若反变换存在,则 存在,从而 和 存在,因而可令,图像的正交变换,对于上述变换,若满足则称P为酉矩阵(上标“*”表示复共轭),并且,这时Q也一 定是酉矩阵,所以,可称相应的变换为酉变换。若酉矩阵为实阵,则称为正交矩阵,相应的变换称为

5、正交变换。于是,对于变换核可分离的酉变换,根据式(3.1.5)和(3.1.6),变换矩阵 P1、P2、Q1和Q2均为酉矩阵,且反变换为若P1和P2 都为对称矩阵,则上式可进一步写成f=P1FP2即反变换和正变换的计算公式完全相同。,3.2 傅里叶变换,1807年,傅里叶提出了傅里叶级数的概念,即任一周期信号可分解为复正弦信号的叠加。1822年,傅里叶又提出了傅里叶变换。傅里叶变换是一种常用的正交变换,它的理论完善,应用程序多。在数字图像应用领域,傅里叶变换起着非常重要的作用,用它可完成图像分析、图像增强及图像压缩等工作。傅里叶变换主要分为连续傅里叶变换和离散傅里叶变换,在数字图像处理中经常用到

6、的是二维离散傅里叶变换。,3.2.1连续函数的傅里叶变换,令 f(x) 为实变量x的连续函数,f(x)的傅里叶变换以Ff(x)表示,则表达式为傅里叶变换中出现的变量u通常称为频率变量。若已知 F(u) ,则傅里叶反变换为式(3.2.1)和(3.2.3)称为傅里叶变换对。,连续函数的傅里叶变换,这里f(x)是实函数,它的傅里叶变换F(u)通常是复函数。F(u)的实部、虚部、振幅、能量和相位分别表示如下: 实部虚部 振幅 能量 相位,连续函数的傅里叶变换,傅里叶变换很容易推广到二维的情况。如果 f(x,y) 是连续和可积的,且 F(u,v) 是可积的,则存在如下的傅里叶变换对:与一维的情况一样,二

7、维函数的傅里叶谱、能量和相位谱为,连续函数的傅里叶变换,图3.1(a)所示矩形函数的傅里叶变换为其傅里叶谱为矩形函数的傅里叶谱如图3.1(b)所示。,连续函数的傅里叶变换,图 3.1 矩形函数的傅里叶变换及其相位谱,3.2.2 离散函数的傅里叶变换,假定以间隔x对一个连续函数f(x)均匀采样,离散化为一个序列 f(x0), f(x0+x),fx0+(N1)x(如图3.3所示),则将序列表示 f(x)=f(x0+x)式中x假定为离散值0,1,2,N1。换句话说,序列 f(0),f(1),f(2),f(N1) 表示取自该连续函数N个等间隔的抽样值。,离散函数的傅里叶变换,被抽样函数的离散傅里叶变换

8、定义为反变换为式中u=0,1,2,N1 。 在二维的情况下,离散的傅里叶变换对表示为,离散函数的傅里叶变换,数字图像的二维离散傅里叶变换所得结果的频率成分的分布示意图如图所示。即变换结果的左上、右上、左下、右下四个角的周围对应于低频成分,中央部位对应于高频成分。为使直流成分出现在变换结果数组的中央,可采用图示的换位方法。但应注意,当换位后的数组再进行反变换时,得不到原图。也就是说,在进行反变换时,必须使用四角代表低频成分的变换结果,使画面中央对应高频部分。,3.2.3 离散傅里叶变换的若干性质,1. 周期性和共轭对称性若离散傅里叶变换和它的反变换周期为N,则有F(u,v)=F(u+N,v)=F

9、(u,v+N)=F(u+N,v+N) (3.2.26)共轭对称性可表示为F(u,v)=F(u,v)(3.2.27)|F(u,v)|=|F(u,v)|(3.2.28) 2. 分离性一个二维傅里叶变换可由连续2次一维傅里叶变换来实现。式(3.2.26)可分成下面两式: ,离散傅里叶变换的若干性质,此式表示对每一个x值, f(x,y) 先沿每一行进行一次一维傅里叶变换;然后将 F(x,v) 沿每一列再进行一次一维傅里叶变换,就可得到二维傅里叶变换 F(u,v) ,即,离散傅里叶变换的若干性质,3. 平移性质傅里叶变换对的平移性可表示为4. 旋转性质5. 分配律根据傅里叶变换对的定义可得到Ff1(x,

10、y)+f2(x,y)=Ff1(x,y)+Ff2(x,y),离散傅里叶变换的若干性质,6. 尺度变换(缩放)给定2个标量a和b,可证明傅里叶变换有以下2式成立:7. 平均值对二维离散函数 f(x,y) ,其平均值可用下式表示:,离散傅里叶变换的若干性质,8. 离散卷积定理离散卷积定义卷积定理 Ff(x,y)*g(x,y)=F(u,v)G(u,v) 9. 离散相关定理离散相关定义 相关定理为 Ff(x,y)g(x,y)=F(u,v)G(u,v),3.2.4 离散傅里叶变换的Matlab实现,Matlab函数fft、fft2和fftn分别可以实现一维、二维和N维DFT算法,而函数ifft、ifft2

11、和ifftn则用来计算反DFT,它们是以需要进行反变换的图像作为输入参数,计算得到的输出图像。这些函数的调用格式如下:A=fft (X, N, DIM)其中,X表示输入图像;N表示采样间隔点,如果X小于该数值,那么Matlab将会对X进行零填充,否则将进行截取,使之长度为N;DIM表示要进行离散傅里叶变换的维数;A为变换后的返回矩阵。,离散傅里叶变换的Matlab实现,A=fft2(X, MROWS, NCOLS)其中,MROWS和NCOLS指定对X进行零填充后的X大小。A=fftn(X,SIZE)其中,SIZE是一个向量,它们每一个元素都将指定X相应维进行零填充后的长度。函数ifft、iff

12、t2和ifftn的调用格式与对应的离散傅里叶变换函数一致。,离散傅里叶变换的Matlab实现,例3.1 图像矩阵数据的显示及其傅里叶变换。为了说明怎样根据图像矩阵进行图像的傅里叶变换,本例构造一个函数的矩阵f,然后使用一个二进制图像显示矩阵f(数值1表示图3.6所示矩形的内部,0表示其他位置)。f=zeros (30, 30); 使用f(5:24, 13:17)=1; F=fft2 (f);imshow (f,notruesize) F2=log (abs (F);imshow (F2, -1, 5,notruesize); colormap(jet);命令计算并可视化f的DFT振幅谱。可视化

13、结果如图3.6所示。图3.7所示的傅里叶变换结果。,离散傅里叶变换的Matlab实现,图3.6 矩阵f的二进制显示结果图 3.7 矩阵f二进制图像的傅里叶变换结果,离散傅里叶变换的Matlab实现,例3.2 图像的二维离散傅里叶频谱。%读入原始图像I=imread (lena.bmp);imshow (I)%求离散傅里叶频谱J=fftshift(fft2(I);%对原始图像进行二维傅里叶变换,并将其中心移到零点figure;imshow (log (abs(J), 8,10)其结果如图所示。,离散傅里叶变换的Matlab实现,离散傅里叶变换的Matlab实现,例3.3 二维离散傅里叶变换的旋转

14、性。%构造原始图像I=zeros (256, 256);I(28:228, 108:148)=1; imshow (I)%求原始图像的傅里叶频谱J=fft2(I);F=abs(J);J1=fftshift(F);figureimshow (J1,5 50)%构造原始图像I = zeros (256, 256);I(28:228, 108:148)=1; ,%对原始图像进行旋转 J=imrotate(I,315,bilinear,crop); figure imshow(J) %求旋转后图像的傅里叶频 J1=fft2(J); F=abs(J1); J2=fftshift(F);figure im

15、show(J2,5 50) 其结果如图3.10所示。,离散傅里叶变换的Matlab实现,3.3 离散余弦变换,3.3.1 一维离散余弦变换函数 f(x) 的一维DCT为式中,u=1, 2, 3,N-1;x=0, 1, 2, N-1 。F(u)的反变换为,3.3.2 二维离散余弦变换,将一维离散余弦变换扩展到二维离散余弦变换为二维离散余弦反变换为u,v=01其他,3.3.3 离散余弦变换的Matlab实现,在Matlab中,dct2函数和idct2函数分别用于进行二维DCT变换和二维DCT反变换。1. dct2函数功能:二维DCT变换。格式:B = dct2 (A)B = dct2 (A, m, n)B = dct2 (A, m n说明:B = dct2 (A)计算A的DCT变换B,A与B的大小相同;B = dct2 (A, m, n)和B = dct2 (A, m n)通过对A补0或剪裁,使B的大小为mn。,离散余弦变换的Matlab实现,2. idct2函数 功能:DCT反变换。 格式:B = idct2 (A) B = idct2 (A, m, n) B = idct2 (A, m n) 3. dctmtx函数 功能:计算DCT变换矩阵。 格式:D = dctmtx (n) 说明:D = dctmtx (n)返回一个nn的DCT变换矩阵,输出矩阵D 为double类型。 ,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号