小波变换mallat
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验目的:通过编程实现离散快速小波变换Mallat 算法,从而加深理解二维
小波变换的分解与合成,同时,提高编程能力和matlab 的应用,为以后的学习打下基础。
实验原理:
1、Mallat 快速算法
本实验使用离散快速小波变换快速算法Mallat 算法,算法原理如下
1(2)j j k n n
c h n k c -=-∑ (1)
1(2)j j k n n
d g n k c -=-∑ (2)
重构算法: 1
(2)(2)j j j n
k k n
n
c h n k c g n k
d -=-+-∑∑ (3)
对于(1)、(2)等效于1
j n c -经过冲击响应为[]h n -和[]g n -的数字滤波器,然后再分别进行“二抽取”,Mallat 分解算法的滤波器表示形式如下图
C j-1
d j (k)
C j (k)
用滤波器表示如下图
d j
C j C j-1(k)
2、 255*255
10lg
PSNR MSE
=
'2
11
()*M
N
ij
ij i j f
f MSE M N
==-=
∑∑
{}ij f '{}ij f 分别表示原始图像和重建后的图像,1,1i M j N ≤≤≤≤。
3、边界延拓方法有零延拓、周期延拓、对称周期延拓、常数连续延拓等,本实验采用以上四种方法进行原图像的1/8延拓,并进行重构,各种延拓方法所对应的函数为yan0(x)、yancir
(x )、yan(x)、yanc(x),在主程序中,需要某种延拓,便调用某种函数。
实验编程思路:
为使程序易于理解,在不考虑算法复杂度的情况下,分解程序采用简洁的循环计算出下一级的分解系数,程序采用的编程思想如下
[][][]11100[0][1][2][3][4][5]
001[1]00[0][1][2][3]00[1][2][3][4][5]00[0][1]12j j j j j j c c h h h h h h c c h h h h n c n h h h h h h c ---⎡⎤
⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢
⎥⎢⎥=⎢⎥⎢
⎥⎢⎥⎢⎥⎢⎥⎡⎤⎢⎥--⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦⎣
⎦
以上矩阵等式左面是进行二抽样的结果,[0][1]2
j j n
c c -是j 分解的低频部分。同理,对
于j 分解的高频部分有如下矩阵形式:
[][][]11
100[0][1][2][3][4][5]0
01[1]00[0][1][2][3]0
0[1][2][3][4][5]00[0][1]12j j j j j d d g g g g g g d d g g g g n d n g g g g g g d ---⎡⎤⎡⎤
⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢
⎥⎢
⎥⎢⎥⎢
⎥⎢⎥⎡⎤⎢⎥--⎢⎥⎣⎦
⎣
⎦⎢⎥⎢⎥⎣
⎦⎣⎦ 分解程序: lenx=size(x,2);%x 为一维向量
lenh=size(h,2); h=[h,zeros(1,(lenx-lenh))]; g=[g,zeros(1,(lenx-lenh))];
r1(1)=sum(h.*x); r2(1)=sum(g.*x);
for k=1:1:(lenx/2-1) %循环求出下一级低频和高频分量
h=[h(end-1:end),h(1:(end-2))];
r1(k+1)=sum(h.*x); g=[g(end-1:end),g(1:1:(end-2))];
r2(k+1)=sum(g.*x);
end y=[r1,r2];
对于重构算法,其等效形式为
[][][]1(2)(2)j j j n
n
c n h n k c k g n k
d k -=-+-∑∑
上式等号右边部分实质上是对变量k 的数字卷积运算,程序采用频域相乘代替卷积,重建程序为 y=ifft(fft(c3,lenx).*fft(h,lenx))+ ifft(fft(d3,lenx).*fft(g,lenx));
实验结果及分析:
1、多尺度分解与重构图像
二维小波变换采用小波采用db3,其峰值信噪比PNSR=230.13db,并对三级分解图像进行归一化,求出0的个数为37626,其所占的百分比为57.41%。
2、延拓重建图像
延拓方法周期延拓对称周期延拓零延拓常数连续延拓PNSR 230.18db 230.48db 229.80db 230.13db 从PNSR结果可知,在各种延拓中,对称周期延拓的重建图像结果最好,相比之下零延拓图像效果不如其他方法延拓。
3、不同小波下重构图像的性质
用不同小波进行图像重构,所得的重构图像能量分布如下
用各种小波进行重构后的图像的均值方差如下表。
小波db1 db2 db3 db4
均值124.0309 124.0509 124.0509 124.0509 方差2272 2272 2272 2272
附录:
1、主函数程序
clc;clear;
X=imread('LENA.bmp');%路径X=double(X);
% S=yancir(X);
A=mallatdec2(X,'db3', 3); image(abs(A));
colormap(gray(255));
title('3级多尺度分解图像');
Y=mallatrec2(A,'db3',3);
Y=real(Y);
figure(2);
subplot(1,2,1);
image(X);
colormap(gray(255));
title('原始图像');
subplot(1,2,2);
image(Y);
colormap(gray(255));
title('重建图像');