ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:417.22KB ,
资源ID:17084984      下载积分:8 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17084984.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图像峰值信噪比的计算.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

图像峰值信噪比的计算.docx

1、图像峰值信噪比的计算1数字图像处理 数字图像处理是利用计算机(或数字技术)对图像信息进行加工处理,以改善图像质量、压缩图像数据或从图像数据中获取更多信息。数字图像处理的主要方法可分为两大类:空域法和变换域法。 a. 空域法 把图像看作是平面中各个象素组成的集合,然后直接对这个二维函数进行相应的处理。 b. 频域法(变换域法) 首先对图像进行正交变换,得到变换域系数阵列,然后再实行各种处理,处理后再反变换到空间域,得到处理结果。这类处理包括:滤波、数据压缩和特征提取等。1.图像压缩编码基础图像压缩即去除多余数据。以数学的观点来看,图像压缩过程实际上就是将二维像素阵列变换为一个在统计上无关联的数据

2、集合。因此,图像压缩是指以较少的比特有损或无损地表示原来的像素矩阵的技术,也称图像编码。图像压缩编码的必要性和可能性:图像压缩编码的目的是以尽量少的比特数表征图像,同时保持复原图像的质量,使它符合预定应用场合的要求。压缩数据量、提高有效性是图像压缩编码的首要目的。图像编码是一种信源编码,其信源是各种类型的图像信息。图像数据可以进行压缩有以下几方面的原因。首先,原始图像数据是高度相关的,存在很大的冗余度。如图像内相邻象素之间的空间冗余度。序列图像前后帧之间的时间冗余度。多光谱遥感图像各谱间的频率域冗余度。数据冗余造成比特数浪费,消除这些冗余就可以节约码字,也就达到了数据压缩的目的。其次,基用相同

3、码长表示不同出现概率的符号也会造成符号冗余度。如果采用可变长编码技术,对出现概率高的符号用短码字、对出现概率低的符号用长码字表示,就可消除符号冗余度,从而节约码字。 允许图像编码有一定的失真也是图像可以压缩的一个重要原因。2图像压缩编码 图像压缩可以是有损数据压缩也可以是无损数据压缩。对于如绘制的技术图、图表或者漫画优先使用无损压缩。这是因为有损压缩方法,尤其是在低的位速条件下将会带来压缩失真。如医疗图像或者用于存档的扫描图像等这些有价值的内容的压缩也应尽量选择无损压缩方法。有损方法非常适合于自然的图像,例如一些应用中图像的微小损失是可以接受的(有时是无法感知的),这样就可以大幅度地减小位速。

4、无损图像压缩方法有:行程长度编码,熵编码法(如 LZW这样的自适应字典算法);有损压缩方法有:(1)将色彩空间化减到图像中常用的颜色。(2)色度抽样。(3)变换编码。(4)分形压缩( Fractal compression)。2.1 图像压缩编码方法 图像压缩算法就是要在保证图像一定的重建质量的同时,通过去除冗余数据可以节约文件所占的码字从而极大地降低原始图像数据量,解决图像数据量巨大的问题,以达到对图像压缩的目的。图像数据压缩技术就是研究如何利用图像数据的冗余性来减少图像数据量的方法。因此,进行图像压缩研究的起点是研究图像数据的冗余性。 图像压缩方法主要分成两种类型:一种是基于空间线性预测技

5、术,即差分脉冲编码调制的无失真压缩算法,另一种是基于DCT的有失真压缩算法,并进一步应用熵编码。 a. 无失真预测编码压缩算法 无失真预测编码压缩算法能准确无误地恢复原信息,它只是去掉了信源的冗余部分,却不能提供较高的压缩比。 b. 基于DCT的有失真压缩编码算法 基于DCT的有失真压缩编码算法包括基本系统和增强系统两种不同层次的系统。并定义了顺序工作方式和累进工作方式。基本系统只采用顺序工作方式,熵编码时只能采用Huffman编码,且只能存储两套码表。增强系统是基本系统的扩充,可采用累进工作方式,熵编码时可选用Huffman码或算术编码。有失真压缩能提供较高的压缩比,但由于损失了信源的熵,压

