傅里叶、小波变换

上传人:san****019 文档编号:70560717 上传时间:2019-01-17 格式:PPT 页数:40 大小:635.51KB
返回 下载 相关 举报
傅里叶、小波变换_第1页
第1页 / 共40页
傅里叶、小波变换_第2页
第2页 / 共40页
傅里叶、小波变换_第3页
第3页 / 共40页
傅里叶、小波变换_第4页
第4页 / 共40页
傅里叶、小波变换_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《傅里叶、小波变换》由会员分享,可在线阅读,更多相关《傅里叶、小波变换(40页珍藏版)》请在金锄头文库上搜索。

1、,4.4 图像傅里叶变换,傅里叶变换是数学上,特别是工程数学上常用 的变换方法。Matlab中的二维快速傅里叶变换函 数是fft2,该函数对应的逆傅里叶变换函数是 ifft2。 图像傅里叶变换函数 在这一节中,还是通过Matlab中的傅里叶变换函数直观上理解分析傅里叶变换。,1.图像傅里叶变换函数fft2 【例4-16】利用傅里叶变换函数变换图像,观察分析变换结果。 A= imread(D:0371.bmp); B= imread(D:00.bmp); A1=fft2(A); B1=fft2(B); subplot(1,4,1); imshow(A) subplot(1,4,2); imsho

2、w(A1) subplot(1,4,3); imshow(B) subplot(1,4,4); imshow(B1),设计左面程序进行傅里叶变换。 程序的运行结果是图4-12所示。,(a) (b) (c) (d) (a) 原图像0371,(b) 图像0371变换结果,(c) 图像00,(b) 图像00变换结果 图4-12 图像傅里叶变换结果,由于图4-12中的原图像简单,所以能够看出变换后结果的一些特征。如果把上面程序中的原图像换为图4-13中的(a)与(c),那么得到的变换数据显示出来,视觉上觉得杂乱无章。,(a) (b) (c) (d) (a) 原图像0010,(b) 图像0010变换结果

