基于DCT的图像压缩及Matlab实现(共16页).doc

上传人:飞****2 文档编号:13682589 上传时间:2022-04-30 格式:DOC 页数:16 大小:615.50KB
返回 下载 相关 举报
基于DCT的图像压缩及Matlab实现(共16页).doc_第1页
第1页 / 共16页
基于DCT的图像压缩及Matlab实现(共16页).doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《基于DCT的图像压缩及Matlab实现(共16页).doc》由会员分享,可在线阅读,更多相关《基于DCT的图像压缩及Matlab实现(共16页).doc(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上通信专业课程设计一太原科技大学课 程 设 计(论 文)设计(论文)题目:基于DCT的图像压缩及Matlab实现姓 名_ _ _ 学 号 _ 班 级_ 学 院_ _ _指导教师_ _ _2010年 12 月 31 日专心-专注-专业太原科技大学课程设计(论文)任务书学院(直属系): 时间: 学 生 姓 名指 导 教 师设计(论文)题目基于DCT的图像压缩及Matlab实现主要研究内容掌握DCT变换实现图像压缩的基本方法,在不损害图像信源的有效信息量的情况下保证图像的质量,在MATLAB环境中进行图像压缩技术的仿真,并对仿真结果进行分析。研究方法主要运用实验法与观察法,通

2、过编写程序实现对图像的DCT变换,观察图像结果进而实现对DCT变换的研究。主要技术指标(或研究目标)利用DCT变换编码方法进行图像压缩,提高信息传输的有效性及通信质量。教研室意见教研室主任(专业负责人)签字: 年 月 日 目 录 1 - 2 - 2 - 2 - 2 - 3 -第3章 程序运行及结果分析.- 5 - 5 - 7 -第4章 结论 11 - 12 -基于DCT变换函数的图像压缩摘 要图像压缩是关于用最少的数据量来表示尽可能多的原图像的信息的一个过程。对于图像来说,如果需要进行快速或实时传输以及大量存储,就需要对图像数据进行压缩,在同等的用心容量下如果图像数据压缩后再传输,就可以传输更

3、多的图像信息,也就可以增加通信的能力。变换编码是把图像中的各个像素从一种空间变换到另一种空间然后针对变换后的信号进行量化与编码操作的一种图象压缩编码技术。本文提出了基于DCT变换的JPEG图像压缩编码算法进行研究,并通过对比分析各种软件特性选取了MATLAB进行实验仿真,重点介绍了压缩编码的具体过程和方法 ,详细介绍了编码中DCT变换、量化、熵编码等模块的原理和数学推导以及各模块的功能分析,基于DCT 变换的JPEG 图像压缩方法简单、方便,既能保证有较高的压缩比,又能保证有较好的图像质量,应用MATLAB仿真出来的结果较好的反应了其编码算法原理。关键词: 图像压缩 DCT变换 JPEG MA

4、TLAB第1章 绪论 离散余弦变换(DCT for Discrete Cosine Transform)是与傅里叶变换相关的一种变换,它类似于(DFT for Discrete Fourier Transform),但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换,这个离散傅里叶变换是对一个实偶函数进行的(因为一个实偶函数的傅里叶变换仍然是一个实偶函数),在有些变形里面需要将输入或者输出的位置移动半个单位(DCT有8种标准类型,其中4种是常见的)。最常用的一种离散余弦变换的类型是下面给出的第二种类型,通常所说的离散余弦变换指的就是这种。它的逆,也就是下面给出的第三种类型,

5、通常相应的被称为反离散余弦变换,逆离散余弦变换或者IDCT。 有两个相关的变换,一个是离散正弦变换(DST for Discrete Sine Transform),它相当于一个长度大概是它两倍的实奇函数的;另一个是改进的离散余弦变换(MDCT for Modified Discrete Cosine Transform),它相当于对交叠的数据进行离散余弦变换。第2章 DCT变换概述2.1 DCT函数介绍常用的信源编码方法有算术编码、矢量量化、预测编码和变换编码等多种方法,变换编码就是经变换后的信号的样值能更有效地编码,也就是通过变换来解除或减弱信源符号间的相关性,再将变换后的样值进行标量量化

6、,或采用对于独立信源符号的编码方法,以达到压缩码率的目的。在实用中常用离散余弦变换(DCT),尤其是对视频图像信号,其统计特性接近一阶马尔可夫链,离散余弦变换的正交矢量近似于相应的K-L变换的正交矢量。余弦变换的完备正交归一函数是 (2-1) ,t (2-2)对这些函数在(0,T)内取N个样值,即得离散余弦变换矩阵的元为 (2-3) (2-4)分别可得变换和反变换的矩阵形式。2.2 DCT变换介绍2.2.1 DCT变换原理基于DCT(离散余弦变换)压缩编码算法是有失真的压缩编码,图2.1为DCT变换编码原理图。RGB/YUV编码量化DCT原图像YVU/RGBIDCT解量化解码压缩图像图2.1

7、DCT变换编码原理图2.2.2 DCT变换编码的步骤DCT变换编码的主要步骤是:颜色空间转换,正向离散余弦变换(FDCT),量化,熵编码(哈达码编码和算术编码)1。1) 颜色空间转换和采样JPEG压缩只支持Y颜色模式,其中Y代表亮度,代表色度,所以在将彩色图像进行数据压缩之前必须对颜色模式进行转换,将RGB模式转为Y模式。转换可通过计算下述公式完成:Y=0.299R+0.587G+0.114B (2-5)=-0.169R-0.331G+0.5B (2-6)=0.5R-0.4187G-0.0813B (2-7)对转换后的数据进行采样,采样比例一般是4:2:2或4:1:1。经过采样后的图像数据的色

