前言:最近在学习matlab小波分析工具箱中的二维连续小波变换,以下是自己的一些学习心得。
1、小波工具箱二维连续小波变换
如何使用小波分析工具箱,这篇博客
matlab二维连续小波分析工具箱
讲的很详细,这边不做赘述(我是个合格的搬运工)。所以咱这边仅对小波变换后的结果和输出进行简单的总结。
2、举例说明
(1)小波分析工具箱的使用
首先,加载数据“load woman”。
load woman;
然后在命令行输入“wavemenu”,弹出小波分析工具箱界面,选择Continuous Wavelet Transform 2-D,进入二维连续小波变换界面。在“Import data”界面里选择数据“X”进行小波分析。
选择“gaus”小波,点击“Analyze”进行分析,得到的结果如下。从左到右、从上到下依次是原图像、系数图像、实部图像、虚部图像、角度图像。
(2)结果的输出
点击File>Export data,定义cwt结果的名称,这边我们定义成“cwtgaus”。结果输出的形式是结构体。
下面对不同字段的含义进行简单说明。
a.字段“wav”中包含小波函数的名称和相关参数。
相关参数的含义可以点击CWT 2D界面的“More on Parameters”进行查看,点击“Show Formulas”来查看小波函数的具体形式。
b.字段“scales”和“angles”分别表示尺度参数和角度参数。
c.字段“wav_norm”具体不知道什么含义,但是与“scales”和“angles”有关。
d.字段“cfs”是五维向量,包含了小波系数信息。查看”cwtgaus.cfs”的大小,五个维度的含义分别是:原始图像数据的横纵坐标长度(256*256)、图像的通道数(如果只是灰度图像则为1,rgb图像为3);尺度参数的长度;角度参数的长度。
取尺度参数为6,角度参数为2,那么,我们可以通过以下代码来分别获取小波变换后的各信息。
scale=6;
angz=2;
figure
subplot(231)
imagesc (X),colormap gray,colorbar
xlabel('x(m)','Fontsize',14),ylabel('y(m)','Fontsize',14),title('原图像','Fontsize',16);
subplot(232)
imagesc (abs(cwtgaus.cfs(:,:,1,scale,angz))),colormap gray,colorbar
xlabel('x(m)','Fontsize',14),ylabel('y(m)','Fontsize',14),title('系数图像','Fontsize',16);
subplot(233)
imagesc (real(cwtgaus.cfs(:,:,1,scale,angz))),colormap gray,colorbar
xlabel('x(m)','Fontsize',14),ylabel('y(m)','Fontsize',14),title('实部图像','Fontsize',16);
subplot(234)
imagesc (imag(cwtgaus.cfs(:,:,1,scale,angz))),colormap gray,colorbar
xlabel('x(m)','Fontsize',14),ylabel('y(m)','Fontsize',14),title('虚部图像','Fontsize',16);
subplot(235)
imagesc (angle(cwtgaus.cfs(:,:,1,scale,angz))),colormap gray,colorbar
xlabel('x(m)','Fontsize',14),ylabel('y(m)','Fontsize',14),title('角度图像','Fontsize',16);
结果如下:
【总结完毕,over~ 如果文章有什么不对的地方,也希望各位大佬指出~】
【最后,天寒欲雪,望君眠食诸希珍重~】