3、,(c) 图像0041,(b) 图像0041变换结果 图4-13 复杂图像傅里叶变换结果,2.图像逆傅里叶变换函数ifft2 【例4-17】利用傅里叶变换函数变换图像,然后用逆傅里叶变换函数复原图像,观察分析比较。 设计如下程序: A= imread(D:0010.jpg); A=rgb2gray(A); B= imread(D:0041.jpg); B=rgb2gray(B); C= imread(D:0371.bmp); D= imread(D:00.bmp); A1=fft2(A); B1=fft2(B); C1=fft2(C); D1=fft2(D); A2=abs(ifft2(A1)

4、; B2=abs(ifft2(B1); C2=ifft2(C1); D2=ifft2(D1); subplot(2,4,1); imshow(A); subplot(2,4,2); imshow(B) subplot(2,4,3); imshow(C); subplot(2,4,4); imshow(D) subplot(2,4,5); image(A2); subplot(2,4,6); image(B2) subplot(2,4,7); imshow(C2); subplot(2,4,8); imshow(D2),程序的运行结果为图4-14所示。,图4-14逆傅里叶变换复原图像,程序中首先

5、进行傅里叶变换,然后进行逆傅里叶变换,对逆变换结果取模(因为傅里叶变换后一般是复数),然后重新绘制出来。从图像上看几乎看不出复原图像与原图像有区别,但是由于机器计算精度有限,另外计算时必然要进行截断,所以原图像与复原图像之间是有细小差别的。,图像傅里叶变换的数学描述,1. 图像傅里叶变换 因为图像矩阵是离散的,所以图像处理时多使用二维离散傅里叶变换。二维离散傅里叶变换定义如下:,我们他门是要变换的函数或矩阵,作为矩阵大小为M N。 为了剖析二维离散傅里叶变换定义式,更深刻的理解该变换的含义,根据式(4-5),设计了例4-19来实现图像的二维离散傅里叶变换。该例题中的程序实现了二维离散傅里叶变换

6、,但是与fft2函数不同,fft2函数使用的是快速傅里叶变换变换算法,在算法的质量与运行速度上都优于该例题中的程序。,(4-5),【例4-19】编写程序计算图像的二维离散傅里叶变换。 A= imread(D:shizi1.bmp); B=rgb2gray(A); B=double(B); s=size(B); M=s(1); N=s(2); for u=0:M-1 for v=0:N-1 k=0; for x=0:M-1 for y=0:N-1 k=B(x+1,y+1)*exp(-j*2*pi*(u*x/M+v*y/N)+k; end end F(u+1,v+1)=k; end end C=f

7、ft2(B); subplot(1,3,1); imshow(A) subplot(1,3,2); imshow(C) subplot(1,3,3); imshow(F),根据式(4-5)设计左面程序,2. 图像傅里叶变换的矩阵表示 离散傅里叶变换表达式(4-5)也可以改写为下面(4-6)形式:,(4-6),改写后进一步可以把式(4-6)变成矩阵乘积的形式:,式(4-7)中的P与Q分别是式(4-8)与(4-9)所示矩阵。,(4-8),称P与Q为二维离散傅里叶变换的变换矩阵。 【思考题】二维离散傅里叶变换的变换矩阵与离散余弦变换矩阵有什么区别? 3. 图像逆傅里叶变换 图像二维逆离散傅里叶变换的

8、定义式如下式所示:,(4-9),(4-10),例4-21 A0= imread(D:0.bmp); A=double(A0); s=size(A); M=s(1); N=s(2); for u=0:M-1 for x=0:M-1 P(u+1,x+1)= (1/M0.5)*exp(-j*2*pi*(u*x/M); end end for v=0:N-1 for y=0:N-1 Q(v+1,y+1)= (1/N0.5)*exp(-j*2*pi*(v*y/N); end end C=fft2(A); F=P*A*Q; subplot(1,3,1); imshow(A) subplot(1,3,2);

9、 imshow(C) subplot(1,3,3); imshow(F),Matlab中有很多关于小波变换的函数,其中二维小波变换函数都可以用在图像处理、图像压缩等领域。另外Matlab也提供了许多小波函数专门用于图像处理。 二维小波变换 1.二维小波变换 母小波函数是指满足式 的函数,二维母小波函数的构造可由一维母小波函数的张量积形成,也可以采用非张量积的方法构造。,4.5 图像小波变换,假定函数 为二维母小波函数。,令,(4-11),由(4-11)式定义的,产生于二维母小波函数,依赖于参数a、b、c的一组函数就是小波基函数。 二维连续小波变换定义为:,(4-12),二维离散小波变换定义为:

10、,(4-13),令式(4-13)中的,即得到常用的一种离散小波变换:,(4-14),【注】母小波函数与小波基函数都是小波函数。,2.小波函数 Haar小波就是一个常用的小波函数。 (1)Haar小波 Haar小波是最早使用的、简单的紧支撑小波,Haar小波实际上是Daubechies小波族中的一个特例。,(4-15),利用(4-15)可以构造出二维小波函数。,(2)Daubechies小波 Daubechies小波也有相应的数学描述。其中在Matlab中称为db1 的Daubechies小波与Haar小波是相同的。下面不研究其数学描述,只通过图形显示一组二维Daubechies小波函数。,3.

11、逆二维小波变换 二维连续小波变换的逆小波变换定义为:,(4-17),其中,,二维离散小波变换的逆小波变换公式可以通过式(4-17)得到。 假定对应于二维母小波 的对偶小波为:,则对应于式(4-12)至(4-14)有统一的逆小波变换(重构公式):,式(4-18)中, 表示内积。,Matlab图像小波变换函数,作为一种函数变换,小波变换也经常应用于图像处理中。 1.小波变换函数的使用 Matlab提供了相当多与图像处理相关的小波函数,下面介绍几个函数的使用。 【例4-23】图像一层小波分解。 设计下面程序: A0= imread(D:0011.jpg); A=rgb2gray(A0); CA1,C

12、H1,CV1,CD1=dwt2(A,db1); subplot(1,5,1); imshow(A) subplot(1,5,2); image(CA1); axis off subplot(1,5,3); imshow(CH1) subplot(1,5,4); imshow(CV1) subplot(1,5,5); imshow(CD1),函数dwt2(A,db1)是对矩阵A进行一层小波变换,也称小波分解,db1指定使用的小波函数为一阶Daubechies小波。 语句CA1,CH1,CV1,CD1=dwt2(A,db1)返回四个分解矩阵CA1,CH1,CV1,CD1,分别称为近似系数矩阵、水平

13、细节系数矩阵、垂直细节系数矩阵、对角细节系数矩阵。 该例题中A为480 640大小,CA1,CH1,CV1,CD1均为240 320大小。为了比较方便,把这些矩阵图形排成一行显示在一起,但实际上后面图形的大小是原图像大小的四分之一。,(a) 原图像 (b) 近似CA1 (c)水平细节CH1 (d)垂直细节CV1 (e)对角细节CD1 图4-24 图像小波分解系数矩阵(1),从图4-24可以看出近似系数矩阵与原图像很接近,其他几个都是原图像的高频信息。,(a) 原图像 (b) 近似 (c) 水平细节 (d) 垂直细节 (e)对角细节 图4-27图像一阶小波重构(2),【例4-25】使用逆小波变换

14、函数idwt2进行图像重构。 A0= imread(D:0011.jpg); A=rgb2gray(A0); CA1,CH1,CV1,CD1=dwt2(A,db1); AA=idwt2(CA1,CH1,CV1,CD1,db1); B0= imread(D:3.jpg); B=rgb2gray(B0); CA2,CH2,CV2,CD2=dwt2(B,db1); BB=idwt2(CA2,CH2,CV2,CD2,db1); subplot(1,4,1); imshow(A) subplot(1,4,2); image(AA); axis off subplot(1,4,3); imshow(B)

15、subplot(1,4,4); image(BB); axis off,设计左面程序:,【例4-26】图像二层小波分解。 A0= imread(D:3.jpg); A=rgb2gray(A0); C S=wavedec2(A,2, bior1.3); CA2=appcoef2(C,S, bior1.3,2); CH2=detcoef2(h,C,S,2); CV2=detcoef2(v,C,S,2); CD2=detcoef2(d,C,S,2); CH1=detcoef2(h,C,S,1); CV1=detcoef2(v,C,S,1); CD1=detcoef2(d,C,S,1); subplot(2,4,1); imshow(A) subplot(2,4,5); image(CA2); axis off subplot(2,4,6); imshow(CH2) subplot(2,4,7); imshow(CV2) subplot(2,4,8); imshow(CD2) subplot(2,4,2); imshow(CH1) subplot(2,4,3); imshow(CV1) subplot(2,4,4); imshow(CD1),设计右面程序:,程序的运行结果如图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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