• 大小: 1.90KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-28
  • 语言: Matlab
  • 标签: matlab  

资源简介


本改进的LZW是基于普通的LZW实现的,具有更简洁 且高效的字典设计,是利用matlab验证的具体实现

资源截图

代码片段和文件信息

function a=lzwcode_new(DatCodeInitEnd)
size2 =size(DatCode);
num1=size2(2) %每行的像素数
num2=size2(1) %每列的像素数
DictTable = zeros(40963);%建立一个长度为1024的空字典
code      = zeros(2551);
if nargin==1
    InitEnd=255;    
end
for f=0:InitEnd
DictTable(f+11)=f+1; %字典前256字节初始化,向字典1-256地址中写入1-256初始化数据
DictTable(f+12)=f+1;
end
DictCurAddr=InitEnd+1;
c=0;    %编码输出下标
for s=1:num2
for s2=1:num1
if(s==1&&s2==1)
PreCode =DatCode(ss2);
        TableInsert=1;
    else
        for DictAddr=256:DictCurAddr %查询字典
if(DictTable(DictAddr2:3)==[PreCode DatCode(ss2)]) 
PreCode=DictAddr;
TableInsert=0;
if(s==num2&s2==num1) %最后输出一个编码
c=c+1;
code(c)=DictAddr;
end

break
end
        end
if(TableInsert ==1) %如果词条不在字典中,需要构建词条加入字典中
                DictCurAddr=DictCurAddr+1;
c=c+1;
                code(c)=PreCode; 
DictTable(DictCurAddr1:3)=[DictCurAddr PreCode DatCode(ss2)];
PreCode = DatCode(ss2);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-01-11 15:49  改进lzw数据压缩实现\
     文件        1298  2012-01-11 15:42  改进lzw数据压缩实现\lzw_code.m
     文件        2522  2012-01-11 15:42  改进lzw数据压缩实现\lzw_decode.m

评论

共有 条评论