• 大小: 228KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签: jpeg压缩  matlab  

资源简介

jpeg压缩的matlab程序,实现bmp图像的dct变换、量化、编码的过程,编译通过。

资源截图

代码片段和文件信息

function acCodeOut=AcCode(zScanOut)
%交流系数编码
%完成一个块的交流编码
%输入z形扫描结果,输出码流
N=8;
num=N*N+1;i=N*N;
b=cell(1N*N);
%b{j}O包括两个部分,b{j}(1)表示连零个数,b{j}{2}表示幅度

%游程编码开始
while(i>1)%确定EOB前系数的长度
    if(zScanOut(i)==0)num=num-1;i=i-1;
    else break;
    end
end

i=2;
j=1;
while(i    zeroNum=0;
    while(zScanOut(i)==0)%确定连零个数
        zeroNum=zeroNum+1;
        i=i+1;
        if(zeroNum==16)
            b{j}=[15 0];
            j=j+1;
            zeroNum=0;
        end
    end
    b{j}=[zeroNum zScanOut(i)];%b{j}(1)表示连零个数,b{j}{2}表示幅度
    j=j+1;
    i=i+1;
end
b{j}=[0 0];%EOB块编码

%游程编码完毕

binacRange=cell(11);%幅度值二进制编码
forHuf=cell(11);%Hufman编码的输入参数,每个元素包括两个部分:游程长度和binacRange长度
hufCodeOut=cell(11);
out=cell(11);
for i=1:j
    binacRange{i}=dec2bin(abs(b{i}(2)));
    binacRange{i}=binacRange{i}-48;
    if(b{i}(2)<0)
        binacRange{i}=~binacRange{i};
    end
    
    acBits(i)=length(binacRange{i});%binacRange长度
    if(b{i}(2)==0) acBits(i)=0;
    end
    forHuf{i}=[b{i}(1) acBits(i)];%forHuf为“行程/尺寸“
end


for i=1:j
    hufCodeOut{i}=YAcHufCode(forHuf{i});%“行程/尺寸的霍夫曼码
    out{i}=[hufCodeOut{i} binacRange{i}];%码包括两部分,即行程/尺寸的霍夫曼码和幅度值编码
    if(b{i}(2)==0)out{i}=hufCodeOut{i}; %幅度为0,则其编码长度为0
    end
end


acCodeOut=out{1};
for i=2:j
    acCodeOut=[acCodeOut out{i}];
end
    


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1525  2005-06-04 02:18  jpeg\AcCode.m

     文件        287  2005-06-04 02:48  jpeg\antiQuanY.m

     文件       1108  2005-06-04 02:48  jpeg\antiZscan.m

     文件      65240  1997-02-22 07:28  jpeg\cameraman.tif

     文件        677  2005-06-16 23:15  jpeg\Code.m

     文件        424  2005-06-16 23:47  jpeg\Jpeg.asv

     文件        424  2005-06-16 23:48  jpeg\Jpeg.m

     文件        431  2005-06-07 01:36  jpeg\Jpeg2.m

     文件      25600  2005-06-16 23:47  jpeg\jpeg编解码说明.doc

     文件     263222  2005-06-16 23:18  jpeg\lena512.bmp

     文件       1719  2005-06-04 02:46  jpeg\MakeTree.m

     文件        295  2005-06-04 02:02  jpeg\QuantyY.m

     文件       3022  2005-06-16 23:34  jpeg\UnCode.m

     文件        893  2005-06-04 02:32  jpeg\UnHufCode.m

     文件      12775  2005-06-07 01:55  jpeg\varable.m

     文件      14166  2005-06-04 02:22  jpeg\YAcHufCode.m

     文件       1189  2005-06-04 02:18  jpeg\YCode.m

     文件        931  2005-06-04 02:27  jpeg\YDcCode.m

     文件       1005  2005-06-04 02:28  jpeg\ZScan.m

     目录          0  2005-06-16 23:47  jpeg

----------- ---------  ---------- -----  ----

               395151                    21


评论

共有 条评论