Mallat 算法的分析与综合框架参考书上的资料很多,这里就不多说了。
下面是我写的关于图像的程序,分别是:一维分解,二维分解;一维合成,二维合成。最后是测试主程序。
谢谢参考,错了请反馈一下!
%内部子函数,对一行(row)矢量进行一次小波变换,利用fft实现
function y=mdec1(x,h,g)
%x 行数组
%h为低通滤波器
%g为高通滤波器
%输出: y 进行一级小波分解后的系数
lenx=size(x,2); %求行的长度
lenh=size(h,2); %求低通滤波器的长度
rh=h(end:-1:1); %rh是h的逆序 h0(n)=h(-n)
rrh=[zeros(1,(lenx-lenh)),rh]; %rrg在rg前插入(lenx-lenh))个零
rrh=circshift(rrh',1)'; %循环位移
rg=g(end:-1:1); %rg为高通滤波器的逆序g0(n)=g(-n)
rrg=[zeros(1,(lenx-lenh)),rg]; %rrg在rg前插入(lenx-lenh))个零
rrg=circshift(rrg',1)'; %循环位移
r1=dyaddown(ifft(fft(x).*fft(rrh,lenx)),1); %use para 1,下2奇采样
r2=dya