图像变换编码程序设计

上传人:M****1 文档编号:512195834 上传时间:2023-03-27 格式:DOCX 页数:10 大小:47.29KB
返回 下载 相关 举报
图像变换编码程序设计_第1页
第1页 / 共10页
图像变换编码程序设计_第2页
第2页 / 共10页
图像变换编码程序设计_第3页
第3页 / 共10页
图像变换编码程序设计_第4页
第4页 / 共10页
图像变换编码程序设计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《图像变换编码程序设计》由会员分享,可在线阅读,更多相关《图像变换编码程序设计(10页珍藏版)》请在金锄头文库上搜索。

1、摘要I1 设计背景及要求11.1 设计背景11.2 设计要求12 图像的信息熵22.1 信息熵与图像熵22.2 图像熵的计算的MTALAB实现2.3基于DCT的JPEG图像压缩编码3.1.1 关于DCT变换及DCT系数3.1.1.1 DCT变换3.1.1.2 DCT系数的量化4.1.1.3 DCT系数的性质4.1.2 程序设计41.2.1 DCT图像压缩模型4.1.2.2 程序流图71.2.3 程序代码81.3 MATLAB仿真9.4 图像的信噪比1.0.4.1 原理简介1.0.4.1.1 均方误差64.1.2 峰值信噪比74.2 程序设计74.3 MATLAB仿真8.5 心得体会8参考文献9

2、摘要本设计是基于MATLA歆件的图像变换编码程序设计,介绍了图像的信息嫡概念和图像信息嫡计算的MATLA加现方法,对DC侬换和反变换的原理进行了详细介绍,并利用MATLABffi相关函数实现了基于DCT勺JPEGS像压缩编码,简单讲述了图像信噪比的概念及意义,利用MATLA欧现了图像经过DC琢码及重构后图像的信噪比的计算。关键词:MATLAB信息嫡,DC侬换,JPEGE缩,峰值信噪比1 设计背景及要求1.1 设计背景数字图像处理是利用计算机或数字技术对图像信息进行加工处理以改善图像质量、压缩图像数据或从图像数据中获取更多信息。数字图像处理的主要方法可分为两大类:空域法和变换域法。图像压缩即去除

3、多余数据。以数学的观点来看图像压缩过程实际上就是将二维像素阵列变换为一个在统计上无关联的数据集合。因此图像压缩是指以较少的比特有损或无损地表示原来的像素矩阵的技术,也称图像编码。图像压缩编码的必要性和可能性:图像压缩编码的目的是以尽量少的比特数表征图像同时保持复原图像的质量使它符合预定应用场合的要求。压缩数据量、提高有效性是图像压缩编码的首要目的。图像数据可以进行压缩有以下几方面的原因:首先原始图像数据是高度相关的存在很大的冗余度,如空间冗余度,时间冗余度,频率域冗余度。数据冗余造成比特数浪费消除这些冗余就可以节约码字也就达到了数据压缩的目的,其次基用相同码长表示不同出现概率的符号也会造成符号

4、冗余度;允许图像编码有一定的失真也是图像可以压缩的一个重要原因。1.2 设计要求(1)学习图像压缩和JPEG压缩的原理和方法;(2)选择一幅256级的灰度图像,利用matlab设计程序完成以下功能;(3)计算该图像的信息熵;(4)利用JPEG的压缩原理,将图像分成88的图像块,计算每个块的DCT系数;(5)只保留DCT系数矩阵最左上角的10个系数,然后对每个图像块利用这10个系数进行DCT反变换来重构图像,显示重构后的图像;(5)计算该图像经过离散余弦变换编码及重构后图像的信噪比;(6)要求阅读相关参考文献不少于5篇;7)根据课程设计有关规范,按时、独立完成课程设计说明书。2图像的信息熵2.1