8、度数据比原来减少了一半。选择这样的采样方式是因为人的视觉对亮度要比对色度更敏感,而重建后的图像与原图的差异是人的视觉所不易察觉到的。2)DCT变换2在进行DCT变换之前,先把图像分成88的子块。将用P位表示的图像数据(一般用8位表示一个像素的颜色分量),即在0,范围内表示的无符号整数,变成范围内表示的有符号数,作为DCT变换的输入量。经过DCT变换,将空域中表示的图像数据转换到频域中进行表示,并获得N个变换系数。变换公式为 (2-8)逆DCT变换公式为 (2-9)其中, 其他输出系数排列按Zig-zag排序,其中直流量为DC系数,交流量为AC系数。排列中越往后0越多。3)量化3为了达到进一步压

9、缩数据的目的,需要对DCT系数进行量化。在JPEG中采用了线性均匀量化器,为减少比较数,增加零值,JPEG分别对Y,U,V的不同系统有不同量化间隔Q(u,v),并提供了亮度与色度两张量化表。4)熵编码根据信息论的原理,可以找到最佳数据压缩编码的方法,数据压缩的理论极限是信息熵。如果要求编码过程中不丢失信息量,即要求保存信息熵,这种信息保持编码叫熵编码,是根据消息出现概率的分布特性而进行的,是无损数据压缩编码。根据输入熵编码器表格的符号节点的加权值和与其相邻的其它节点的加权值对哈夫曼树进行有效的变换,从而提高压缩效率;利用八字形树旋转和准旋转对哈夫曼树进行有效的变换,从而使输入符号的加权值具有与

10、现在输入的视频数据最合适的值,缩短变换表格的时间。可以查看相关的码表进行熵编码。第3章 程序调试及运行结果分析3.1 程序代码I=imread(cameraman.tif)I=im2double(I) %转换图像矩阵为双精度型。J=dct2(I);T=dctmtx(8) %产生二维DCT变换矩阵a1=16 11 10 16 24 40 51 61; 12 12 14 19 26 58 60 55; 14 13 16 24 40 57 69 56; 14 17 22 29 51 87 80 62; 18 22 37 56 68 109 103 77; 24 35 55 64 81 104 113

11、 92; 49 64 78 87 103 121 120 101; 72 92 95 98 112 100 103 99 ;for i=1:8:200 for j=1:8:200 P=I(i:i+7,j:j+7); K=T*P*T; I2(i:i+7,j:j+7)=K; K=K./a1; %量化 K(abs(K)0.03)=0; I3(i:i+7,j:j+7)=K; endendfigure;imshow(I2);title(DCT变换后的频域图像); %显示DCT变换后的频域图像for i=1:8:200 for j=1:8:200 P=I3(i:i+7,j:j+7).*a1; %反量化 K

