decodeflag.asv

来自「EZW的matlab程序 基于小波变换对图像进行压缩编码的研究」· ASV 代码 · 共 49 行

ASV
49
字号
function [Deflag,flagMat]=decodeflag(flagMat,sclen,scanorder)
global row col
scNum=1;
r=1;
while (scNum<=sclen)&&(r<=row*col)
    switch flagMat(scanorder(r,1),scanorder(r,2))
        case {'O','X'}
            r=r+1;
        otherwise
            switch scancode(scNum)
                case 'P'
                    flagMat(scanorder(r,1),scanorder(r,2))='P';
                    scNum=scNum+1;
                    r=r+1;break;
                case 'N'
                    flagMat(scanorder(r,1),scanorder(r,2))='N';
                    scNum=scNum+1;
                    r=r+1;break;
                case 'Z'
                    flagMat(scanorder(r,1),scanorder(r,2))='Z';
                    scNum=scNum+1;
                    r=r+1;break;
                case 'T'
                    flagMat(scanorder(r,1),scanorder(r,2))='T';
                    chTree=treeMat(scanorder(r,1),scanorder(r,2));
                    [chr,chc]=size(chTree);
                    for cT=1:chr
                        if flagMat(chTree(cT,1),chTree(cT,2))~='O'
                            flagMat(chTree(cT,1),chTree(cT,2))='X';
                        end
                    end
                    scNum=scNum+1;
                    r=r+1;break;
            end                    
    end
end

Deflag=flagMat;
for i=1:row
    for j=1:col
        switch flagMat(i,j)
            case {'P','N','O'}
                flagMat(i,j)='O';
            otherwise
                flagMat(i,j)='Z';
        end
    end
end

⌨️ 快捷键说明

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