基于DCT的图像压缩MATLAB实验6.0教案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于DCT的图像压缩MATLAB实验——版本6.0物理与电子工程系电子科学与技术1203班李渊压缩数据输出熵编码量化图像输入DCT变换图像输入基于DCT图像压缩编码过程的流程图。码表量化表在编码过程中,首先利用二维DCT把每个子块转变成64个变换系数。利用二维DCT把每个子块转变成64个DCT变换系数,其中8×8图像变换矩阵左上角的第一个数值直流分量,我们通常称之为DC系数,它表达的是8×8空域图像子块像素值的平均值,其余63个系数则是交流分量,称作AC系数。DCT系数的量化量化是图像有损压缩中造成复原图像质量下降的重要原因之一,其目的是为了减小非“0”系数的幅度、增加“0”值系数,对系数值的量化间距进行划分规整,从而达到进一步压缩数据的目的。量化系数的编码01561415272824713162629423812172530414391118243140445310192332394552542022333846515560213437475056596135364849575862638×8经过DCT变换后,直流系数的值比较大,并且相邻块的DC系数数值上变化幅度较小。因此,对于直流分量,采用差分脉冲调制编码(DPCM),即对对本块和前一块的直流分量之差Diff=DCi—DCi—l(i为块号)编码。其它63交流(AC)系数,采用了“之”字型(Z追一Zag)的排列方法,实验程序:I=imread(C:\Users\李渊\Desktop\1.jpg);%读取图像I=rgb2gray(I);%转化为灰度图像I=double(I);%同态滤波处理f=fft2(I);%采用傅里叶变换g=fftshift(f);%数据矩阵平衡[M,N]=size(f);d0=10;r1=0.5;rh=2;c=4;n1=floor(M/2);n2=floor(N/2);for i=1:M %主循环 for j=1:N d=sqrt((i-n1)^2+(j-n2)^2); h=(rh-r1)*(1-exp(-c*(d.^2/d0.^2)))+r1; g(i,j)=h*g(i,j); endend %循环结束g=ifftshift(g);g=uint8(real(ifft2(g)));%DCT变换J=im2double(g);%存储类型转化为双精度浮点类型T=dctmtx(8);%离散余弦变换矩阵,得到8DCT矩阵,然后量化B=blkproc(J,[8 8],P1*x*P2,T,T);%对源图像进行DCT变换mask1=[1 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0];%量化系数为1mask2=[1 1 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0];%量化系数为2mask3=[1 1 1 1 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0];%量化系数为3mask6=[1 1 1 1 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0];%量化系数为6mask10=[1 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0];%量化系数为10mask16=[1 1 1 1 1 1 0 01 1 1 1 1 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0];%量化系数为16mask21=[1 1 1 1 1 1 0 01 1 1 1 1 0 0 01 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档