6、缩后的数据是无法准确无误地恢复,而是利用人的视觉特性使解压缩后的图像看起来与原始图像一样。主要方法有预测编码、变换编码、模型编码、基于重要性的编码以及混合编码方法等。压缩比随着编码方法的不同差别较大。二维图像块经过各种正交变换后比较它们的优越性: DCT、DST、KL斜坡变换哈达码变换、哈尔变换(随图像块尺寸增大而饱和)。虽然DCT变换在处理过程中需要用乘法电路,但由于LSI技术发展已使乘法器较为容易实现,所以DCT是正交变换编码的主要方式。基于DCT编码的过程为先进行DCT正变换,再对DCT系数进行量化,并对量化后的直流系数和交流系数分别进行差分编码或行程编码,最后再进行熵编码。 在编码过程

7、中,JPEG算法首先将RGB 分量转化为亮度分量和色差分量,然后将图像分解为88的像素块, 对这个88块进行二维离散余弦变换, 每个块就产生了64个DCT系数,其中一个是直流(DC)系数,它表示了88输入矩阵全部值的平均数,其余63个系数为交流(AC)系数,接下来对DCT系数进行量化,最后将量化的DCT 系数进行编码,就形成了压缩后的图像格式。在解码过程中,先对已编码的量化的系数进行解码,然后求逆量化并利用二维DCT 反变换把DCT 系数转化为88样本像块, 最后将反变换后的块组合成一幅图像。这样就完成了图像的压缩和解压过程。二维离散余弦正变换的公式如下:其中:二维离散余弦反变换公式如下:2.

8、2 无损压缩 无损压缩利用数据的统计特性来进行数据压缩,典型的编码有Huffman编码、行程编码和算术编码。码无损压缩的压缩率一般为2:l5:1。 Huffman编码 一种用概率匹配方法进行信源编码的熵编码方法,通过利用已变换信号的统计特性,给其分配高效代码来实现数据压缩,用于去除图像数据的统计冗余。Huffman编码是一种长度不均匀的、平均码率可以接近信息源熵值的一种编码方法。它有两个明显的特点:一是哈夫曼码的编码方法保证了概率大的符号对应于短码,概率小的符号对应于长码,充分利用了短码;二是缩减信源的最后二个码字总是最后一闪不同,从而保证了哈夫曼码是即时码。编码后使平均码长减小,以达到压缩的

9、目的。信息熵的计算公式:哈夫曼码的平均码长计算公式:其中,是信源符号的码长;是信源符号的概率。信息传输速率:由此可见,哈夫曼码的平均码长最小,消息传输速率最大,编码效率最高。然后哈弗曼编码方法得到的码并非是唯一的,它们的平均码长相等,编码效率也相等,但是质量不完全相同,可用码方差来表示:由经验得,进行哈夫曼编码时,为得到码方差最小的码,应使合并的信源符号位于缩减信源序列尽可能高的位置上,以减少再次合并的次数,充分利用短码。Huffman 编码的算法如下: (1) 将n个信源消息符号按其出现的概率大小依次排列,; (2) 取两个概率最小的分别分配以0 和1 两码元,并将这两个概率相加作为一个新的

10、概率,与所分配的二进符号生新排队; (3) 对重排后的两个概率最小符号重复步骤2 的过程; (4) 不断继续上述过程,直到最后的两个符号配以0 和1 为止; (5) 从最后一级开始,向前返回得到各信源符号所对应的码元序列,即相应的码字。 在计算Huffman 表时需要对原始图像数据扫描两遍:第一遍要精确地统计出原始图像中每个灰度值出现的概率;第二遍是建立哈夫曼树并进行编码。由于需要建立二叉树并遍历二叉树生成编码,因此数据压缩和还原速度都较慢。但是该编码方法简单有效, 而且编码效率相当高,因而得到了广泛应用。Huffman 编码小变字长编码方法是最佳的, 其码字平均长度很接近信息符号的熵值。Hu

