资源简介
本图像编码程序是JPEG编码过程的基本模式,实现了基于DCT变换的JPEG编码
程序说明:
主程序:func_DCT1.m;运行该程序即可实现图像的编码和解码过程
变换函数:离散余弦变换:func_DCT1.m
编码程序:AC系数编码程序:ACHuffmanEncoding.m
DC系数编码程序:DCHuffmanEncoding.m
解码主程序:decoding.m;其中对AC、DC系数分别的解码程序ACdecoding.m、DCdecoding.m
PSNR.m:峰值信噪比函数
zigzag.m:Z字形扫描函数

代码片段和文件信息
function [deAClenACACnum] = ACdecoding(xlenx)
% 亮度分量的AC系数解码程序
if(strncmp(x‘00‘2)) amplen=1;codelen=2;Z=0;
elseif(strncmp(x‘01‘2)) amplen=2;codelen=2;Z=0;
elseif(strncmp(x‘100‘3)) amplen=3;codelen=3;Z=0;
elseif(strncmp(x‘1011‘4)) amplen=4;codelen=4;Z=0;
elseif(strncmp(x‘11010‘5)) amplen=5;codelen=5;Z=0;
elseif(strncmp(x‘1111000‘7)) amplen=6;codelen=7;Z=0;
elseif(strncmp(x‘11111000‘8)) amplen=7;codelen=8;Z=0;
elseif(strncmp(x‘1111110110‘10)) amplen=8;codelen=10;Z=0;
elseif(strncmp(x‘1111111110000010‘16)) amplen=9;codelen=16;Z=0;
elseif(strncmp(x‘1111111110000011‘16)) amplen=10;codelen=16;Z=0;
elseif(strncmp(x‘1100‘4)) amplen=1;codelen=4;Z=1;
elseif(strncmp(x‘11011‘5)) amplen=2;codelen=5;Z=1;
elseif(strncmp(x‘1111001‘7)) amplen=3;codelen=7;Z=1;
elseif(strncmp(x‘111110110‘9)) amplen=4;codelen=9;Z=1;
elseif(strncmp(x‘11111110110‘11)) amplen=5;codelen=11;Z=1;
elseif(strncmp(x‘1111111110000100‘16)) amplen=6;codelen=16;Z=1;
elseif(strncmp(x‘1111111110000101‘16)) amplen=7;codelen=16;Z=1;
elseif(strncmp(x‘1111111110000110‘16)) amplen=8;codelen=16;Z=1;
elseif(strncmp(x‘1111111110000111‘16)) amplen=9;codelen=16;Z=1;
elseif(strncmp(x‘1111111110001000‘16)) amplen=10;codelen=16;Z=1;
elseif(strncmp(x‘11100‘5)) amplen=1;codelen=5;Z=2;
elseif(strncmp(x‘11111001‘8)) amplen=2;codelen=8;Z=2;
elseif(strncmp(x‘1111110111‘10)) amplen=3;codelen=10;Z=2;
elseif(strncmp(x‘111111110100‘12)) amplen=4;codelen=12;Z=2;
elseif(strncmp(x‘1111111110001001‘16)) amplen=5;codelen=16;Z=2;
elseif(strncmp(x‘1111111110001010‘16)) amplen=6;codelen=16;Z=2;
elseif(strncmp(x‘1111111110001011‘16)) amplen=7;codelen=16;Z=2;
elseif(strncmp(x‘1111111110001100‘16)) amplen=8;codelen=16;Z=2;
elseif(strncmp(x‘1111111110001101‘16)) amplen=9;codelen=16;Z=2;
elseif(strncmp(x‘1111111110001110‘16)) amplen=10;codelen=16;Z=2;
elseif(strncmp(x‘111010‘6)) amplen=1;codelen=6;Z=3;
elseif(strncmp(x‘111110111‘9)) amplen=2;codelen=9;Z=3;
elseif(strncmp(x‘111111110101‘12)) amplen=3;codelen=12;Z=3;
elseif(strncmp(x‘1111111110001111‘16)) amplen=4;codelen=16;Z=3;
elseif(strncmp(x‘1111111110010000‘16)) amplen=5;codelen=16;Z=3;
elseif(strncmp(x‘1111111110010001‘16)) amplen=6;codelen=16;Z=3;
elseif(strncmp(x‘1111111110010010‘16)) amplen=7;codelen=16;Z=3;
elseif(strncmp(x‘1111111110010011‘16)) amplen=8;codelen=16;Z=3;
elseif(strncmp(x‘1111111110010100‘16)) amplen=9;codelen=16;Z=3;
elseif(strncmp(x‘1111111110010101‘16)) amplen=10;codelen=16;Z=3;
elseif(strncmp(x‘111011‘6)) amplen=1;codelen=6;Z=4;
elseif(strncmp(x‘1111111000‘10)) amplen=2;codelen=10;Z=4;
elseif(strncmp(x‘1111111110010110‘16)) amplen=3;codelen=16;Z=4;
elseif(strncmp(x‘11111111100
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 328 2013-11-16 16:43 编码程序\程序说明.txt
目录 0 2013-11-15 21:15 编码程序\
文件 14868 2006-06-02 21:35 编码程序\ACHuffmanEncoding.m
文件 11461 2013-04-30 15:31 编码程序\ACdecoding.m
文件 3508 2013-04-20 08:27 编码程序\DCHuffmanEncoding.m
文件 1205 2013-04-26 16:28 编码程序\DCdecoding.m
文件 312 2007-12-11 14:08 编码程序\PSNR.m
文件 2881 2013-04-30 15:27 编码程序\decoding.m
文件 4896 2013-04-28 19:11 编码程序\func_DCT1.m
文件 5176 2013-11-15 17:23 编码程序\lena64.bmp
文件 1193 2013-04-06 21:17 编码程序\zigzag.m
相关资源
- 编程实现二维DCT变换
- QT,JPEG解码源代码(已完成)
- 将yuv各种格式的图片转换为jpg格式的
- 一个基于MFC的GridCtrl,提供类似Excel的
- 2006年湖北工业大学409数据结构试题
- jpeg图像压缩实例代码
- 基于V4L2的视频采集,能够采集YUVJPE
- 最新整理 盘古分词 dct词库文件 7205
- 利用FFmpeg将Jpeg图片转为任意视频容器
- jpeglib读取jpeg,转为bmp图,24真彩和灰
- JPEG2000编码核心算法:EBCOT
- turbo-jpeg
- jpeg-8c库 及H264转jpeg代码
- 信息隐藏期末项目和报告
- opencv jpeg 编解码
- stm32+JPEG+bmp+RM04_WIFI+二值图像.rar
- 数字水印的多种算法实现
- 基于DCT变换的半脆弱盲检测水印
- JpegToYUV源代码
- ffmpeg将一个视频文件解码输出bmp和j
- 基于DCT 人脸识别
- 基于dct人脸识别
- libjpeg-turbo-1.2.1.tar.gz
- 数字水印提取DCT&DWT;的代码加运行文档
- zw_JPEG400.zip
- JPEG 编解码的程序大全我搜集的所有程
- JPEG标准中文版
- libjpeg-turbo.rar
- 基于图像的信息隐藏两个算法(LSB和
- LSB算法和量化水印算法对比,DFT、D
评论
共有 条评论