12、=T*P*T; I4(i:i+7,j:j+7)=K; endendfigure;imshow(I4);title(复原图像);B=blkproc(I,8,8,P1*x*P2,T,T) %计算二维DCT,矩阵T及其转置是DCT函数P1*X*P2的参数 mask=1 1 1 1 0 0 0 0 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 %二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个B2=blkproc

13、(B,8 8,P1.*x,mask) %只保留DCT变换的10个系数I2=blkproc(B2,8 8,P1*x*P2,T,T) %重构图像figureimshow(I)title(原始图像);figureimshow(I2);title(压缩图像);figureimshow(J);figuremesh(J) %画出J的立体网状图colorbar(horiz) %在水平条方向用不同的颜色表示曲面的高度3.2 运行结果分析执行程序产生的二维DCT变换矩阵T如下:T = 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.4904 0

14、.4157 0.2778 0.0975 -0.0975 -0.2778 -0.4157 -0.4904 0.4619 0.1913 -0.1913 -0.4619 -0.4619 -0.1913 0.1913 0.4619 0.4157 -0.0975 -0.4904 -0.2778 0.2778 0.4904 0.0975 -0.4157 0.3536 -0.3536 -0.3536 0.3536 0.3536 -0.3536 -0.3536 0.3536 0.2778 -0.4904 0.0975 0.4157 -0.4157 -0.0975 0.4904 -0.2778 0.1913 -

15、0.4619 0.4619 -0.1913 -0.1913 0.4619 -0.4619 0.19130.0975 -0.2778 0.4157 -0.4904 0.4904 -0.4157 0.2778 -0.0975图3.1 cameraman的原始图像图3.2 DCT变换后的频域图像分析:通过矩阵a1只对图像左上角的一部分进行了DCT变换后的频域处理。图3.3 复原图像分析:对图3.2左上角变换后的频域图像进行反量化得到复原图像,因此复原图像就只有原图像的左上角一部分。图3.4 压缩图像分析:只保留DCT变换的10个系数,运用逆DCT变换,对图像进行重构,从而得到原图像的压缩图像。图3.

16、5 二维离散余弦变换图像分析:直接运用函数dct2对原图像进行二维离散余弦变换。图3.6 二维离散余弦变换的立体网状图分析:在图中的最下面一行表示在水平条方向用不同的颜色表示曲面的高度,根据图3.5显示的二维离散余弦变换图像知在图像的左上角曲面的高度有所不同,因此在图像左上角部分的立体网状图呈现出图3.6的情况。第4章 结论相关技术日新月异的进步,使得数字图像相关技术的应用越来越广泛。数字图像以其较之于传统文字信息大得多的信息量,更加符合人们接受信息的习惯的特点,已经渗透到社会生活的各个方面。数字图像的固有缺陷是其特别巨大的数据量,与传输网络有限的传输能力形成了一对矛盾,成为制约数字图像应用的

17、瓶颈。因此数字图像的压缩编码与传输是非常有实际使用价值的热点研究问题。本文通过研究设计一个基于DCT变换的图像压缩编码的matlab实现,得到了下面的结论:论文叙述的图像压缩编码算法,采用了JPEG的核心离散余弦变换算法。DCT是正交变换,它可以将8*8图像的空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT产生的系数很容易被量化,因此能获得好的块压缩;DCT算法的性能很好,它有快速算法,因此它在软件中容易实现;而且DCT算法是对称的,所以利用逆DCT算法可以用来解压缩图像。仿真结果说明了压缩比增大时,图像的质量会降低,并且图像的信噪比会变小。利用MATLAB仿真软件来实现离散余弦变换的图像压缩,具有方法简单、速度快、误差小的优点,免去了大量矩阵计算,大大提高了图像压缩的效率和精度参考文献1 曹雪虹,张宗橙.信息论与编码.第2版.北京:清华大学出版社.2009 :18-252 郭文强,侯勇严.数字图像处理.西安:西安电子科技大学出版社,2009:6-123 关可,王建新.信息论与编码技术.北京: 清华大学出版社,2009:35-38

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com