11、ffman 编码的最高压缩效率可达到81。2.3 均方误差均方误差(Mean Squared Error, MSE)在相同测量条件下进行的测量称为等精度测量,例如在同样的条件下,用同一个游标卡尺测量铜棒的直径若干次,这就是等精度测量。对于等精度测量来说,还有一种更好的表示误差的方法,就是标准误差。标准误差定义为各测量值误差的平方和的平均值的平方根,故又称为均方误差。设n个测量值的误差为1、2n,则这组测量值的标准误差等于:数理统计中均方误差是指参数估计值与参数真值之差平方的期望值,记为MSE。2.4峰值信噪比PSNR是“Peak Signal to Noise Ratio”的缩写。peak的中

12、文意思是顶点。而radio的意思是比率或比列的。整个意思就是到达噪音比率的顶点信号,psnr是一般是用于最大值信号和背景噪音之间的一个工程项目。通常在经过影像压缩之后,输出的影像通常都会有某种程度与原始影像一样。为了衡量经过处理后的影像品质,我们通常会参考PSNR值来认定某个处理程序够不够令人满意。PSNR计算公式如下:Peak就是指8 bits 表示法的最大值255。MSE指 Mean Square Error(均方误差,各值相差的n次方和的平均值的n次平方根(这几个字应该没有)),I(角标n)指原始影像第n个pixel值,P(角标n)指经处理后的影像第n个pixel值。PSNR 的单位为d

13、B。所以PSNR值越大,就代表失真越少。PSNR 是最普遍,最广泛使用的评鉴画质的客观量测法,不过许多实验结果都显示,PSNR的分数无法和人眼看到的视觉品质完全一致,有可能PSNR较高者看起来反而比 PSNR 较低者差,这是因为人眼的视觉对于误差的敏感度并不是绝对的,其感知结果会受到许多因素的影响而产生变化(例如:人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响)。2.5 DCT 系数的量化为了达到压缩数据的目的,DCT 系数需作量化,量化表需针对性地设计。DCT系数量化是一个十分重要的过程,是造成DCT编解码信息损

14、失(或失真) 的根源。量化过程即经过DCT变换图像的每个系数根据量化表除以各自对应的量化步长, 得到量化系数。量化的作用是在一定的主观保真度图像质量的前提下,丢掉那些对视觉影响不大的信息,以获得较高的压缩比.量化公式:量化值(i, j) = f (i, j)/量化矩阵(i, j)3程序设计3.1 DCT 图像压缩的模型DCT图像压缩模型如图3.1所示 f(i,j)原图像FDCTF(u,v)量化压缩图像数据IDCTg(i,j)压缩新图像图3.1 DCT 图像压缩的模型在编码过程中,将图像分解为88的象素块,对这个88块进行二维离散余弦变换, 每个块就产生了64个DCT系数,其中一个DC系数位于左

15、上角,是直流(DC)系数,它表示了88输入矩阵全部值的平均数,其余63个系数为交流(AC)系数。接下来对DCT系数进行量化, 相邻的88块之间的DC系数有较强的相关性。最后将量化的DCT系数进行编码和传送,就形成了压缩后的图像格式。在解码过程中,先对已编码的量化的系数进行解码,然后求逆量化并利用二维DCT反变换把DCT系数转化为88样本像块,最后将反变换后的块组合成一幅图像。这样就完成了图像的压缩和解压过程。图像块处理的整个过程由函数blkproc自动实现。函数blkproc的格式为:B=blkproc(A,M,N,FUN,P1,P2) 函数blkproc的参量为:一幅输入图像A,将被处理的块

16、的大小M,N,用于处理这些块的函数FUN,以及块处理函数FUN的一些可选输入参数P1,P2,并重新将结果组合到输出图像。3.2 程序流程图对一幅图像进行DCT 压缩编解码的MATLAB 程序流程图如图3.2所示。输入一幅原始图像开始分成8x8象素块根据量化表对变换系数进行量化反DCT变换计算重建图像的峰值信噪比计算重建图像的均方误差结束DCT变换压缩图像数据图3.2 程序流程图3.3程序主程序:%-压缩图像-I=imread(1.bmp);I=im2double(I);%图像存储类型转换T=dctmtx(8);%离散余弦变换矩阵B=blkproc(I,8 8,P1*x*P2,T,T);%对原图

