图像压缩综合实验

图像压缩综合实验

ID:42988200

大小:1.80 MB

页数:6页

时间:2019-09-23

图像压缩综合实验_第1页
图像压缩综合实验_第2页
图像压缩综合实验_第3页
图像压缩综合实验_第4页
图像压缩综合实验_第5页
资源描述:

《图像压缩综合实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《网络通信实验与设计》实验报告华北电力大学实验报告院/系:电子与通信工程系课程名称:数字图像处理日期:2010-11-2专业通信工程学号实验时间:14:10-16:10班级通信0703姓名实验名称图像压缩综合实验操作成绩报告成绩教师签名实验环境MATLAB实验任务要求(1)进一步熟悉DCT的概念和原理;(2)掌握对灰度和彩色图像作离散余弦变换和反变换的方法;(3)能选择适当的量化间隔、阈值和区域进行编码;(4)综合利用变换、量化、Huffman编码等知识,实现JPEG压缩编码。实验原理与方案JPEG压缩原理:基于DCT的JPEG压缩过程主要是对图像的空间

2、冗余进行压缩,其基本过程为:首先进行DCT正变换,再对DCT系数进行量化,并对量化后的直流系数和交流系数分别进行差分编码和行程编码,最后进行熵编码。编码的简化框图如图3.1所示,解码为其逆过程。压缩后图像数据熵编码器量化器源图像数据8×8FDCT量化表Huffman码表图3.1JPEG压缩编码器框图2-DCT变换原理:JPEG将源数据图像分成8×8大小的子块,然后进行DCT变换,2-DCT变换公式如下:其中:f(x,y)—输入/输出图像取样值(基准系统的取值为[-128,127]);C(u,v)—DCT系数(基准系统中C(u,v)的取值范围为[-1023

3、,1023]);C(0,0)代表DC系数,其余63个为AC系数。第6页《网络通信实验与设计》实验报告实验程序DCT变换、量化、区域编码、阈值编码参考程序num2=0;num3=0;I=imread('cameraman.tif');I=im2double(I)*255;T=dctmtx(8);%计算离散余弦变换矩阵figure,imshow(I/255),Q=10;B=blkproc(I,[88],'P1*x*P2',T,T');%对图像进行不同的快处理mask=[111110001111000011100000110000001000000000000

4、0000000000000000000];B2=blkproc(B,[88],'P1.*x',mask);B2=round(B2/Q);%round功能为取整fori=1:256forj=1:256if(B2(i,j)==0)num3=num3+1;endendendB3=B2*Q;I2=blkproc(B3,[88],'P1*x*P2',T',T);figure,imshow(I2/255)fori=1:256forj=1:256if(abs(B(i,j))<40)B(i,j)=0;num2=num2+1;endendendI3=blkproc(B,[

5、88],'P1*x*P2',T',T);figure,imshow(I3/255)a2=num2,a3=num3JPEG压缩程序:clearallclcdisp('Enter...')disp('0(default)-loada64x64image,or')disp('1-Usetextbook8x8data(example8.28)')第6页《网络通信实验与设计》实验报告实验程序chos=input('Enteryourchoice:');ifisempty(chos)chos=0;endifchos==0,loadlena.matf=x;imshow

6、(mat2gray(f))clearxelsef=[139144149153155155155155144151153156159156156156150155160163158156156156159161162160160159159159159160161162162155155155161161161161160157157157162162161163162157157157162162161161163158158158];f1=[52556166706164736359669010985697262596811314410466736358

7、711221541067069676168104126886870796560707768587585716459556165838779696865767894];endifchos==0,f=f-128;elseifchos==1,f=f-128,enddrawnow[mf,nf]=size(f);mb=mf/8;nb=nf/8;ifchos==0,Ff=blkproc(f,[88],'dct');Ff=blkproc(Ff',[88],'dct');Ff=round(Ff');elseifchos==1,Ff=blkproc(f,[88],'dct

8、'),Ff=blkproc(Ff',[88],'dct'),Ff=round(F

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。