




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专业:电子与通信工程学号:1621302616213024姓名:目录1报告简介1.2 算法原理1.2.1 DCT算法原理1.2.2 KLT算法原理3.3 仿真分析5.3.1 DCT仿真分析5.3.2 KLT仿真分析7.5总结8.参考文献9.附录:MATLAB代码101报告简介随着数据化时代的开启,图像压缩技术越来越成熟并且应用越来越广泛,本文在研究近年来图像压缩一般方法的基础上,介绍了基于DCT变换的图像压缩的基本原理及其实现步骤,以及扩展研究了KL变换的图像压缩方法,并使用MATLAB,针对同一幅原始图像进行不同方法的压缩比较,给出了实验仿真结果。本论文首先提出了用MATLAB来实现DCT变
2、换的数字图像压缩技术,方法简单,快速,且误差小。然后介绍了KLT图像压缩编码的具体过程和方法。最后分析了图像经过2种压缩方法时,图像质量的变化情况。2算法原理2.1 DCT算法原理DCT变换利用傅立叶变换的性质。采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域彳S号)上进行处理的方法。在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。我们可以利用这些规
3、律在频域上减少量化比特数,达到压缩的目的。图像经DCT变换以后,DCT系数之间的相关性就会变小。而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。为此,发送者首先将输入图像分解为8M8或16M16块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换。最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数D
4、CT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。因此,利用DCT进行图像压缩确实可以节约大量的存储空间。基于DCT的JPEG图像压缩编码算法原理可用图1表示:原图像(a)编码器(b)解码器图1DCT算法原理框图在编码过程中,首先将输入图像颜色空间转换后分解为8X8大小的数据块,然后用正向二维DCT把每个块转变成64个DCT系数值,其中1个数值是直流(DC)系数,即8X8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT系数进行量化,量化过程实际上就是对DCT系数的一个优化过程,它是利用了人眼对高频部分不敏感的特性来实现数据的大幅简化。量化过程实际上是简
5、单地把频率领域上每个成份,除以一个对于该成份的常数,且接着四舍五入取最接近的整数。这是整个过程中的主要有损运算。量化是图像质量下降的最主要原因。量化后的数据,有一个很大的特点,就是直流分量相对于交流分量来说要大,而且交流分量中含有大量的0o这样,对这个量化后的数据如何来进行简化,从而再更大程度地进行压缩呢。将量化后的系数进行“Z”字形编排,这样做的特点就是会连续出现多个0,即充分利用相邻两图像块的特性,来再次简化数据,从而再更大程度地进行压缩。最后将变换得到的量化的DCT系数进行编码和传送,这样就完成了图像的压缩过程。在解码过程中,形成压缩后的图像格式,先对已编码的量子化的DCT系数进行解码,
6、然后求逆量化并把DCT系数转化为8X8样本像块(使用二维DCT反变换),最后将操作完成后的块组合成一个单一的图像。这样就完成了图像的解压过程一个NMN块f(x,y)的二维DCTF(u,v)的定义如下:2nn.(F(u,v)C(u)C(v)二:二co共N''、'x"对应的NmN块的二维IDCT则为:2NJNJ二(f(x,y)=“'、C(u)C(v)cos(Nuz0Vz02x1)u二(2y1)v)f(x,y)cos-F2-L)2N2N(2x1)u)F(u,v)co/2N(2y1)v式中,空域的x、y,频域的u、v取值集合均为0,1,N1,2N(D1C(u)
7、,C(v)=.21u,v=0其他(3)将离散余弦变换变换写为矩阵形式为:(4)F=CnfCTf=CTfCn(5)其中,Cn为NMN正交变换矩阵,f为NMN原图像块,F为NMN变换域图像块。2.2 KLT算法原理KLT变换又称Hotelling变换,特征向量变换或主分量方法。KL变换是遥感图像增强和信息提取中用得最多的线性变换,是对原波段图像进行波谱信息的线性投影变换,在尽可能不减少信息量的前提下,将原图像的高维多光谱空间的像元亮度值投影到新的低维空间,减少特征空间维数,达到数据压缩、提高信噪比、提取相关信息、降维处理和提取原图像特征信息的目的,并能有效地提取影像信息。它可使原来多波段图像经变换
8、后提供出一组不相关的图像变量,最前面的主分量具有较大的方差,包含了原始影像的主要信息,所以要集中表达信息,突出图像的某些细部特征,可采用主分量变换来完成。KL变换是图像压缩中的一种最优正交变换KLT的突出优点是去相关性好,它根据具体的图像统计特性来决定它的变换矩阵,对图像有最好的匹配效果,能将信号在变换域的相关性全部解除,是最小均方误差下的最佳变换。KLT原理框图可表示为:图2KLT算法原理框图KLT变换就是对8x8的图像矩阵求自协方差矩阵,对自协方差矩阵做特征值分解,得到由特征值从小到大排列的对角矩阵,和由特征向量组成的矩阵,特征矩阵与图像矩阵做乘法,称为正交变换,即KL变换,的到的新的矩阵
9、每一行称为一个新的变量,其中第一行几乎包含了总方差80%以上的信息,其余行包含的信息依次减少,新矩阵的个元素之间是不相关的,因而KL变换去掉了变量之间的相关性。KLT是对向量x做的一个正交变换y=6x,目的是变换到y后去除数据相关性。其中,牛是x特征向量组成的矩阵,满足GTG=I,当x者B是实数时,中是正交矩阵。用my表示向量y的平均值,y的协方差矩阵记为Zy,通过变换y=GTx,得到:"y二E(yyT)-mym;二E(iTx)(:jTx)T-(>Tm*)(中Tm*)T匚101T(Yy,、011_db"TtTflm丁(til1,匚/yy'_(A、一EW(xx)
10、wwmxmx7一中E(xx)mxmxWk6>=J"x='=diag(1°,'i,,n)写成矩阵形式:.九00001仃200201T儿00仃102L5j=GZxG=A=-:一00,-N1-1002NN(6)由此可见,做了KLT变换之后呢,£y成为了对角阵,也就是对于任意i¥j,有cov(yi,y)=0,当i=j有cov(yi,yj=',因此利用KLT去除了数据相关性。而且,yi的方差与x协方差矩阵的第i个特征值相等即仃:=%3仿真分析利用MATLAB对算法进行仿真分析,测试环境为:操作系统为Win7,CPU为i5-3210M,
11、内存为4GB,使用的MATLAB版本为R2012b。利用MATLAB产生仿真图形界面如图3所示。图3DCT和KLT仿真图形界面设计3.1DCT仿真分析输入一幅图像,通过改变DCT量化值进行图像压缩,同时,利用相关参数对图像质量进行对比分析,图4为经过DCT压缩的效果对比图(a)原始图像(b)量化程度为16(c)量化程度为32(b)量化程度为64图3运用DCT变化进行图像压缩效果对比图通过肉眼观察,可以发现量化程度越大图像越清晰,反之,越模糊,细节信息越差。采用不同的量化程度可以改变图像的清晰度及文件的大小,本文将利用图像的相关性能参数对压缩图像进行比较。图像的方差、平均梯度、信息嫡及对比度与图
12、像质量正相关。图像方差越大,表明图像灰度层次越丰富;平均梯度越大,图像层次越多;信息嫡越大,表明图像的信息量越大。通过表1,可以清晰地看出量化程度越大,得到的压缩图像性能越好,相对的图像大小也增大,但原图相比,图像性能变化不明显,但压缩效果明显。力差平均梯度信息力(bit)文件大小(KB)图3(a)1.9545e+035.43047.177126.4图3(b)1.8785e+033.44707.14129.82图3(c)1.9011e+034.10217.153812图3(d)1.9167e+034.38527.155812.7(c)量化程度为32(b)量化程度为64图4运用KLT变化进行图像
13、压缩效果对比图从图像的方差、信息嫡及平均梯度对图像性能进行分析,得到表2。表2KLT变换得到压缩图像性能参数比较力差平均梯度信息力(bit)文件大小(KB)图3(a)1.9545e+035.43047.177126.4图4(a)1.8484e+032.88657.12269.21图4(b)1.8759e+033.68477.140411.4图4(c)1.9031e+034.32257.156112.8图4(d)1.9212e+034.45887.156312.8由表2可以得到KLT变换可以对图像进行压缩,并且采用相同的量化程度,DCT比KLT变化效果较好。5总结本文叙述的图像压缩编码算法,DC
14、T是正交变换,它可以将8*8图像的空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT产生的系数很容易被量化,因此能获得好的块压缩;DCT算法的性能很好,它有快速算法,因此它在软件中容易实现;而且DCT算法是对称的,所以利用逆DCT算法可以用来解压缩图像。由实验仿真结果可知,当图像压缩比增大时,也即压缩效率减小时,图像的质量也将降低,人们可以根据需要的图像的质量来规定压缩比的大小。图像经过不同的压缩比后,图像的质量变化的同时,图像的信噪比也跟着变化。压缩比增大时,则在信道传输的时候丢失的信息就越多,这样使得信号与噪声的比值变小。利用DCT变换进行图像压缩可以节约大量的存储空间。压缩应该
15、在最合理地近似原图像的情况下使用最少的系数。由于之前存在对KLT变换的误解,在进理论补充后,发现该方法并不能全部消除变换后系数间的相关性,各数据块之间相关性没有消除,数据块也可能存在极弱的相关性。由于水平有限,并不能解决,即使如此,该方法应用于图像的压缩编码中效果也极其明显。KLT没有快速算法,因此对信息量大的图像编码速度比较慢,但在此次试验中用的是较小的图像,所以处理速度效果不明显。参考文献1NAhmed,TNatarajan,K.T.Rao.DiscretecosinetransformJ.IEEETran.OnComputers,1974,C-23:90-93.2全子一.图像信源压缩编码
16、及信道传输理论与新技术M.北京:北京工业大学出版社,2006.3何小海,主编.数字图像通信及其应用M.成都:四川大学出版社,2006.4罗开仲,黄士坦,杨华民.DCT算法及其与小波编码在图像处理中的比较J.计算机技术与发展,2006,16(9).5XiongZ,OrchardM,GuleryuzO.ADCT-basedembeddedimagecoderJ.IEEESignalProcessingLetters,1996,11(3):289-290.6ShaorongChang,LawrenceCarin,AmodifiedSPIHTalgorithmforimagecodingwithajo
17、intMSEandclassificationdistortionmeasureJ.IEEETransactionsonImageProcessing,2006,15(3):713-725.附录:MATLAB代码%程序clc;clearI=imread('football.jpg');clfresetset(gcf,'unit','normalized','position',0.1,0.2,0.45,0.45);%设置图形窗大小set(gcf,'defaultuicontrolunits','normal
18、ized');set(gcf,'defaultuicontrolfontsize',11);set(gcf,'defaultuicontrolfontname',楷书);set(gcf,'defaultuicontrolhorizontal','left');删除图形窗工具条set(gcf,'name',str,'numbertitle','off');%书写图形窗名%set(gcf,'menubar','none');str='KLT
19、DCT性能比较'z=32;str1='量化程度'htext=uicontrol(gcf,'style','text'制作静态说明文本框'position',0.1,0.8,0.33,0.1,'string',str1,sprintf('%1.4g',z);hslider=uicontrol(gcf,'style','slider'%创建滑动键'position',0.1,0.6,0.8,0.1,'max',64,'min
20、',0,.设最大阻尼比为2,最小阻尼比为0.02'sliderstep',1/64,1/64,%箭头操纵滑动步长1%,游标滑动步长5%'Value',32);%缺省取阻尼比等于0.5set(hslider,'callback',.操作滑动键,引起回调'z=get(gcbo,''value'');'获得滑动键状态值'callcheck(htext,str1,z)');%被回调的函数文件hpush=uicontrol(gcf,'Style','push
21、39;制作与列表框配用的按键'position',0.1,0.05,0.18,0.15,'string',原始图像);set(hpush,'callback','jpeg_show(I)'hpush=uicontrol(gcf,'Style','push',.%制作与列表框配用的按键'position',0.4,0.05,0.18,0.15,'string','KLT');set(hpush,'callback','jpeg_k
22、lt(I,z)')hpush=uicontrol(gcf,'Style','push',.%制作与列表框配用的按键'position',0.7,0.05,0.18,0.15,'string','DCT');set(hpush,'callback','jpeg_dct(I,z)')%灰度图像的klt正反变换functiony=klt(x,mask)IM=x;%读取图像IM=im2uint8(IM);%若图像尺寸不是8的整数倍,补0,补成8的整数倍cc1,cc2=size(IM)
23、;%cc1为IM的行数,cc2为IM的列数a=8-mod(cc1,8);b=8-mod(cc2,8);cc3=cc1+a;cc4=cc2+b;IM(cc3,cc4)=IM(cc1,cc2);IM(1:cc1,cc2+1:cc4)=IM(1:cc1,cc2-b+1:cc2);IM(cc1+1:cc3,1:cc2)=IM(cc1-a+1:cc1,1:cc2);IM(cc1+1:cc3,cc2+1:cc4)=IM(cc1,cc2);%若图像尺寸不是8的整数倍,补成k=1;forl1=1:8:(cc3-7)forl2=1:8:(cc4-7)F(:,:,k)=IM(l1:l1+7,l2:l2+7);k=
24、k+1;endendF=uint8(F);k=k-1;qq=k;d=0;d=uint32(d);IM=uint32(IM);forn1=1:cc3forn2=1:cc4d=IM(n1,n2)+d;end8的整数倍%B图像矩阵-8X8的矩阵存起来%W图像矩阵-8X8的矩阵存起来%求均值endd=d/(cc1*cc2);%求均值d=uint8(d);IM=uint8(IM);B2=zeros(64);jz=d;%jz为灰度均值foree=1:qqA=F(:,:,ee);TZZ;%调用函数求一个8X8的矩阵的特征矩阵B2=B2+B;endB=B2/ee;%B为均方差矩阵V,D=eig(B);%求特征
25、向量与特征值Q=V'fork=1:qqA=F(:,:,k);ee=1;forn1=1:8%#元素变换成一维forn2=1:8%#元素变换成一维X(ee,1)=A(n1,n2);YSZ(ee,1)=mask(n1,n2);%YSZ为mask变换成的一维数组ee=ee+1;end%等元素变换成一维end%等元素变换成一维X=double(X);Y=Q*X;被换后的矩阵放在丫中Y=flipud(Y);Y=Y.*YSZ;Y=flipud(Y);X1(:,:,k)=Q'*Y;%求还原后的矩阵endk=1;forl1=1:8:(cc3-7)%W矩阵8X8矩阵放入IM2中forl2=1:8:
26、(cc4-7)网等矩阵8X8矩阵放入IM2中H2=X1(:,:,k);ee=1;forn1=1:8forn2=1:8C2(n1,n2)=H2(ee,1);ee=ee+1;endendIM2(l1:l1+7,l2:l2+7)=C2;k=k+1;end%等矩阵8X8矩阵放入IM2中end%等矩阵8X8矩阵放入IM2中IM=IM(1:cc1,1:cc2);IM2=IM2(1:cc1,1:cc2);y=uint8(IM2);functionjpeg_dct(I,z)tic%I=imread('football.jpg');%读入原始图像,i图片在安装matlab的目录中找,原图为jpe
27、g图象Y=im2double(I);%图像存储类型转换,matlab读入图像的数据是uint8,而matlab中数值一般采用double型(64位)存储和运算。所以要先将图像转为double格式的才能运算T=dctmtx(8);%离散余弦变换矩阵,使用由dctmtx函数返回的DCT变换矩阵,这种方法较适合于较小的输入方阵(例如8X8或16X16),计算二维DCT,矩BT及其转置是DCT函数P1*X*P2的参数%B=blkproc(A,mn,fun,parameter1,parameter2,)%x就是每一个分成的8*8大小的块,P1*x*P2相当于像素块的处理函数,p1=Tp2=T',
28、也就是fun=p1*x*p2'=T*x*T'的功能是进行离散余弦变换%x代表A,对一副原始图像,选取它的最左上角8x8的矩阵,并将每一个像素值转换到-128到127的范围内,得到矩阵x.%RGB图像分三个通道,分别处理B(:,:,1)=blkproc(Y(:,:,1),88,'P1*x*P2',T,T');%等原始图像8x8的像素块转换成代表不同频率分量的系数集,DCT后的64个DCT系数与DCT前的64个像素块相对应B(:,:,2)=blkproc(Y(:,:,2),88,'P1*x*P2',T,T');B(:,:,3)=blk
29、proc(Y(:,:,3),88,'P1*x*P2',T,T');%对原图像进行DCT变换z=fix(z);%M化,向0靠拢取整t(1:z)=1;t(z+1:64)=0;%2字形扫描mask=jpeg_Dzz8(t);B2(:,:,1)=blkproc(B(:,:,1),88,'P1.*x',mask);须保留DCT变换的左上角10个系数,数据压缩,丢弃右下角高频数据,达到图像压缩的目的B2(:,:,2)=blkproc(B(:,:,2),88,'P1.*x',mask);%变换后的系数值较大的会集中在区域的左上部,即低频分量都集中在左上
30、部。保留的也是这一部分。B2(:,:,3)=blkproc(B(:,:,3),88,'P1.*x',mask);%其他部分的系数被舍去,在恢复信号时对它们补0。这样以来,由于保留了大部分图像信号能量,在恢复信号后,其质量不会产生显著变化。%数据压缩,丢弃右下角高频数据I2(:,:,1)=blkproc(B2(:,:,1),88,I2(:,:,2)=blkproc(B2(:,:,2),88,I2(:,:,3)=blkproc(B2(:,:,3),88,%进彳fDCT反变换,得到压缩后的图像figure;set(gcf,'unit','normalized&
31、#39;set(gcf,'menubar','none');str='量化程度'set(gcf,'name',strsprintf(形窗名imshow(I2)title('DCT变换压缩后的图像'P1*x*P2',T',T);'P1*x*P2',T',T);'P1*x*P2',T',T);,'position',0.4,0.5,0.3,0.3);'%1.4g',z),'numbertitle'%重构图像%
32、设置图形窗大小%删除图形窗工具条,'off');%书写图imwrite(I2,'dct.jpg');%B出压缩后的图像,文件名为football_dct.jpga=toc;uicontrol('style','text','unit','normalized',.'position',000.20.1,'string',num2str(a),.'FontSize',18)%瘦索方式:对角的Z字形扫描;二维的图像矩阵利用一维的搜索方式。functiony
33、=jpeg_Dzz8(x)t=1;fork=2:9form=1:k-1ifrem(k,2)=0y(k-m,m)=x(t);t=t+1;elsey(m,k-m)=x(t);t=t+1;endendendfork=10:16form=k-8:8ifrem(k,2)=0y(k-m,m)=x(t);t=t+1;elsey(m,k-m)=x(t);t=t+1;endendendfunctioncallcheck(htext,str1,z)set(htext,'string',str1,sprintf('%1.4g',z);%M新静态文本框内容<2functionjp
34、eg_klt(I,z)tic%I=imread('football.jpg');%读入原始图像,i图片在安装matlab的目录中找,原图为jpeg图象z=fix(z);%量化,向0靠拢取整t(1:z)=1;t(z+1:64)=0;mask=jpeg_Dzz8(t);%2字形扫描I2(:,:,1)=klt(I(:,:,1),mask);I2(:,:,2)=klt(I(:,:,2),mask);I2(:,:,3)=klt(I(:,:,3),mask);figure;set(gcf,'unit','normalized','position
35、39;,0.2,0.5,0.3,0.3);%设置图形窗大小set(gcf,'menubar','none');测除图形窗工具条str='量化程度;set(gcf,'name',strsprintf('%1.4g',z),'numbertitle','off');%书写图形窗名imshow(I2);title('KLT变换压缩后的图像)imwrite(I2,'klt.jpg');%B出压缩后的图像,文件名为klt.jpga=toc;uicontrol('style','text','unit','normalized',.'position',000.20.1,'string',num2str(a),.'FontSize',18)functionjpeg_show(I)%I=imread('football.jpg');figure;set(gcf,'unit','normalized','position',0,0.5,0.3,0.3);%设置图形
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国可编程全自动软水器数据监测研究报告
- 2 2025年小学教师资格考试复习宝典及试题
- 遗产继承协议仲裁合同
- 2023年新疆公务员《行政职业能力测验》试题真题及答案
- 纤维专业知识培训课件
- 公司活动策划与执行进度报告
- 机械工程材料与设计实践试题库
- 公司加盟连锁经营合同书
- 江苏省南通市如皋市2024-2025学年高一上学期期末教学质量调研生物学试卷(必修)(含答案)
- 新闻媒体新闻稿件授权发布协议
- 2025年安徽电气工程职业技术学院单招职业倾向性测试题库学生专用
- unctad -全球投资趋势监测 第 48 期 Global Investment Trends Monitor,No. 48
- 2025年福建省高职单招计算机类职业技能测试题及答案(供参考)
- 电镀园区现场管理
- 学校在铸牢中华民族共同体意识教育工作情况报告
- 2025年安徽淮北市建投控股集团招聘笔试参考题库含答案解析
- 《孤独的小螃蟹》导读课件
- 城市轨道交通行车组织 课件 项目3 车站行车作业组织
- 2025年聚焦全国两会知识竞赛题库及答案(共100题)
- 《全面绩效管理》课件
- 《清华大学介绍》课件
评论
0/150
提交评论