Matlab实现小波变换

作者:佚名

--------------------------------------------------------------------------------

该文章讲述了Matlab实现小波变换应用

MATLAB 小波变换 2010-01-11 20:51

3. 图像小波变换的 Matlab 实现函数 fft、fft2 和 fftn 分析

3.1 一维小波变换的 Matlab 实现

(1) dwt 函数   Matlab

功能:一维离散小波变换

格式:[cA,cD]=dwt(X,'wname')

[cA,cD]=dwt(X,Lo_D,Hi_D)别可以实现一维、二维和 N 维 DFT

说明:[cA,cD]=dwt(X,'wname') 使用指定的小波基函数 'wname' 对信号X 进行分解,cA、cD 分别为近似分量和细节分量;[cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的滤波器组 Lo_D、Hi_D 对信号进行分解。

(2) idwt 函数

功能:一维离散小波反变换

格式:X=idwt(cA,cD,'wname')

X=idwt(cA,cD,Lo_R,Hi_R)
X=idwt(cA,cD,'wname',L)函数 fft、fft2 和 fftn 分
X=idwt(cA,cD,Lo_R,Hi_R,L)

说明:X=idwt(cA,cD,'wname') 由近似分量 cA 和细节分量 cD 经小波反变换重构原始信号 X 。

'wname' 为所选的小波函数

X=idwt(cA,cD,Lo_R,Hi_R) 用指定的重构滤波器 Lo_R 和 Hi_R 经小波反变换重构原始信号 X 。

X=idwt(cA,cD,'wname',L) 和 X=idwt(cA,cD,Lo_R,Hi_R,L) 指定返回信号 X 中心附近的 L 个点。

1. 离散傅立叶变换的 Matlab实现

3.2 二维小波变换的 Matlab 实现

二维小波变换的函数别可以实现一维、二维和 N 维 DFT
-------------------------------------------------
函数名                函数功能
---------------------------------------------------
dwt2            二维离散小波变换
wavedec2       二维信号的多层小波分解
idwt2           二维离散小波反变换   Matlab
waverec2        二维信号的多层小波重构
wrcoef2          由多层小波分解重构某一层的分解信号
upcoef2          由多层小波分解重构近似分量或细节分量1. 离散傅立叶变换的 Matlab实现
detcoef2         提取二维信号小波分解的细节分量
appcoef2        提取二维信号小波分解的近似分量
upwlev2         二维小波分解的单层重构1. 离散傅立叶变换的 Matlab实现
dwtpet2         二维周期小波变换
idwtper2        二维周期小波反变换
-------------------------------------------------------------函数 fft、fft2 和 fftn 分
(1) wcodemat 函数
功能:对数据矩阵进行伪彩色编码函数 fft、fft2 和 fftn 分
格式:Y=wcodemat(X,NB,OPT,ABSOL)
Y=wcodemat(X,NB,OPT)
Y=wcodemat(X,NB)
Y=wcodemat(X)

说明:Y=wcodemat(X,NB,OPT,ABSOL) 返回数据矩阵 X 的编码矩阵 Y ;NB 伪编码的最大值,即编码范围为 0~NB,缺省值 NB=16;

OPT 指定了编码的方式(缺省值为 'mat'),即:别可以实现一维、二维和 N 维 DFT

OPT='row' ,按行编码

OPT='col' ,按列编码

OPT='mat' ,按整个矩阵编码函数 fft、fft2 和 fftn 分

ABSOL 是函数的控制参数(缺省值为 '1'),即:

ABSOL=0 时,返回编码矩阵

ABSOL=1 时,返回数据矩阵的绝对值 ABS(X)1. 离散傅立叶变换的 Matlab实现

(2) dwt2 函数

功能:二维离散小波变换

格式:[cA,cH,cV,cD]=dwt2(X,'wname')

[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D)

说明:[cA,cH,cV,cD]=dwt2(X,'wname')使用指定的小波基函数 'wname' 对二维信号 X 进行二维离散小波变幻;cA,cH,cV,cD 分别为近似分量、水平细节分量、垂直细节分量和对角细节分量;[cA,cH,cV,cD]=dwt2(X,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号 X 。1. 离散傅立叶变换的 Matlab实现

(3) wavedec2 函数

功能:二维信号的多层小波分解1. 离散傅立叶变换的 Matlab实现

格式:[C,S]=wavedec2(X,N,'wname')

[C,S]=wavedec2(X,N,Lo_D,Hi_D)

说明:[C,S]=wavedec2(X,N,'wname') 使用小波基函数 'wname' 对二维信号 X 进行 N 层分解;[C,S]=wavedec2(X,N,Lo_D,Hi_D) 使用指定的分解低通和高通滤波器 Lo_D 和 Hi_D 分解信号 X 。别可以实现一维、二维和 N 维 DFT

(4) idwt2 函数

功能:二维离散小波反变换函数 fft、fft2 和 fftn 分

格式:X=idwt2(cA,cH,cV,cD,'wname')
X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)
X=idwt2(cA,cH,cV,cD,'wname',S)别可以实现一维、二维和 N 维 DFT
X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)

