- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六图像DCT变换编码压缩报告.doc
实 验 报 告
实验课程名称 数字图像处理
实验项目名称 图像DCT变换编码压缩
年 级 2010
专 业 光 信 101
学生姓名 肖明进
学 号 1007010124
理 学 院
实验时间: 20 13 年5月 9日
学院: 理学院 专业:光信 班级:光信101
姓 名 肖明进 学 号 1007010124 实验组 实验时间 2013-5-9 指导教师 徐锦 成 绩 实验项目名称 图像DCT变换编码压缩 实验目的及要求:
1.掌握离散余弦变换DCT的实验方法,了解DCT的幅度分布特性,从而加深对DCT变换的认识。
2.掌握图像DCT变换编码的实现方法,从而加深对变换编码压缩图像原理的理解。
实验原理:
MATLAB图像处理工具箱实现离散余弦变换有两种方法:
使用函数DCT2,该函数用一个基于FFT的算法,用来提高对输入较大的时的计算速度。
使用DCTMTX函数返回的DCT变换矩阵,这种方法适合于较小的输入方阵(例如:8*8或16*16).
为了实现8*8子块的DCT图像变换,需要用到MATLAB中的BLKPROC函数。将这个函数和函数DCTMTX一起用于块处理可以大大简化运算。以上函数用MATLAB的help查看具体使用方法。
实验内容:
编程实现图像DCT变换编码。
实验步骤:(源程序参考书中P171—172的例子)
设置压缩比
求8*8块的DCT变换矩阵
计算8*8块的DCT变换
对DCT系数量化和反量化
求反量化系数(或称截取后的系数)的逆DCT变换
显示原始图像、压缩后图像、误差图像(两图相减的结果)
数据记录及处理:
1.源程序:
cr=0.5;
initialimage=imread(lena512.bmp);
initialimage=double(initialimage)/255;
figure(1); subplot(1,3,1);
imshow(initialimage);title(原图像);
t=dctmtx(8);
dctcoe=blkproc(initialimage,[8 8],P1*x*P2,t,t);
coevar=im2col(dctcoe,[8 8],distinct);
coe=coevar;
[y,ind]=sort(coevar);
[m,n]=size(coevar);
snum=64-64*cr;
for i=1:n
coe(ind(1:snum),i)=0;
end
b2=col2im(coe,[8 8],[512 512],distinct);
i2=blkproc(b2,[8 8],P1*x*P2,t,t);
subplot(1,3,2);imshow(i2);title(压缩后图像);
e=double(initialimage)-double(i2);
[m,n]=size(e);
erms=sqrt(sum(e(:).^2)/(n*m));
subplot(1,3,3);imshow(e);title(误差图像);
结果图:
思考题:
图像变换编码中为什么要对图像进行分块?
答:1.小块图像的变换计算容易;
2.距离较远的像素之间的相关性比距离较近的像素之间的相关性小。
简述DCT编码的原理及基本过程。
答:子图像分割、变换、量化、编码。
指导教师意见:
签名: 年 月 日
文档评论(0)