下面来介绍一下如何在MATLAB实现CWT,也就是我们常说的连续小波变换,具体如下:
所谓小波(wavelet),即存在于一个较小区域的波。小波函数的数学定义是:设ψ(t)为一平方可积函数,即ψ(t)∈L2(R),若其傅里叶变换Ψ(ω)满足条件:
则称ψ(t)为一个基本小波或小波母函数,并称上式是小波函数的可允许条件。
1、打开MATLAB,在其主界面的编辑器中写入下列代码:
clear; %清除MATLAB工作环境中现有的变量
load wbarb; %装入图像
subplot(2,2,1);image(X);colormap(map);
title('原始图像');
disp('原始图像X的大小:');
whos('X');
%对图像用bior3.7小波进行二层小波分解
[c,s]=wavedec2(X,2,'bior3.7');
%提取小波分解结构中第一层的低频系数和高频系数
ca1=appcoef2(c,s,'bior3.7',1);
ch1=detcoef2('h',c,s,1);
cv1=detcoef2('v',c,s,1);
cd1=detcoef2('d',c,s,1);
%分别对各频率成分进行重构
a1=wrcoef2('a',c,s,'bior3.7',1);
h1=wrcoef2('h',c,s,'