资源简介

对我上传的RLE行程编码所压缩的文件进行解码,编码文件在我的上传中可以下载。

资源截图

代码片段和文件信息

%福建农林大学金山学院 2007级 jay粉丝 QQ:544786937
%解码过程与编码一样,只有一部分代码变动
function x=irlez(r) %行程解码r为待解码的游程编码表,x为解码后的数据矩阵
  m=r(length(r(:1))1);%提取出原始矩阵的行数
  n=r(length(r(:2))2);%提取出原始矩阵的列数 
  x(11)=r(11);%初始化x的值
  r(12)=r(12)-1;%相应的个数减1
  c=2;i=1;j=2;l=1;t1=2;t2=2;%c用来记录方向
  for k=2:m+n-1   %从第二个数开始,总共有m+n-1次Z形转换
       while i<=t1&j<=t2 %判断是否超过游走边界t1记录i的最大值,t2记录j的最大值         
           if r(l2)>0  %如果第l个数的复制次数大于0的话,就继续复制
              x(ij)=r(l1);
              r(l2)=r(l2)-1;%相应数的复制次数减1
           else         %如果第l个数的复制次数=0的话,转到下一个数的复数
              l=l+1;
              x(ij)=r(l1);
              r(l2)=r(l2)-1;%相应数的复制次数减1
           end
            if mod(c2)==1%决定游走方向,当mod(c2)==1的时候表示斜向上游走,当mod(c2)==0时表示斜向下游走。
               i=i-1;     %向上游走就是让i-1j+1。
               j=j+1;    

评论

共有 条评论