说明:X=idwt2(cA,cH,cV,cD,'wname') 由信号小波分解的近似信号 cA 和细节信号 cH、cH、cV、cD 经小波反变换重构原信号 X ;X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R) 使用指定的重构低通和高通滤波器 Lo_R 和 Hi_R 重构原信号 X ;X=idwt2(cA,cH,cV,cD,'wname',S) 和 X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S) 返回中心附近的 S 个数据点。

(5) waverec2 函数

说明:二维信号的多层小波重构

格式:X=waverec2(C,S,'wname')
X=waverec2(C,S,Lo_R,Hi_R)

说明:X=waverec2(C,S,'wname') 由多层二维小波分解的结果 C、S 重构原始信号 X ,'wname' 为使用的小波基函数;X=waverec2(C,S,Lo_R,Hi_R) 使用重构低通和高通滤波器 Lo_R 和 Hi_R 重构原信号。

Allnodes   计算树结点 函数 fft、fft2 和 fftn 分
appcoef   提取一维小波变换低频系数
appcoef2   提取二维小波分解低频系数
bestlevt   计算完整最佳小波包树 别可以实现一维、二维和 N 维 DFT
besttree   计算最佳(优)树
*  biorfilt   双正交样条小波滤波器组
biorwavf   双正交样条小波滤波器     Matlab
*  centfrq   求小波中心频率
cgauwavf   Complex Gaussian小波
cmorwavf   coiflets小波滤波器 1. 离散傅立叶变换的 Matlab实现
cwt   一维连续小波变换
dbaux   Daubechies小波滤波器计算
dbwavf   Daubechies小波滤波器   dbwavf(W)    W='dbN'   N=1,2,3,...,50 别可以实现一维、二维和 N 维 DFT
ddencmp   获取默认值阈值(软或硬)熵标准
depo2ind   将深度-位置结点形式转化成索引结点形式
detcoef   提取一维小波变换高频系数     Matlab
detcoef2   提取二维小波分解高频系数
disp   显示文本或矩阵
drawtree   画小波包分解树(GUI) 别可以实现一维、二维和 N 维 DFT
dtree   构造DTREE类
dwt   单尺度一维离散小波变换
dwt2   单尺度二维离散小波变换 别可以实现一维、二维和 N 维 DFT
dwtmode   离散小波变换拓展模式
*  dyaddown   二元取样
*  dyadup   二元插值 1. 离散傅立叶变换的 Matlab实现
entrupd   更新小波包的熵值
fbspwavf   B样条小波
gauswavf   Gaussian小波     Matlab
get   获取对象属性值
idwt   单尺度一维离散小波逆变换
idwt2   单尺度二维离散小波逆变换
ind2depo   将索引结点形式转化成深度—位置结点形式
*  intwave   积分小波数
isnode   判断结点是否存在      Matlab
istnode   判断结点是否是终结点并返回排列值
iswt   一维逆SWT(Stationary Wavelet Transform)变换
iswt2   二维逆SWT变换     Matlab
leaves     Determine terminal nodes
mexihat   墨西哥帽小波
meyer   Meyer小波 别可以实现一维、二维和 N 维 DFT
meyeraux   Meyer小波辅助函数
morlet   Morlet小波
nodease   计算上溯结点
nodedesc   计算下溯结点(子结点)
nodejoin   重组结点
nodepar   寻找父结点 别可以实现一维、二维和 N 维 DFT
nodesplt   分割(分解)结点
noleaves     Determine nonterminal nodes
ntnode     Number of terminal nodes函数 fft、fft2 和 fftn 分
ntree     Constructor for the class NTREE
*  orthfilt   正交小波滤波器组
plot   绘制向量或矩阵的图形
*  qmf   镜像二次滤波器
rbiowavf     Reverse biorthogonal spline wavelet filters
read   读取二进制数据 函数 fft、fft2 和 fftn 分
readtree   读取小波包分解树
*  scal2frq     Scale to frequency
set       Matlab
shanwavf     Shannon wavelets
swt   一维SWT(Stationary Wavelet Transform)变换
swt2   二维SWT变换
symaux     Symlet wavelet filter computation.
symwavf   Symlets小波滤波器
thselect   信号消噪的阈值选择
thodes     References
treedpth   求树的深度
treeord   求树结构的叉数   函数 fft、fft2 和 fftn 分
upcoef   一维小波分解系数的直接重构
upcoef2   二维小波分解系数的直接重构
upwlev   单尺度一维小波分解的重构 函数 fft、fft2 和 fftn 分
upwlev2   单尺度二维小波分解的重构
wavedec   单尺度一维小波分解
wavedec2   多尺度二维小波分解     Matlab
wavedemo   小波工具箱函数demo
*  wavefun   小波函数和尺度函数
*  wavefun2   二维小波函数和尺度函数 别可以实现一维、二维和 N 维 DFT
wavemenu   小波工具箱函数menu图形界面调用函数
*  wavemngr   小波管理函数
waverec   多尺度一维小波重构 1. 离散傅立叶变换的 Matlab实现
waverec2   多尺度二维小波重构
wbmpen     Penalized threshold for wavelet 1-D or 2-D de-noising
wcodemat   对矩阵进行量化编码 1. 离散傅立叶变换的 Matlab实现
wdcbm     Thresholds for wavelet 1-D using Birge-Massart strategy
wdcbm2    Thresholds for wavelet 2-D using Birge-Massart strategy
wden   用小波进行一维信号的消噪或压缩
wdencmp    De-noising or compression using wavelets
wentropy   计算小波包的熵
wextend    Extend a vector or a matrix
*  wfilters   小波滤波器
wkeep   提取向量或矩阵中的一部分
*  wmaxlev   计算小波分解的最大尺度 1. 离散傅立叶变换的 Matlab实现
wnoise   产生含噪声的测试函数数据
wnoisest   估计一维小波的系数的标准偏差
wp2wtree   从小波包树中提取小波树     1. 离散傅立叶变换的 Matlab实现
wpcoef   计算小波包系数
wpcutree   剪切小波包分解树
wpdec   一维小波包的分解 函数 fft、fft2 和 fftn 分
wpdec2   二维小波包的分解
wpdencmp   用小波包进行信号的消噪或压缩
wpfun   小波包函数 函数 fft、fft2 和 fftn 分
wpjoin    重组小波包
wprcoef   小波包分解系数的重构
wprec   一维小波包分解的重构 1. 离散傅立叶变换的 Matlab实现
wprec2   二维小波包分解的重构
wpsplt   分割(分解)小波包
wpthcoef   进行小波包分解系数的阈值处理 函数 fft、fft2 和 fftn 分
wptree    显示小波包树结构
wpviewcf     Plot the colored wavelet packet coefficients.
wrcoef   对一维小波系数进行单支重构 别可以实现一维、二维和 N 维 DFT
wrcoef2   对二维小波系数进行单支重构
wrev   向量逆序
write   向缓冲区内存写进数据
wtbo     Constructor for the class WTBO
wthcoef   一维信号的小波系数阈值处理
wthcoef2   二维信号的小波系数阈值处理 1. 离散傅立叶变换的 Matlab实现
wthresh   进行软阈值或硬阈值处理
wthrmngr   阈值设置管理
wtreemgr   管理树结构   Matlab