8.2 小波分解与重构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.2信号分解与合成的Mallat算法
一、一维信号的分解与合成
1. 正交镜像滤波器
2. 一维信号的小波分解与重构算法
(Mallat’s herringbone算法)
二、二维信号的分解与重构
三、用Matlab实现图像的分解与合成
1.dwt2与idwt2
dwt2为一层二维离散小波分解函数,调用格式:
[cA,cH,cV,cD]=dwt2(X,’wname’)
% 用指定小波基对图像X进行一层二维离散小波
变换分解。’wname’为小波基的名称,cA为近似
(低频)图像矩阵,cH, cV, cD分别为小波分解的水
平方向细节系数,垂直方向细节系数,对角线方向
细节系数。
[cA,cH,cV,cD]=dwt2(X,Lo_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,Lo_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图像文件就可以进行分析
了。例如在窗口右上角选择小波种类、分解层数后,单
击Analyze, 显示区域就会显示分析结果
上述工具可以对图像进行Statistics(统计)、Compress
(压缩)、Histograms(直方图)和De-noise(去噪)等四种
分析。(参阅《基于MATLAB的系统分析与设计—小波分析》2.9节, 西安电子科技大学出版社, 2000)