xiaobo.m

来自「基于matlab的小波变换的图象压缩」· M 代码 · 共 31 行

M
31
字号
function tu=xiaobo(qtu,l,n)
%对图块qtu(长度为l)进行小波分解,n为小波分解的层数,其值只能为1,2,3
if n<1&n>3
   disp('n为小波分解的层数,其值只能为1,2,3');
else   
   [c,s]=wavedec2(qtu,3,'db1');
   ca3=appcoef2(c,s,'db1',3);
   ca2=appcoef2(c,s,'db1',2);
   ca1=appcoef2(c,s,'db1',1);
   ch3=detcoef2('h',c,s,3);
   cv3=detcoef2('v',c,s,3);
   cd3=detcoef2('d',c,s,3);
   [ch3,cv3,cd3]=lhuaz(ch3,cv3,cd3,l,3);
   ch2=detcoef2('h',c,s,2);
   cv2=detcoef2('v',c,s,2);
   cd2=detcoef2('d',c,s,2);
   [ch2,cv2,cd2]=lhuaz(ch2,cv2,cd2,l,2);
   ch1=detcoef2('h',c,s,1);
   cv1=detcoef2('v',c,s,1);
   cd1=detcoef2('d',c,s,1);
   [ch1,cv1,cd1]=lhuaz(ch1,cv1,cd1,l,1);
   if n==3
      ca2=[ca3,ch3;cv3,cd3];
   end
   if n>1
      ca1=[ca2,ch2;cv2,cd2];
   end
   tu=[ca1,ch1;cv1,cd1];
   tu=round(tu);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?