资源描述
深 圳 大 学 实 验 报 告
课程名称: 数字图像处理
实验项目名称: 图像变换与编码
学院:
专业:
指导教师:
报告人: 学号: 班级:
报告人: 学号: 班级:
实验时间: 2013-11-26
实验报告提交时间: 2013-12-11
教务部制
实验目的与要求:
1 、掌握图像编码的基本方法和原理;
2、了解应用MATLAB语言进行Huffman 编码、解码的方法;
3、了解应用MATLAB语言进行无损预测编码、解码的方法。
实验过程及内容:
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,或采用循环方式设计预测器,执行速度可用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=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)
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代码:
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('mat2lpc编码');
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);
结论:经过对比,发现制定预测编码相比mat2plc编码有一定程度的不同,颜色相比较暗
深圳大学学生实验报告用纸
实验结论:
1. 通过这次实验加深了对图像变换与编码的基本原理的理解;
2. 掌握了应用MATLAB语言对图像进行huffman编码压缩,预测编码以及解码;
3. 对函数建模的有了初步的了解。
指导教师批阅意见:
成绩评定:
指导教师签字:
年 月 日
备注:
注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
展开阅读全文