小波变换mallat

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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=,并对三级分解图像进行归一化,求出0的个数为37626,其所占的百分比为%。

2、延拓重建图像

延拓方法周期延拓对称周期延拓零延拓常数连续延拓PNSR

从PNSR结果可知,在各种延拓中,对称周期延拓的重建图像结果最好,相比之下零延拓图像效果不如其他方法延拓。

3、不同小波下重构图像的性质

用不同小波进行图像重构,所得的重构图像能量分布如下

用各种小波进行重构后的图像的均值方差如下表。 小波 db1 db2 db3 db4 均值 方差 2272

2272

2272

2272

附录:

1、主函数程序

clc;clear;

X=imread('');%路径

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('重建图像');

zerosn=numberzeros(A);

% Y=Y(33:288,33:288); %当调用延拓图像时,从延拓的重建图像进行截取csize=size(X);

sr=csize(1);

相关文档
最新文档