图像压缩编码_第1页
图像压缩编码_第2页
图像压缩编码_第3页
图像压缩编码_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图像压缩编码物电学院114班11223313戚善桃摘要:随着科学技术的开展,图像压缩技术越来越引起人们的关注。为此从众多的图像压缩编码标准中选取了基于DCT变换的JPEG图像压缩编码算法进行研究,并通过比照分析各种软件特性选取了MATLAB进行实验仿真。首先说明了图像压缩在现代通信中的必要性和可行性,然后讲述了MATLAB及其图像处理工具箱的相关知识,并对基于DCT变换的JPEG图像压缩算法进行了详细的研究,重点介绍了JPEG压缩编码的具体过程和方法,详细介绍了编码中DCT变换、量化、熵编码和霍夫曼编码等模块的原理和数学推导以及各模块的功能分析。最后应用MATLAB进行了实验仿真并分析结果得出结论。实验结果说明基于DCT变换的JPEG图像压缩方法简单、方便,既能保证有较高的压缩比,又能保证有较好的图像质量,应用MATLAB仿真出来的结果较好的反响了其编码算法原理。关键词JPEG图像压缩;DCT;MATLAB;图像处理工具箱引言图像压缩编码的理论算法基于DCT的JPEG图像压缩编码理论算法基于DCT编码的JPEG编码压缩过程框图,如图1-1所示。压缩数据原始图像数据分成8*8的小块量化器DCT变换熵编码器压缩数据原始图像数据分成8*8的小块量化器DCT变换熵编码器码表码表量化表量化表图1-1基于DCT编码的JPEG压缩过程简化图上图是基于DCT变换的图像压缩编码的压缩过程,解压缩与上图的过程相反。在编码过程中,首先将输入图像颜色空间转换后分解为8×8大小的数据块,然后用正向二维DCT把每个块转变成64个DCT系数值,其中1个数值是直流(DC)系数,即8×8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT系数进行量化,最后将变换得到的量化的DCT系数进行编码和传送,这样就完成了图像的压缩过程。数字图像的介绍2.1图像编码技术开展历史1948年提出电视信号数字化后,图像压缩编码的研究工作就宣告开始了。在这项技术开展的早期,限于客观条件,仅对帧内预测法和亚取样内查复原法进行研究,对视觉特性也做了一些极为有限但可贵的研究工作。1966年J.B.ONeal比照分析了DPCM和PCM并提出了用于电视的实验数据。1969年进行了线性预测编码的实际实验。1969年举行首届图像编码会议。70年代开始进行了帧间预测编码的研究。80年代开始对运动估值和模型编码进行研究[3]。进入90年代,ITU-T和ISO制定了一系列图像编码国际建议,如H.261、JPEG、MPEG-1、H.262、H.263、MPEG-4等。

变换编码是1968年H.C.Andrews等人提出的,采用的是二维离散傅立叶变换,此后相继出现用其他变换方法的变换编码,其中包括二维离散余弦变换。2.2图像编码技术的现状经过几十年的开展,图像编码技术业已成熟,一些国际建议的制定极大地推动了图像编码技术的实现和产业化,从而推动图像编码技术以更快的速度开展,目前的研究方向有两个:(1)更好地实现现有的图像编码国际建议。研制出集成度更高、性能更好的图像编码专用芯片,使编码系统本钱更低、可靠性更高。解决好现有的图像编码系统开发中的技术问题。例如:提高图像质量、提高抗码能力等。(2)对图像编码理论和其他图像编码方法的研究。目前已经提出和正在进行研究的图像编码方法有:多分辨率编码、基于外表描述的编码、模型编码、利用人工神经网络的编码、利用分形几何的编码、利用数学形态学的编码等等。3.MATLAB及其图像处理工具箱如果应用高级语言(如Basic,C,Fortran)编写仿真程序来实现这一基于DCT的图像压缩编码算法比拟麻烦,而且仿真效果也不是十分理想。本文主要应用MATLAB发布的图像处理工具箱中的相关函数和命令来实基于DCT的图像压缩编码理论算法的仿真。MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步开展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。MATLAB中的数字图像是以矩阵形式表示的,矩阵运算的语法对MATLAB中的数字图像同样适用,这意味着MATLAB强大的矩阵运算能力对用于图像处理非常有利。图像处理工具箱(ImageProcessingToolbox)提供了一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。可进行图像压缩、空间转换、图像增强、特征检测、降噪、图像分割和图像配准等功能。工具箱中大局部函数均以开放式MATLAB语言编写,这意味着可以检查算法、修改代码和创立自定义函数。本文利用MATLAB图像处理工具箱对基于DCT的JPEG图像压缩编码理论算法进行仿真,实验证明该软件功能强大,语言简洁易学,工具箱具有丰富的技术支持并集成了该领域专家的智慧,应用简单而效果良好。下面图像数字化仿真试验:基于DCT的图像压缩技术:%设置压缩比cr=0.5%cr=0.5为2:1压缩,cr=0.125为8:1压缩%读入并显示原始图像initialimage=imread('lena512.jpg');I=rgb2gray(initialimage);initialimage=double(I)/255;figure(1);imshow(initialimage);%对图像进行DCTt=dctmtx(8);dctcoe=blkproc(initialimage,[88],'P1*x*P2',t,t');coevar=im2col(dctcoe,[88],'distinct');coe=coevar;[y,ind]=sort(coevar);[m,n]=size(coevar);%舍去不重要的系数snum=64-64*cr;fori=1:ncoe(ind(1:snum),i)=0;endb2=col2im(coe,[88],[512512],'distinct');%对截取后的变换系数进行DCT逆变换i2=blkproc(b2,[88],'P1*x*P2',t',t);%显示压缩图像figure(2)imshow(i2);%计算均方根误差e=double(initialimage)-double(i2);[m,n]=size(e);erms=sqrt(sum(e(:).^2)/(m*n));erms小结相关技术日新月异的进步,使得数字图像相关技术的应用越来越广泛。数字图像以其较之于传统文字信息大得多的信息量,更加符合人们接受信息的习惯的特点,已经渗透到社会生活的各个方面。数字图像的固有缺陷是其特别巨大的数据量,与传输网络有限的传输能力形成了一对矛盾,成为制约数字图像应用的瓶颈。因此数字图像的压缩编码与传输是非常有实际使用价值的热点研究问题。本文通过研究设计一个基于DCT变换的图像压缩编码的matlab实现,得到了下面的结论:论文表达的图像压缩编码算法,采用了JPEG的核心离散余弦变换算法。DCT是正交变换,它可以将8*8图像的空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT产生的系数很容易被量化,因此能获得好的块压缩;DCT算法的性能很好,它有快速算法,因此它在软件中容易实现;而且DCT算法是对称的,所以利用逆DCT算法可以用来解压缩图像。仿真结果说明了压缩比增大时,图像的质量会降低,并且图像的信噪比会变小。利用MATLAB仿真软件来实现离散余弦变换的图像压缩,具有方法简单、速度快、误差小的优点,免去了大量矩阵计算,大大提高了图像压缩的效率和精度。主要参考文献:[1]吕世良,曲仕敬。基于DCT的图像压缩及MATLAB实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论