当前位置:文档之家› 8.2小波分解与重构

8.2小波分解与重构

8.2信号分解与合成的Mallat算法
一维信号的分解与合成
1. 正交镜像滤波器
H伽1IH㈣1
X Higk W
---
L 血b&nd
o K n
A
2. 一维信号的小波分解与重构算法
(Mallat ' herringbone 算法)
X
、二维信号的分解与重构
rl 比
horizontal
HL
LL
venic
aJ
HH
三、用Matlab实现图像的分解与合成
1. dwt2 与idwt2
dwt2为一层二维离散小波分解函数,调用格式:
[cA,cH,cV,cD]=dwt2(X, 'wname'
%用指定小波基对图像X进行一层二维离散小波变换分解。

wname'为小波基的名称,cA为近似
(低频)图像矩阵,cH, cV, cD分别为小波分解的水平方向细节系数,垂直方向细节系数,对角线方向细节系数。

[cA,cH,cV,cD]=dwt2(X丄o_D,Hi_D)
%用指定的低通分解滤波器Lo_D和高通分解滤波
器Hi_D对图像X进行二维离散小波分解。

Lo_D与
Hi_D 的长度必须一致。

idwt2 为一层二维离散小波重构函数,调用格式为:
X=idwt2(cA,cH,cV ,cD,'wname')
% 用指定小波重构图像X ,wname 为小波基的名称
X=idwt2(cA,cH,cV ,cD,Lo_R,Hi_R)
% 用指定低通重构滤波器Lo_R 和高通重构滤波器Hi_R 重构图像X,Lo_R 与Hi_R 的长度必须一致。

2. wavedec2与vaverec2
wavedec2为多层二维离散小波分解函数,其调用
格式为:
[C,S]=wavedec2(X,N,'wname')
% 用指定小波基对图像X 进行N 层二维离散小波分解。

N 为正整数,C为小波分解矢量,S为相应的标记矩阵。

C = [ A(N) | H(N) | V(N) | D(N) | ...
H(N-1) | V(N-1) | D(N-1) | ... | H(1) | V(1) | D(1) ].
A = approximation coefficients
H = horizontal detail coefficients
V = vertical detail coefficients
D = diagonal detail coefficients
矩阵S 形如
S(1,:) = size of approximation coefficients(N)
S(i,:) = size of detail coefficients(N-i+2) for i = 2,・・・
N+1
S(N+2,:) = size(X).
wavwrec2为多层二维离散小波重构函数,其调用格式为:
X=waverec2(C,S, 'wname' %利用指定小波基由矢
量C和标记矩阵S重构图像X。

X=waverec2(C,S丄o_R,Hi_R) %利用低通重构滤
波器Lo_R和高通重构滤波器Hi_R重构图像X。

3. 利用GUI (Graphical User Interface)进行小波分析
利用Matlab提供的图形用户界面GUI可使小波分析变得简单、直观。

在Command Window中键入wavemenu后回车,可进入如下图所示的小波工具箱主菜单窗口
单击Wavelet 2-D、File、load image,在Toolbox\wavelet\ wavedemo目录下调出woman图像文件就可以进行分析
Compress (压缩)、
Histograms (直方图)和De-noise (去噪)等四种
分析。

(参阅《基于 MATLA 啲系统分析与设计 一小波分析》 2.9节,西安电子科技大学出版社,2000)
了。

例如在窗口右上角选择小波种类、分解层数后,单
击Analyze,显示区域就会显示分析结果 上述工具可以对图像进行 Statistics 统
)。

相关主题