急求用matlab编小波包3级分解及输出其系数的程序,那位高手帮助我一下,将不胜感激,先谢谢啦!

急求用matlab编小波包3级分解及输出其系数的程序,那位高手帮助我一下,将不胜感激,先谢谢啦!,第1张

load ir %将信号装入MATLAB工作环境

s=X106_BA_time(1:1000) %取采样信号的前1~1000个采样点

is=length(s) %计算采样序列长度

subplot(321)plot(s)title('原始信号'行哗)%画弊友出原始信号波形

xlabel('样本序列号')

ylabel('幅值A')

wpt=wpdec(s,3,'db1','shannon')% 用db1小波包对信号x3层分解,用shannon熵作为熵标准

plot(wpt)%绘制小波包树

N=allnodes(wpt)% 计算小波包分解树的结点

%提取各节点的小波包系数档卜行

for i=1:length(N)

X=wpcoef(wpt,i-1)

subplot(floor((length(N)+1)/2),2,i)plot(X)

title(['节点',num2str(i) '的小波包系数'])

end

figure

%各节点小波包重构系数

for i=1:length(N)

rcfs=wprcoef(wpt,i-1)

subplot(floor((length(N)+1)/2),2,i)plot(rcfs)

title(['重构节点',num2str(i) '小波包系数'])

end

t = wpdec(x,3,'db1','shannon')改为T = wpdec(x,3,'db1','shannon')

plot(t)改为plot(T);

rcfs = wprcoef(t,[2 1])改为rcfs = wprcoef(T,[2 1])

变量名除非用于递归,不要搭裂扮前后重复使用。后面的t只是部分覆盖了开源裤头的t所以会出现问题。

希望对你知灶能有所帮助。

程序如下:

load facets

%打开原始图像,见图搜正弯1

imshow(X,map)

%X包含原始图像信息,map包含打开的色图

nbcol=size(map,1)

[cA1,cH1,cV1,cD1]=dwt2(X,'db1')

%对图像x执行单层分解,小波为db1

cod_X=wcodemat(X,nbcol)

cod_cA1=wcodemat(cA1,nbcol)

cod_cH1=wcodemat(cH1,nbcol)

cod_cV1=wcodemat(cV1,nbcol)

cod_cD1=wcodemat(cD1,nbcol)

%图像编码

figure

subplot(221)

imshow(cod_cA1,map)

title('近似细节系数')

subplot(222)

imshow(cod_cH1,map)

title('水平细节系数')

subplot(223)

imshow(cod_cV1,map)

title('垂直清激细节系数')

subplot(224)

imshow(cod_cD1,map)

title('对角细世闷节系数') %如图2所示

图就不发了,自动就会显示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12383387.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存