傅里叶变换、离散余弦变换与小波变换

  • 格式:doc
  • 大小:1.08 MB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二维离散傅里叶、余弦、小波变换

专业班级:10 信息安全

学生姓名:***

学生学号:_ ************** _

指导教师:***

完成时间:2022年4月28日

数字图像处理

实验三:二维离散傅里叶、余弦、小波变换

一、实验目的

1. 了解图像正变换和逆变换的原理。

2. 了解图像变换系数的特点。

3. 掌握常用图像变换的实现过程。

4. 掌握图像的频谱分析方法。

5. 了解图像变换在图像数据压缩等方面的应用。

二、实验主要仪器设备

1. 微型计算机:Intel Pentium 及更高。

2. MATLAB 软件。

三、实验原理

二维离散傅里叶变换、余弦变换、小波变换的正逆变换公式,MATLAB 中的上述变换的实现函数以及讨论正交变换的应用。

1. 二维离散傅里叶变换(Discrete Fourier Transform ,DFT )

对于二维傅立叶变换,其离散形式如式(1)所示;逆变换公式如式(2)所示:

∑∑-=-=+-=101

)//(2),(1),(M x N y N vy M ux j e y x f MN v u F π (1) ∑∑-=-=+=101

0)//(2),(),(M u N v N vy M ux j e v u F y x f π (2)

频谱公式如式(3)所示:

)

,(),(|),(|),(),(|),(|),(22),(v u I v u R v u F v u jI v u R e v u F v u F v u j +=+==ϕ (3) 由可傅立叶变换的分离性可知,一个二维傅立叶变换可分解为两步进行, 其中每一步都是一个一维傅立叶变换。先对f(x, y)按列进行傅立叶变换得到F(x, v),再对F(x, v)按行进行傅立叶变换,便可得到f(x, y)的傅立叶变换结果。显然对f(x, y)先按行进行离散傅立叶变换, 再按列进行离散傅立叶变换也是可行的,这里不再一一赘述。

此外,在实际工程应用中分析幅度谱较多,习惯上也常把幅度谱称为频谱。使用DFT 变换进行图像处理时,有如下特点:

(1)频谱的直流成分为∑∑-=-==101

2),(1)0,0(M x N y y x f N F ,说明在频谱原点的傅里

叶变换F (0,0)等于图像的平均灰度级。

(2)幅度谱|),(|v u F 关于原点对称,即),(),(v u F v u F --=。

(3)图像),(y x f 平移后,幅度谱不发生变化,仅有相位发生变化。

DFT 是一种基本和重要的正交变换。为了提高计算效率,应用时往往采用二维FFT 实现。而一般的正交变换图像经过对数变换后便于观察。MATLAB 采用fft2和ifft2分别进行二维DFT 变换和二维DFT 逆变换,采用fftshift 将直流分量移到频谱图的中心以便观察。

2. 二维离散余弦变换(Discrete Cosine Transform ,DCT )

对于二维余弦变换,其离散形式如式(4)所示,逆变换如式(5)所示:

⎥⎦

⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡+=∑∑-=-=)21(cos )21(cos ),(2)()(),(1010y v MN x u MN y x f MN v C u C v u F M x N y ππ (4) 式中,⎪⎩

⎪⎨⎧-≤≤==⎪⎩⎪⎨⎧-≤≤==11,10,21)(11,10,21)(N v v v C M u u u C ∑∑-=-=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡+=1010)21(cos )21(cos ),()()(2),(M u N v y v N x u M

v u F v C u C MN y x f ππ (5) 在MATLAB 中,采用dct2和idct2分别进行二维DCT 变换和二维DCT 逆变换。

二维DCT 常用于信号和图像处理,典型应用是对静止图像和运动图像进行性能优良的有损数据压缩。在静止图像编码标准JPEG 、运动图像编码标准MJPEG 和MPEG 等标准中都使用了8*8块的离散余弦变换,并将结果进行量化之后进行熵编码。DCT 具有很强的能量集中在频谱的低频部分的特性,而且当信号具有接近马尔科夫过程(Markov processes )的统计特性时,DCT 的去相关性接近于具有最优去相关性的K-L 变换(Karhunen-Loeve 变换)的性能。

另外,改进的离散余弦变换(Modified Discrete Cosine Transform ,MDCT )对交叠的数据进行DCT ,有助于避免由于区块边界所产生的多余数据,被用在高级音频编码(Advanced Audio Coding ,AAC )、Ogg V orbis 、AC —3和MP3音频压缩中。

3. 二维离散小波变换(D Discrete Space Wavelet Transform ,DDSWT )

对于二维小波变换,其离散形式如式(6)所示;逆变换如式(7)所示:

dxdy a

b y a b x y x f a y x f b b a W R b b a y x f y x ),(),(1),(,),,(*,2-->==<⎰ψψ (6) 式中,x b 和y b 分别函数),(y x f 在轴上的x ,y 平移量。

da db db a

b y a b x b b a W a y x f y x y x b a y x f R R ),(),,(1

),(,22--=⎰⎰+ψ (7) 类似地,可以定义二维离散小波变换逼近,并采用Mallat 二维快速算法求解。与DFT 类似,可分离二维小波变换最终可转换为两次一维小波变换。

对图像进行小波变换的MATLAB 常用函数有:

① 对图像进行一层二维小波分解,常见形式为:

[CA,CH,CV ,CD]=dwt2(X,’wname ’)

式中,X 为图像矩阵;’wname ’是使用的小波基函数名称,如可选择双正交样条小波基函数,形式为biorNr.Nd 。

② 查询使用的小波基函数的信息,使用形式为:

Waveinfo(‘wname ’)

式中,小波基名称’wname ’可选用’haar ’(哈尔小波)、’db ’(Daubechies 小波)、’bior ’(双正交样条小波)等。例如,在命令行状态下键入wavainfo(‘bior ’)进行查询双正交样条小波,可知r 表示reconstruction (重建),d 表示decomposition (分解),N 表示相应FIR 滤波器的阶数;CA 、CH 、CV 、CD 分别是输入矩阵X 小波分解的近似系数矩阵、水平细节系数、垂直细节系数和对角线细节系数。

③ 对二维小波分解的图像进行各种分量的重构,常见函数形式为:

Y=upcoef2(O,X,’wname ’,N)

式中,X 是分解后的细节信号,Y 是重构的细节信号分量;N 表示对矩阵X 的系数进行重建的步骤数,即重构的层数,默认值为1。O 是细节信号的类型。如果O=’a ’,则表示对信号的近似系数进行重建;否则,如果O=’h ’、’v ’或’d ’,则分别对水平、垂直或对角线细节进行重建。

④ 对应上述的一层二维小波变换DWT2函数,进行一层二维小波变换逆变换,常见形式为:

X=idwt2(CA,CH,CV ,CD,’wname ’)

idwt2函数采用’wname ’所指示的小波、已重建的基于近似矩阵CA ,以及水平细节CH 、垂直细节CV 和对角线细节CD 计算原图像矩阵X 。

⑤ 对重构的图像进行量化编码,常见函数形式为:

Y=wcodemat(X,NBCODES,OPT,ABSOL)

式中,X 为待进行量化编码的矩阵,Y 为编码矩阵。在编码中,把矩阵X 中元素绝对值最大的作为NBCODES (整数),绝对值最小的作为1,其他元素依其绝对值的大小在1与NBCODES 中排列。当OPT 为’row ’时,做行编码;当