codeq.m

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

M
39
字号
function mainc=codeq(m,X,N,l)
%对矩阵X进行N遍扫描,得到一个[8,N*8]的矩阵main
%N个[8,8]的矩阵分别对应了N遍扫描后的编码矩阵,time为扫描的遍数,值与N相等,l为矩阵长度
tn=1;mainc=[];A=zeros(size(X));
while tn<=N&m>=8
   k=1;s=2;Y=zeros(size(X));
   kr=1;kc=1;n=1;sr=2;sc=2;
   while k<=l&s<=l
      for row=kr:sr
         for col=kc:sc
            Y=lxbmq(m,X,Y,row,col,l/2);
            if tn==1
               A(row,col)=fzbm(X,row,col);
            end   
         end
      end
      if n==1
         k=2;
      end
      if n==2
         kc=kr;sc=sr;kr=k;sr=s;n=3;
      elseif n==3
         kr=k;kc=k;sr=s;sc=s;n=4;
      else
         k=2*k-1;s=2*s;sc=s;kc=k;kr=1;sr=s/2;n=2;
      end
   end
   t=hy(Y,A,l);
   mainc=[mainc t];
   tn=tn+1;
   m=m/2;
end
if m<8
   disp(['所输N值太大,N应小于',num2str(tn),'.']);
end
return

         
         

⌨️ 快捷键说明

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