1、 深 圳 大 学 实 验 报 告 课程名称: 数字图像处理 实验项目名称: 图像变换与编码 学院: 专业: 指导教师:
2、 报告人: 学号: 班级: 报告人: 学号: 班级: 实验时间: 2013-11-26 实验报告提交时间: 2013-12-11 教务部制 实验目的与要求: 1 、掌握图像编码的基本方法和原理; 2、了解应用MATLAB语言进行Huffman 编码、解码的方法; 3、了解应用MATLAB语言进行无损预测编码、解码的方法。 实
3、验过程及内容: 1、已知符号{x1,...x8}对应概率为0.4,0.18,0.1,0.1,0.07,0.06,0.05,0.04。按教材图 8.2的方式将其转换为霍夫曼码(编码过程写在实验报告中),并利用huffman.m转换为霍 夫曼码,对照结果是否相同。 2、对给定图像I 利用mat2huff.m,huff2mat.m进行霍夫曼编码、解码。计算压缩 率CR。 3、对给定图像I 先进行预测编码、霍夫曼编码,然后进行霍夫曼解码、预测解码。 比较该预测器与mat2lpc所指定的预测器性能差异(CR 与执行速度)。(提示:可参考 mat2lpc.m,lpc2mat.m,或采用循环
4、方式设计预测器,执行速度可用tic,toc)。 4、(选做内容)对BMP图像进行2-DDCT变换,然后对DCT系数进行量化步长2 进行量化,并用霍夫曼编码,保存为mat文件。然后读出mat文件,霍夫曼解码,并进行 IDCT 变换,取整保存为BMP图像 实验过程: 实验一: Matlab代码: p=[0.4 0.18 0.1 0.1 0.07 0.06 0.05 0.04] p = 0.4000 0.1800 0.1000 0.1000 0.0700 0.0600 0.0500 0.0400 >> c=
5、huffman(p) c = '1' '010' '0111' '000' '0011' '0010' '01101' '01100' 自推过程: 概率 0.4 0.18 0.1 0.1 0.07 0.06 0.05 0.04 码字 经过计算,推导出的编码和matlab编码一致 实验二: Matlab代码: f=imread('Tracy.tif') d=mat2huff(f)
6、d = size: [512 512] min: 32784 hist: [1x240 uint16] code: [1x107266 uint16] cr=imratio(f,d) cr = 1.2191 g=huff2mat(d) rmse=compare(f,g) rmse = 0 结论:霍夫曼编码,编码后的压缩率是1.2191,解码后,均方误差的平均值的平方根为0,说明解码后的图像和原来图像一致,霍夫曼编码是无损压缩 实验三: Matlab代
7、码: I=imread('Tracy.tif'); I=double(I); [m,n]=size(I); J=ones(m,n); for x=2:m-1 for y=2:n-1 J(x,y)=I(x,y)-(1/3)*(I(x-1,y+1)+I(x,y+1)+I(x-1,y)); end end J=round(J); subplot(2,2,1),imshow(mat2gray(J)),title('x预测编码') J2=mat2lpc(I); subplot(2,2,2),imshow(mat2gray(J2)),title('mat2
8、lpc编码'); for x=2:m-1 for y=2:n-1 J(x,y)=J(x,y)+(1/3)*(I(x-1,y+1)+I(x,y+1)+I(x-1,y)); end end subplot(2,2,3),imshow(uint8(J)),title('x预测解码'); J3=lpc2mat(J2) subplot(2,2,4),imshow(mat2gray(J3)),title('mat2lpc解码') I_huff=mat2huff(I); Cr=imratio(I,I_huff) I_mat=huff2mat(I_huff)
9、 结论:经过对比,发现制定预测编码相比mat2plc编码有一定程度的不同,颜色相比较暗 深圳大学学生实验报告用纸 实验结论: 1. 通过这次实验加深了对图像变换与编码的基本原理的理解; 2. 掌握了应用MATLAB语言对图像进行huffman编码压缩,预测编码以及解码; 3. 对函数建模的有了初步的了解。 指导教师批阅意见: 成绩评定: 指导教师签字: 年 月 日 备注: 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。






