yasuot.m

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

M
37
字号
function [ytul,ytut,time,fk,max,cs]=yasuot(tu,f,n,N)
%tu为需要压缩的图像,f为分块的块数,其值只能为1,2,4,否则报错。N为压缩时扫描的遍数。n为小波分解的层数。
if f~=1&f~=2&f~=4
   disp('f只能取1、2、4,三个值。');
else
   time=N;
   cs=n;
   fk=f;
   ytul=[];
   max=0;        %
   m=256/f;
   for i=1:f
      for j=1:f
         X=tu(m*(i-1)+1:m*i,m*(j-1)+1:m*j);
         X=xiaobo(X,m,n);
         cm=cmax(X,m);
         t0=qt0(cm);
         mainc=codeq(t0,X,N,m);
         ytul=[ytul;mainc];
         xmax=cmax(ytul,m);            %
         if xmax>max                %
            max=xmax;
         end
       end
   end
   if max<256               %max=max(ytuf);
      max=256;
   end
   ytul1=reshape(ytul,1,N*256*256);
   ytut=xyasuof(ytul1,max);
   fid=fopen('jieg.bin','w');
   count=fwrite(fid,ytut,'integer*2');
   fclose(fid);
end

   
   

⌨️ 快捷键说明

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