我有一个4x4矩阵,我希望通过使用单级Daubechies-4小波变换将其分解为4个频带(LL,HL,LH,HH,其中L=low,H=high)。作为转换的结果,每个频带应包含2x2个系数。我如何在MATLAB中做到这一点?我知道MATLAB有dbaux
和dbwavf
函数。然而,我不确定如何使用它们,我也没有小波工具箱。
任何帮助都是非常感谢的。
谢谢。
发布于 2010-04-15 02:13:45
你试过这个吗?
N = length(S);
S = transpose(S);
s1 = S(1:2:N-1) + sqrt(3)*S(2:2:N);
d1 = S(2:2:N) - sqrt(3)/4*s1 - (sqrt(3)-2)/4*[s1(N/2) s1(1:N/2-1)];
s2 = s1 - [d1(2:N/2) d1(1)];
s = (sqrt(3)-1)/sqrt(2) * s2;
d = (sqrt(3)+1)/sqrt(2) * d1;
礼遇http://en.wikipedia.org/wiki/Daubechies_wavelet#Implementation
发布于 2010-04-18 19:31:12
我认为Ivan Selesnick的wavelet software package为你按下了所有正确的按钮。它涵盖了可分离的一维、二维和三维情况。matlab实现和教程!它不需要小波工具箱,但它可能需要信号处理工具箱(不确定图像处理工具箱)。它还为更高级的小波变换提供了代码,因此您甚至可以探索其他技术。
https://stackoverflow.com/questions/2639812
复制相似问题