基于余弦变换的图像压缩

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

题目基于余弦变换的图像压缩专业班级学号学生姓名指导教师指导教师职称学院名称完成日期:年月日武汉工程大学本科课程设计(论文)I目录目录..................................................................................................I摘要.................................................................................................II前言................................................................................................IV第1章课题背景.......................................................................................11.1背景...........................................................................................................1第2章实现步骤.......................................................................................22.1二维离散余弦变换(DCT)原理.....................................................................22.2基于DCT图像压缩程序流程.....................................................................22.3MATLAB的相关函数介绍.........................................................................3第3章详细设计与实现............................................................................43.1主界面设计.................................................................................................43.2测试结果....................................................................................................53.3程序部分源代码..........................................................................................8第4章总结....................................................................................12致谢................................................................................................13参考文献.................................................................................................14武汉工程大学本科课程设计(论文)II摘要离散余弦变换(DiscreteCosineTransform,简称DCT变换)是一种与傅立叶变换紧密相关的数学运算。在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化可导出余弦变换。DCT是目前比较好的图像压缩算法,它有很多优点。DCT是正交变换,它可以将8*8图像空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT产生的系数很容易被量化,因此能获得好的块压缩;DCT算法的性能很好,它有快速算法,如采用快速傅立叶变换可以进行高效的运算,因此它在硬件和软件中都容易实现;而且DCT算法是对称的,所以利用逆DCT算法可以用来解压缩图像。MATLAB提供了有效的DCT运算函数,使得图像处理变得更加简便快捷。关键词:离散余弦变换;MATLAB;图像压缩武汉工程大学本科课程设计(论文)IIIAbstractDiscretecosinetransformisaFouriertransformmathematicaloperationcloselyrelated.IntheFourierseriesexpansion,ifthefunctionisexpandedevenfunctionisreal,thentheFourierseriescontainsonlycosineterms,thenitcanbederiveddiscretecosinetransform.DCTisrelativelygoodimagecompressionalgorithm,ithasmanyadvantages.DCTisanorthogonaltransformation,itcanbe8*8imagespaceexpressionconvertedtofrequencydomain,simplyuseasmallnumberofdatapointsrepresentinganimage;DCTcoefficientsgeneratedcaneasilybequantified,andthereforecanobtaingoodcompressionblock;DCTalgorithmperformanceisverygood,ithasafastalgorithm,suchastheuseoffastFouriertransformoperationcanbeperformedefficiently,soitisinthehardwareandsoftwareareeasytoimplement;AndDCTalgorithmissymmetrical,sotheuseofinverseDCTalgorithmcanbeusedtodecompresstheimage.MATLABprovideseffectiveDCToperationfunctions,makingiteasierandefficientimageprocessing.Keywords:Discretecosinetransform;MATLAB;ImageCompression武汉工程大学本科课程设计(论文)IV前言本文解决了基于DCT的图像压缩问题。全文共4章。第1章介绍了问题背景。第2章主要介绍了图像压缩的实现步骤。第3章主要介绍了程序的详细设计,给出主要功能函数的设计,以及测试结果和分析,还讨论了程序的优缺点。第4章是本次课程设计的总结。总结了本次课程设计的目的和意义,以及测试中发现的一些问题,和有待改进的地方。重点谈到了我在本次毕业设计中的收获和感想,还有它对于我整个本科阶段的意义。全文的最后是致谢、参考文献。武汉工程大学本科课程设计(论文)1第1章课题背景1.1背景在信息世界迅猛发展的今天,图像传输已成为一项重要内容,而传输信息量的大小是影响传输速度的重要因素之一。要想提高通信速度,一个必要的手段就是图像的压缩编码技术,减少传输的数据量。大数据量的图像信息会给存储器的存储容量,通信干线信道的带宽,以及计算机的处理速度增加极大的压力。单纯靠增加存储器容量,提高信道带宽以及计算机的处理速度等方法来解决这个问题是不现实的,这时就要考虑压缩。于是,对图像信息的压缩成为一个不可或缺的环节。图像压缩是关于用最少的数据量表示尽可能多的原图像信息的一个过程,是通过去除一个或三个基本的数据冗余来实现的。压缩图像的方式有很多种,其中离散余弦变换(DCT)是目前比较好的图像变换,它有很多优点。DCT是正交变换,它可以8x8图像空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT产生的系数很容易被量化,因此能获得好的块压缩。所以DCT通常会用来对图像进行压缩,如图像文件标准JPEG便是基于DCT的。MATLAB拥有强大的图像处理工具箱,使用它将使复杂的图像变换变得简便快捷。武汉工程大学本科课程设计(论文)2第2章实现步骤2.1二维离散余弦变换(DCT)原理离散余弦变换(DiscreteCosineTransform,简称DCT变换)是一种与傅立叶变换紧密相关的数学运算。在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么其傅立叶级数中只包含余弦项,再将其离散化可导出余弦变换。DCT编码属于正交变换编码方式。用于去除图像数据的空间冗余。在变换编码系统中,如果正变换采用DCT变换就称为DCT变换编码系统。DCT用于把一幅图像映射为一组变换系数,然后对系数进行量化和编码。对于大多数的正常图像来说,多数系数具有较小的数值且可以被粗略地量化(或者完全抛弃),而产生的图像失真较小。离散余弦变换的变换核为余弦函数,计算速度快,有利于图像压缩和其他处理。DTC可表示为下式:1100(21)(21)(,)(,)()()coscos22MNxyxuyvTuvfxyuvMN式中,1/,0()2/,1,2,,-1MuauMuLM2.2基于DCT图像压缩程序流程用DCT对灰度图像进行图像压缩流程包括灰度图像的提取,图像压缩,原图像和压缩后图像的对比浏览三个步骤。(1)灰度图像的提取:由于大多数的图像都是RGB真彩图像,而二维DCT变换只能适用于二维数组即灰度图像,故需要使普通的彩色图像变成灰度图像武汉工程大学本科课程设计(论文)3以便压缩测试。(2)图像压缩:压缩图像的过程通常第一步是把输入图像细分为不相重叠的8*8像素块。随后按从左到右、从上到下的顺序用二维离散余弦变换处理这些像素块,用事先规定的掩膜来压缩DCT系数,用压缩后的DCT系数重构图像即DCT逆变换便得到压缩后的图像。(3)原图像和压缩后图像的对比浏览:为了判断图像是否压缩成功,需要将原图像与压缩后图像进行比较,若压缩后图像显得更加模糊则说明压缩成功。2.3MATLAB的相关函数介绍MATLAB提供了强大的图像处理工具箱,现在稍微介绍一下本文用到的相关函数。imread:它能够通过文件路径名读取图片文件并返回二维数组rgb2gray能将一彩色图像变成灰度图像imshow能够将二维图像显示出来dctmtx能够返回DCT变换矩阵blkproc能够对像素块进行操作,比如blkproc(I,[88],'P1*x*P2',T,T')是对8*8像素块进行T*I*T’变换武汉工程大学本科课程设计(论文)4第3章详细设计与实现3.1主界面设计使用MATLABR2012a可以通过GUIDE创建GUI代替全面的手工编程,可以简单的添加控件。如上图,在左边工具栏中选择几个控件拖到工作区间内,修改控件句柄,浏览按钮可以完成浏览电脑中的文件功能,exittext控件用来显示打开的文件的路径,axes控件用来显示打开的图片,下面的功能按钮能够提取灰度图像,保存图片和压缩图像的功能,于是主界面设计完成。武汉工程大学本科课程设计(论文)53.2测试结果测试结果:程序运行初始界面如下:图3-2初始界面武汉工程大学本科课程设计(论文)6加载图像后,如下图:图3-3加载图片提取灰度图像:武汉工程大学本科课程设计(论文)

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功