• 大小: 174KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: Matlab
  • 标签: matlab  课设  

资源简介

MATLAB课程设计,关于JPEG压缩编码的应用。基于Matlab的JPEG图像压缩编码的仿真,编程实现JPEG压缩算法,JPEG标准是静态图像的压缩编码和译码标准。它包括两种基本的压缩算法,一种是基于DCT离散余弦变换的有损压缩算法,另一种是基于预测方法的无损压缩算法。

资源截图

代码片段和文件信息

function bit_seq=ACHuffmanEncoding(xy) 

%%******************************************************************* 
%% 对扫描后每块的AC系数进行Huffman编码Revised in Jun2006
%% x为zigzag扫描连0串中0的个数;y为连0串后非0值的幅度
%% 即分别为(runlevel)中的runlevel
%%*******************************************************************

%%************************************* AC Huffman Code Look up ************************************%%
%% Z为连0串中0的个数,R为幅度的绝对值
%% 第一个符号的编码:accode为对二维事件(runlevel)的编码结果,codelen为编码的码长
%% 对第二个符号的编码:
%% 若level > 0,则用其二进制原码表示,若level < 0,则用其二进制反码表示,amplen为表示幅度所需的bit数
%%**************************************************************************************************%%

Z=x;
v0=y;
R=abs(y);
if R==1;amplen=1;
elseif(R >=   2 && R <=    3);amplen = 2;
elseif(R >=   4 && R <=    7);amplen = 3;
elseif(R >=   8 && R <=   15);amplen = 4;
elseif(R >=  16 && R <=   31);amplen = 5;
elseif(R >=  32 && R <=   63);amplen = 6;
elseif(R >=  64 && R <=  127);amplen = 7;
elseif(R >= 128 && R <=  255);amplen = 8;
elseif(R >= 256 && R <=  511);amplen = 9;
elseif(R >= 512 && R <= 1023);amplen = 10;
end 
 %%(Z==0 && amplen==0);codelen=4;accode=10;%%accode=0xA;%%accode=1010;(EOB)
if (Z==0 && amplen==1); codelen=2;accode=0;%%accode=0x0;%%accode=00;
elseif  (Z==0 && amplen==2);codelen=2;accode=1;%%accode=0x1;%%accode=01;
elseif  (Z==0 && amplen==3);codelen=3;accode=4;%%accode=0x4;%%accode=100;
elseif  (Z==0 && amplen==4);codelen=4;accode=11;%%accode=0xB;%%accode=1011;
elseif  (Z==0 && amplen==5);codelen=5;accode=26;%%accode=0x1A;%%accode=1 1010;
elseif  (Z==0 && amplen==6);codelen=7;accode=120;%%accode=0x78;%%accode=111 1000;
elseif  (Z==0 && amplen==7);codelen=8;accode=248;%%accode=0xF8;%%accode=1111 1000;
elseif  (Z==0 && amplen==8);codelen=10;accode=1014;%%accode=0x3F6;%%accode=11 1111 0110;  
elseif  (Z==0 && amplen==9);codelen=16;accode=65410;%%accode=0xFF82;%%accode=1111 1111 1000 0010;
elseif (Z==0 && amplen==10);codelen=16;accode=65411;%%accode=0xFF83;%%accode=1111 1111 1000 0011;
    
elseif  (Z==1 && amplen==1); codelen=4;accode=12;   %%accode=1100;
elseif  (Z==1 && amplen==2); codelen=5;accode=27;   %%accode=1 1011;
elseif  (Z==1 && amplen==3); codelen=7;accode=121;  %%accode=1111 001;
elseif  (Z==1 && amplen==4); codelen=9;accode=502;  %%accode=1 1111 0110;
elseif  (Z==1 && amplen==5);codelen=11;accode=2038; %%accode=111 1111 0110;
elseif  (Z==1 && amplen==6);codelen=16;accode=65412;%%accode=1111 1111 1000 0100;
elseif  (Z==1 && amplen==7);codelen=16;accode=65413;%%accode=1111 1111 1000 0101;
elseif  (Z==1 && amplen==8);codelen=16;accode=65414;%%accode=1111 1111 1000 0110;  
elseif  (Z==1 && amplen==9);codelen=16;accode=65415;%%accode=1111 1111 1000 0111;
elseif (Z==1 && amplen==10);codelen=16;accode=65416;%%accode=1111 1111 1000 1000;
    
elseif (Z==2 && amplen==1);codelen=5;accode=28;%%accode=1 1100;
elseif (Z==2 && amplen==2);codelen=8;accode=249;%%accode=1111 1001;
elseif (Z==2 && amplen==3);codelen=10;accode=1015;%%a

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

     文件      15043  2018-05-28 10:00  JPEG-for-Matlab\ACHuffmanEncoding.m

     文件       3534  2018-05-28 10:45  JPEG-for-Matlab\DCHuffmanEncoding.m

     文件       8286  2018-05-28 10:39  JPEG-for-Matlab\func_DCTJPEG.m

     文件     263224  2011-05-13 14:39  JPEG-for-Matlab\lena.bmp

     文件        312  2009-12-26 19:33  JPEG-for-Matlab\PSNR.m

     文件       1193  2009-12-26 19:33  JPEG-for-Matlab\zigzag.m

     目录          0  2018-05-28 10:16  JPEG-for-Matlab

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

               291592                    7


评论

共有 条评论