资源简介
本图像编码程序是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变换的数字水印算法
- 图片转换工具jpg .jpeg .gif .png .bmp图片
- IPcamera Test
- jpeg压缩编码中的Huffman编码表
- 一种抗JPEG压缩的半脆弱图像水印算法
- JPEG2000图像编解码 源码
- VC表格控件/开源/GridCtrl
- DCT数字水印嵌入与提取过程
- 将JPEG图片序列压缩成MJPEG AVI视频
- libjpeg lib文件
- v4l2 QT MJPEG格式 视频采集+屏幕显示+图
- MQ算术编码器原理及实现
- jpeg算法与实现 图像压缩编码
- 使用libexif为JPEG图片添加EXIF属性(新
- opencv处理图像88分块DCT变换和量化
- CImage类打开和保存jpeg、bmp、gif和png格
- JPEG压缩编码
- verilog实现JPEG图象压缩程序
- 读取以及写入Jpg图片内的Exif信息
- DCT变换编码
- 2019.4 DDCTF web题--滴 writeup
- jpeg FPGA代码
- JPEG数据格式转YUV数据格式
- avilib将JPEG数据封装成AVI视频
- 图像jpeg压缩算法介绍及其源码
- MSTAR,SAR数据集,mstar2jpeg编译文件
- opencv处理图像8*8分块DCT变换和量化
- JPEG图像压缩VC代码实现
- 基于DCT的信息隐藏实验
- libjpeg.so.8
评论
共有 条评论