⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codeb.m

📁 基于matlab的小波变换的图象压缩
💻 M
字号:
function mainc=codeb(m,X,N,l)
%对矩阵X进行N遍扫描,得到一个[8,N*8]的矩阵mainc
%N个[8,8]的矩阵分别对应了N遍扫描后的编码矩阵
tn=1;mainc=[];A=zeros(size(X));ts=1;
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
            if ts==tn&Y(row,col)==2    %第一个条件保证不影响第二次编码
               if row<=l/2&col<=l/2
                  Y(2*row-1,2*col-1)=2;
                  Y(2*row-1,2*col)=2;
                  Y(2*row,2*col-1)=2;
                  Y(2*row,2*col)=2;
               end   
            else 
               Y=lxbmb(m,X,Y,row,col,l/2);
            end 
            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];ts=tn;
   tn=tn+1;
   m=m/2;
end
if m<8             
   disp(['所输N值太大,N应小于',num2str(tn),'.']);
end
return

         
         
         
         

⌨️ 快捷键说明

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