您好,欢迎访问三七文档
长沙理工大学《数字图像压缩》报告学院计算机与通信工程专业计算机与科学技术班级计算学号学生姓名指导教师尹波课程成绩完成日期2015年12月16日摘要图像压缩技术对于数字图像信息在网络上实现快速传输和实时处理具有重要的意义。本文介绍了当前几种最为重要的图像压缩算法:JPEG2000、分形图像压缩和小波变换图像压缩。其中主要研究了离散余弦变换压缩和小波变换压缩,并对两种压缩的前后数据进行了对比,同时还分析了离散余弦变换压缩和小波变换压缩之间的差异。1.绪论1.1图像压缩技术的发展现状基于分形的方法是近几年来引起关注和争议的一种图像压缩方法。对图像压缩而言,分形主要是利用自相似的特点,通过迭代函数系统来实现压缩。利用分形特征对图像进行描述和处理是很自然的。分形能取得更好的图像质量,当然在较低压缩比的情况下,JPEG是更好的选择。分形压缩方法计算量比较大,时间开销长,因此加快分形压缩方法的速度是当前研究的热点之一。小波变换(WaveletTransform)在频率精度方面稍差一些,但在时间的分析能力上更好一些,而且可以对时间和频率同时进行分解,这是传统傅立叶变换所做不到的。小波变换已经开始应用到图像数据压缩等领域,主要是采用离散小波变换。在某些情况下,小波变换更优于DCT等其他正交变换。利用人工神经网络(ArtificialNeuralNetwork,ANN)进行图像压缩是这个领域近几年的又一研究热点,并且取得了积极的进展。这是一种与视觉系统知识紧密相关的压缩方法。ANN并分布的联结机制与人的视觉系统有某些相似之处,利用此原理及其改进的方法进行图像压缩可获得较好的效果1.2研究内容和目的本文通过DCT和小波变换为基础的压缩方法,最大限度地减小图像的冗余度,同时分析DCT和小波变换压缩的实验结果,最后比较DCT和小波变换之间的差异。最后并得出了自己对两种不同压缩方法的看法和今后发展的前景。2.图像压缩原理分析2.1图像压缩的可能性图像可以压缩,是因为图像中存在大量的冗余信息,图像的冗余包括以下几种:(1)空间冗余:像素点之间的相关性。(2)时间冗余:活动图像的两个连续帧之间的冗余。(3)信息熵冗余:单位信息量大于其熵。(4)结构冗余;图像的区域上存在非常强的纹理结构。(5)知识冗余:有固定的结构,如人的头像。(6)视觉冗余:某些图像的失真是人眼不易觉察的。2.2图像压缩原理图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。①冗余度压缩方法,也称无损压缩、信息保持编码或嫡编码。具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。②信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。也就是说解码图像和原始图像是有差别的,允许有一定的失真。本实验主要利用MATLAB程序进行离散余弦变换(DCT)压缩和行程编码(RunLengthEncoding,RLE)。2.3离散余弦变换(DCT)图像压缩原理离散余弦变换DCT在图像压缩中具有广泛的应用,它是JPEG、MPEG等数据压缩标准的重要数学基础。用DCT压缩图像的过程为:①首先将输入图像分解为8×8或16×16的块,然后对每个子块进行二维DCT变换。②将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格式。用DCT解压的过程为:①对每个8×8或16×16块进行二维DCT反变换。②将反变换的矩阵的块合成一个单一的图像。余弦变换具有把高度相关数据能量集中的趋势,DCT变换后矩阵的能量集中在矩阵的左上角,右下的大多数的DCT系数值非常接近于0。对于通常的图像来说,舍弃这些接近于0的DCT的系数值,并不会对重构图像的画面质量带来显著的下降。所以,利用DCT变换进行图像压缩可以节约大量的存储空间。压缩应该在最合理地近似原图像的情况下使用最少的系数。使用系数的多少也决定了压缩比的大小。在压缩过程的第2步中,可以合理地舍弃一些系数,从而得到压缩的目的。在压缩过程的第2步,还可以采用RLE和Huffman编码来进一步压缩。3.实验步骤1)在matlab命令窗口中直接输入dctdemo选图像flower如图所示:在右上角8*8DCT系数图下,调节系数选择滑块。保留系数为白色,置零系数为黑色。按Apply键,比较原始图象、恢复图象、误差图象,观察原始图象与恢复图象的均方误差,改变系数选择滑块的位置,重做上步。2)利用离散余弦变换进行JPEG图像压缩。使用函数dctmtx()产生DCT变换矩阵T=dctmtx(8);%产生二维8*8DCT变换矩阵;使用blkproc()函数对图像进行分块处理先使用rgb2gray()函数将原始图像转换成灰度图;再使用blkproc()函数对图像进行分块处理。B=blkproc(I,[8,8],'P1*x*P2',T,T');%二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个mask=[1111000011100000110000001000000000000000000000000000000000000000];B2=blkproc(B,[88],'P1.*x',mask);%只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T);%重构图像4实验代码.I1=imread('1.jpg');I=rgb2gray(I1);I=im2double(I);%转换图像矩阵为双精度型。T=dctmtx(8);%产生二维DCT变换矩阵B=blkproc(I,[8,8],'P1*x*P2',T,T');%二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个mask=[1111000011100000110000001000000000000000000000000000000000000000];B2=blkproc(B,[88],'P1.*x',mask);%只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T);%重构图像figure,subplot(1,2,1);imshow(I);title('原始图像');subplot(1,2,2);imshow(I2);title('压缩图像');5.实验结果
本文标题:图像压缩论文
链接地址:https://www.777doc.com/doc-1513218 .html