huffdecode1.m

来自「实现图象,可以直接运行,里面有示例图象,十分便捷的实现图象压缩」· M 代码 · 共 47 行

M
47
字号
function [valq,runq]= huffDecode1(X,MatAC)
%huffman decoding

i=1;
j=1;
p=1;
v=1;
aa=[];
xSize=length(X);
while i~=xSize+1
    
    basecode=X(p:i);
    %aa=strcat(aa,basecode);
    k=strmatch(basecode,MatAC,'exact');
    if (isempty(k))
        i=i+1;
    else
        [runt,category]=detableAC2(basecode);
        if category==0 & runt==15
            valq(j)=0;
            runq(j)=15;
            j=j+1;
            i=i+category+1;
            p=i;
        elseif category==0 & runt==0
            valq(j)=0;
            runq(j)=0;
            j=j+1;
            i=i+category+1;
            p=i;
        
        else
            %[runt,category]=detableAC(basecode);
            valt = X(i+1:i+category);
            valt = bin2dec(valt);
            valt = chkcategory(valt,category);
            runq(j) = runt;
            valq(j) = valt;
            j=j+1;
            i=i+category+1;
            p=i;
        end
    end
    
end
%runq(j)=0;
%valq(j)=0;

⌨️ 快捷键说明

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