怎么使用matlab的wavelet直接对图形进行小波分解? 10

 我来答
benjiba
推荐于2018-03-22 · TA获得超过352个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:90.3万
展开全部

clear;

clc

load tire ;

% 用小波函数db1对信号进行2尺度分解

[c,s] = wavedec2(X,2,'db1');

sizex = size(X)

sizec = size(c)

val_s = s 

% 提取尺度2的所有方向的高频系数

[chd2,cvd2,cdd2] = detcoef2('all',c,s,2); 

sizecd2 = size(chd2)

% 提取尺度1的所有方向的高频系数 

[chd1,cvd1,cdd1] = detcoef2('all',c,s,1); 

sizecd1 = size(chd1)

% 提取尺度2的低频系数

ca2 = appcoef2(c,s,'db1',2); 

sizeca2 = size(ca2)

% 提取尺度1的低频系数

ca1 = appcoef2(c,s,'db1',1); 

sizeca1 = size(ca1)

nbc = size(map,1);

colormap(pink(nbc));

figure(1);

subplot(221);image(wcodemat(X,nbc));

title('原始图像');

subplot(223);image(wcodemat(ca2,nbc));

title('尺度2的低频系数');

subplot(224);image(wcodemat(ca1,nbc));

title('尺度1的低频系数');

figure(2);

subplot(221);image(wcodemat(chd2,nbc));

title('尺度2水平方向的高频系数');

subplot(222);image(wcodemat(cvd2,nbc));

title('尺度2垂直方向的高频系数');

subplot(223);image(wcodemat(cdd2,nbc));

title('尺度2斜线方向的高频系数');

subplot(224);image(wcodemat(chd1,nbc));

title('尺度1水平方向的高频系数');

figure(3);

subplot(121);image(wcodemat(cvd1,nbc));

title('尺度1垂直方向的高频系数');

subplot(122);image(wcodemat(cdd1,nbc));

title('尺度1斜线方向的高频系数');

参考资料: 基于MATLAB7.X的系统分析与设计:小波分析(第3版)

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式