17、像进行DCT变换, ,每个不同8 8 块应用矩阵式P1*x *P2进行处理,必要时补0 ,其中P1 = T ,P2 = TMask=1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; %二值掩模,用来压缩DCT的系数,选取10个DCT系数重构图像B2=blkproc(B,8 8,P1.*x,Mask);%只保留DCT变换的10个系数,数据压缩,丢弃右下角高频数据I2=blkproc(B2,8

18、 8,P1*x*P2,T,T); %进行DCT反变换,得到压缩后的图像Imshow(I)Title(原始图像)figure;Imshow(I2)Title(压缩后的图像)disp(DCTJPEG压缩前后均方误差MSE:)mse0=mse(I,I2)disp(DCTJPEG压缩前后图像峰值信噪比(dB)PSNR0=PSNR(I,I2)程序函数:function PSNR = PSNR(A,B)%计算输入两图像A,B的峰值信噪比PSNR(dB)A = double(A); %图像数据类型转换B = double(B);Row,Col = size(A);%输入图像的大小Row,Col = size

19、(B);MSE = sum(sum(A - B).2) / (Row * Col); %均方误差MSEPSNR = 10 * log10(2552/MSE); %峰值信噪比PSNR(dB)%计算输入两图像A,B的均方误差function MSE = MSE(A,B)A=double(A);B=double(B);Row,Col = size(A);%输入图像的大小Row,Col = size(B);MSE = sum(sum(A - B).2) / (Row * Col); %均方误差MSE3.4 MATLAB仿真经过matlab软件进行仿真,仿真图像如图3.3,图3.4,图3.5所示。图3.

20、3 bmp原图像图3.4 压缩后JPEG图像图3.5 压缩前后mse psnr值总结分析:仿真中取了6个DCT系数,占10 %比较原图和重构图像,可以发现:在抛弃90 %的DCT 系数后,重构图像时并不会因此而带来其画面质量的显著下降,即重构图像的失真不大. 当然,采用这种方法来实现压缩算法时,可以通过修改mask变量中的DCT系数来更好地比较仿真结果。4心得体会通过这次的课程设计作品的制作让我对单MATLAB的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的

21、注重实际,避免称为只会纸上谈兵的赵括。在整个运用MATLAB 影像处理工具箱中的相关函数和命令来实现基于DCT 的图像压缩编码理论算法的仿真这程中,清晰了DCT图像压缩的方法。仿真结果较好地反映出DCT图像压缩的特性。图像DCT变换是目前最佳的图像变换,它有很多优点。DCT是正交变换,它可以将88图像的空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT 产生的系数很容易被量化,因此能获得好的块压缩;DCT算法的性能很好,它有快速算法,因此它在硬件和软件中都容易实现;而且DCT 算法是对称的,所以利用逆DCT算法可以用来解压缩图像。在本文中用MATLAB来实现离散余弦变换的图像压缩,具

22、有方法简单、速度快、误差小的优点,免去了大量矩阵计算,大大提高了图像压缩的效率和精度。我知道了如何运用已掌握的知识,如何学习新的知识,如何去克服遇到的困难。还有,怎样合理地安排时间,有效地查阅资料,甄选重点的知识。所以的这些都是此次课程设计留给我的宝贵财富。参考文献1董长虹 .MATLAB信号处理与应用.国防工业出版社,20052陈桂明等 .应用MATLAB语言处理数字信号与数字图像 .科学出版社,20013李弼程 智能图像处理技术.北京:电子工业出版社,20044李秀敏 基于MATLAB的DCT变换JPEG图像压缩中的应用.光电与控制,2005,125娄莉 .基于离散余弦变换的图像压缩技术.现代电子技术,2004, 196卞国春 基于DCT压缩的 JPEG图像的快速检索.2005,7

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2