5、信息熵与图像熵自信息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。所发出的消息不同,它们所含有的信息量也就不同。任何一个消息的自信息量都代表不了信源所包含的平均自信息量。不能作为整个信源的信息测度,因此定义自信息量的数学期望为信源的平均自信息量。信息嫡的意义:信源的信息嫡H是从整个信源的统计特性来考虑的。它是从平均意义上来表征信源的总体特性的。对于某特定的信源,其信息熵只有一个。不同的信源因统计特性不同,其熵也不同。图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,令Pi表示图像中灰度值为i的像素所占的比例,则定义灰

6、度图像的一元灰度熵为:图像的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像灰度分布的空间特征,为了表征这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间特征的特征量来组成图像的二维熵。选择图像的邻域灰度均值作为灰度分布的空间特征量,与图像的像素灰度组成特征二元组,记为(i,j),其中i表示像素的灰度值(0=i=255),j表示邻域灰度(0=j=255),上式能反应某像素位置上的灰度值与其周围像素灰度分布的综合特征,其中f(i,j)为特征二元组(i,j)出现的频数,N为图像的尺度,定义离散的图像二维熵为:构造的图像二维熵可以在图像所包含信息量的前提下,突出反映图像中像素位置的灰度信

7、息和像素邻域内灰度分布的综合特征.2.2图像嫡的计算的MTALA限现图像熵计算过程:1) 输入一幅图像,并将其转换成灰度图像。2) 统计出图像中每个灰度阶象素概率。3) 统计出图像中相邻两象素的灰度阶联合分布矩阵。4) 根据图像熵和二阶熵公式,计算出一幅图像的熵。由此,可得图像嫡计算的MATLAB序,如下:A=imread(E:ProgramFilesMATLABR2010bbinlena,bmp);%读入图像n(1:256)=0;p(1:256)=0;S=0;H=0;fori=1:256%统计像素值forj=1:256n(A(i,j)尸n(A(i,j)+1;endendfori=1:256%

8、计算每个像素值的概率p(i)=n(i)/(256*256);endfori=1:256%概率和为1S=S+P(i);endfori=1:256%嫡的计算ifp(i)=0H=H+p(i)*10g2(1/p(i);endendH5) 3仿真结果3基于DCT勺JPEG图像压缩编码3.1 关于DC馁换及DC粽数3.1.1 DCT变换离散余弦变换(DiscreteCosineTransform,DCT是一种实数域变换,其变换核为实数余弦函数。对一幅图像进行离散余弦变换后,许多有关图像的重要可视信息都集中在DC侬换的一小部分系数中。因此,离散余弦变换(DCT是有损图像压缩JPEG的核心,同时也是所谓“变换

9、域信息隐藏算法”的主要“变换域(DCTM)”之一。因为图像处理运用二维离散余弦变换,所以直接介绍二维DC侬换。一个矩阵的二维DCT定义如下:2nini(2x+1)u(2y+1)vF(u,v)=f(x,y)coscosNx=0y=02N2N,其中,x,y=0,1,2,N-1,式中表示的阵列为N*No逆DCT变换定义如下:fx,y)1F(0,0)空(0”)四.1)vN1F(u,0)cosUNNv12NNv12N2 N 1N 1F(u,v)cos1(2x 1)v cos(22LJ)U2N2N3.1.2 DCT系数的量化为了达到压缩数据的目的DCT系数需作量化量化表需针对性地设计。DCT系数量化是一个

10、十分重要的过程,是造成DCT编解码信息损失(或失真)的根源。量化过程即经过DCT变换图像的每个系数根据量化表除以各自对应的量化步长,得到量化系数。量化的作用是在一定的主观保真度图像质量的前提下,丢掉那些对视觉影响不大的信息,以获得较高的压缩比。量化公式:量化值(u,v)=f(u,v)/量化矩阵(u,v)3.1.3 DCT系数的性质当u,v不断增大时,相应的余弦函数的频率也不断增大,得到的系数可认为就是原始图像信号在频率不断增大的余弦函数上的投影,所以也被称为低频系数、中频系数和高频系数。而且,一个图像的DCT低频系数分布在DCT系数矩阵的左上角,高频系数分布在右下角,低频系数的绝对值大与高频系

11、数的绝对值。对DCT变换来说,图像的主要能量是集中在其DCT系数的一小部分。这所谓的“一小部分”就是指的低频部分。随着u,v阶数的不断增大,图像信号在两组正交函数上的投影值出现了大量的正负相抵消的情景,从而导致了得到的频率系数在数值(绝对值)上的不断减小。中、低频系数所含有的原始信号的成份较多,所以由其反变换重构图像就能得到图像的近似部分。高频系数是在众多正交的余弦函数上投影的加权,是这些不同频率的余弦信号一起来刻画原始信号的结果,图像近似的部分在这些函数上被相互抵消了,剩下的就是图像的细节部分了。3.2 程序设计3.2.1 DCT图像压缩模型DCT图像压缩模型如图3.1所示:图3.1DCT图

12、像压缩模型在编码过程中,将图像分解为8x8的象素块,对这个8x8块进行二维离散余弦变换,每个块就产生了64个DCT(数,其中一个DC(数位于左上角是直流(DC)系数,它表示了8X8输入矩阵全部值的平均数,其余63个系数为交流(AC)系数。接下来对DCT(数进彳T量化,相邻的8X8块之间的DC(数有较强的相关性。最后将量化的DCT(数进行编码和传送,就形成了压缩后的图像格式。在解码过程中,先对已编码的量化的系数进行解码,然后求逆量化并利用二维DCK变换把DCT(数转化为8X8样本像块,最后将反变换后的块组合成一幅图像。这样就完成了图像的压缩和解压过程。图像块处理的整个过程由函数blkproc自动

13、实现。函数blkproc的格式为B=blkproc(A,M,N,FUN,P1,P2)函数blkproc的参量为一幅输入图像A将被处理的块的大小M,N,用于处理这些块的函数FUN,以及块处理函数FUN勺一些可选输入参数P1,P2,并重新将结果组合到输出图像。3.3.2 程序流图对一幅图像进行DCTE缩编码的MATLAB序流程图如图3.2所示:图3.2图像DCE缩编码的程序流程图3.3.3 程序代码I=imread(E:ProgramFilesMATLABR2010bbinlena,bmp);I=im2double(I);T=dctmtx(8);%8*8的离散余弦变换矩阵B=blkproc(I,8

14、,8,P1*x*P2,T,T);%对原图像进行DCT变换blkproc()函数是对f1矩阵中的每个8,8模块,用公式P1*x*P2进行计算。其中x=8,8,P1=T,P2=T。用*表示的是矩阵乘法,而.*表示的矩阵中相应数的乘积。由线性代数的知识,很快就能知道B1的%size口f1的sizeH一样的。mask=11110000;11100000;11000000;10000000;00000000;00000000;00000000;00000000;B2=blkproc(B,88,P1.*x,mask);%数据压缩,只保留DCT系数矩阵最左上角的10个系数I2=blkproc(B2,88,P

15、1*x*P2,r,T);%进行DCT反变换,得到压缩后的图像subplot(2,2,1);imshow(I);title(原图像);subplot(2,2,2);imshow(I2);title(重构后图像);subplot(2,2,3);imshow(abs(I-I2);title(原图象和复原后图象的差)subplot(2,2,4);imshow(B);title(DCT系数);3.3MATLAB仿真经过MATLAB软件进行仿真,仿真结果如图3.3所示:图3.1原图像和重构后图像比较,及DCT系数总结分析:仿真中取了10个DCT(数,占15%.比较原图和重构图像,可以发现:在抛弃85%DCT(数后,重构图像时并不会因此而带来其画面质量的显着下降,即重构图像的失真不大。当然,采用这组图像的信噪比4.1原理简介图像的信噪比应该种方法来实现压缩算法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号