用VC++实现图像的离散余弦变换毕业设计(论文) .doc
《用VC++实现图像的离散余弦变换毕业设计(论文) .doc》由会员分享,可在线阅读,更多相关《用VC++实现图像的离散余弦变换毕业设计(论文) .doc(42页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)题 目用VC+实现图像的离散余弦变换 目录目录I摘要IIIABSTRACTIV文献综述V前言VI1 引言11.1背景11.2意义11.3现状与发展22 系统总体设计42.1系统的开发环境42.2系统开发的内容52.3系统需要实现的功能62.4GDI与GDI+基本介绍62.5系统总流程图83 正交变换知识概述93.1图像处理中的正交变换93.2傅立叶变换的基本概念93.3离散余弦变换基本概念134 图像文件格式164.1图像的基本类型164.2位图的格式184.3位图数据的读取与显示195 图像离散余弦变换实现225.1AAN方法介绍225.2实现步骤235.3结果分析236 图
2、像离散余弦逆变换实现256.1正变换的相关参数存储256.2根据图像数据逆变换257 系统测试及效果277.1打开图片测试277.2分块DCT变换测试277.3逆变换测试287.4系统性能分析288 全文总结29致谢30参考文献31摘要本文研究图像的正交变换之一离散余弦变换,使用VC+编码具体实现了AAN快速算法,大大提高了处理速度。本系统还实现了图像文件的读、写及显示,先将正变换后的位图图像信息存储在文件中,然后从文件中读取位图数据,把这些数据经过离散余弦逆变换,最后再将变换后的数据以位图显示出来。本文重点介绍了离散余弦变换的原理及其实现的方法。本文对离散余弦变换的基本原理、数学依据及程序的
3、实现过程做了细致的研究,并对DCT的变换图像和反变换的还原图像进行了测试。关键词: 图像正交变换,离散余弦变换(DCT),AAN快速算法AbstractThis article works on discrete cosine transformation which is one of orthogonal transformation of image. AAN algorithm of DCT programmed in Visual C+ platform, experimental results show that it is effection.This system also
4、fulfill the reading、writing and displaying operations of bitmap file. Firstly, we save the positive transforming information of image file as text file. Then, we read the image data from text file to do DCT. At last, we display the transformed data in a way of bitmap format. This article emphasizes
5、on the theory of discrete cosine transformation and the way how to achieve it.This article carefully researches on fundamental principle、mathematic basis and the arithmetic of discrete cosine transformation. Besides, we test the images of positive and negative transformation.Key words: orthogonal tr
6、ansformation of image, discrete cosine transformation (DCT), AAN speed method文献综述图像格式、图像正交变换相关文献概述图像是现代信息社会中最基本的信息。数字图像处理的研究对象是图像处理技术,这是计算机技术的重要分支和发展方向。文献1介绍了Visual C+的开发环境及静止、视频图像压缩编码中用道的主要编码算法,如:傅立叶变换、离散余弦变换、小波变换、熵编码、运动估计等,并对多个国际标准进行了深入的研究和分析,如JPEG、JPEG2000、H.261、H.263和H.26L等,同时给出了其中主要算法的Visual C+
7、源程序。文献2对傅立叶变换的特性进行了分析,包括产生背景、数学理论、算法,并对傅立叶变换和快速傅立叶变换作了比较。文献3则介绍了图像变换在信息隐藏中的应用。文献4介绍了离散余弦变换编码的现状与发展趋势。文献67主要介绍数字图像处理的理论与方法,介绍了各种数字图像处理的算法及编程实现技术。主要内容包括:位图基础、图像的显示、图像的几何变换、图像灰度变换、图像的平滑处理、图像锐化处理及边缘检测等。在图像的变换域处理及应用中,对本文研究的图像正交变换做了详细的说明。文献8-9是有关离散余弦变换的编程的相关计算机实现。很有帮助。文献10-13对图像格式、图像读取显示的原理,算法给出了细致的说明。MFC
8、相关文献介绍文献5围绕面向对象思想及其在Visual C+语言中的应用而展开,着重介绍Visual C+的语言基础,力求使读者在学习Visual C+的过程中逐步掌握面向对象的思想和方法。文献0从剖析实例入手,详细介绍了使用Visual C+进行可视化Windows应用程序开发所需的基本原理和概念,并设计了丰富的范例和实验。前言本文提取出了用Visual C+实现图像离散余弦正交变换的实现过程,并结合有关基本概念对正交变换的特征进行了分析和研究,有助于图像变换、信息隐藏等方向的工作者对图像的研究。本文主要分为八章。第一章主要介绍了进行图像正交变换分析和研究的背景、意义及发展前景方向。第二章对整
9、个正交变换系统做了简要介绍。第三章给出了正交变换数学原理公式及其分析方法。第四章介绍了图像的基本格式、读取方法,并对图像格式之一BMP做了详细的说明。第五章给出了图像离散余弦变换的算法分析、程序实现方法及结果分析。第六章特别对离散余弦变换的逆过程做了研究。第七章对系统的结果做了测试。第八章全文所使用的方法、结果以及目的和意义做了全面的总结,是全文的概括。本文的完成得到了戴祖旭博士的帮助和指导,在此向他表示衷心的感谢。王艾树2008-06-09于武汉工程大学理学院1 引言1.1 背景1974年由Ahmed和Rao提出的离散余弦变换,至今已有30年历史。此间,DCT编码已发展成为JPEG , MP
10、EG , H.26x等图像/视频编码标准中的核心。离散余弦变换(DCT for Discrete Cosine Transform)1是与傅立叶变换2相关的一种变换,它类似于离散傅立叶变换(DFT for Discrete Fourier Transform),但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅立叶变换,这个离散傅立叶变换是对一个实偶函数进行的(因为一个实偶函数的傅立叶变换仍然是一个实偶函数),在有些变形里面需要将输入或者输出的位置移动半个单位(DCT有8种标准类型,其中4种是常见的)。离散余弦变换(DCT)已经成为数字信号处理和图像处理的一种重要手段,但是其直接算
11、法的计算量太大,速度太慢。在1988年,Y.Arai , T.Agui, and M.Nakajima提出的一种快速算法AAN算法后,极大地提高了离散余弦变换的速度。正是AAN算法的出现,才使离散余弦变换得以广泛应用。离散余弦变换是数字图像处理研究中的常用变换,它将图像数据由时域变换为频率域,然后再进行处理,在许多情况下能提高图像处理的速度。这是信息隐藏与数字水印研究工作的数学基础。用VC+开发图像的离散余弦正交变换程序,可以为进一步的信息隐藏3研究工作提供一个实验平台,为进一步开发信息隐藏工具软件提供必要的组件。1.2 意义此外,图像的正交变换被广泛地运用于图像特征提取、图像增强、图像复原、
12、图像压缩和图像识别等领域。正交变换是信号分析学科中的一个重要部分,它是计算机图像处理的前续课程。多年来,变换理论在图像处理 (频域法处理)中起着关键作用。本文将介绍对图像使用正交变换的离散余弦变换的过程。 正交变换是数字图像信息处理中的重要技术。目前,人们应用在图像信息隐藏、图像置乱中的技术主要基于时域(空间域),即根据图像像素点的坐标和颜色值的变化,达到隐藏或置乱的目的。这样的结果将使人们得到一幅杂乱无章的图像,使得破译者很容易发现这是经过加密的图像而去破译它。这使得正交变换尤为重要。图像变换在数字图像处理与分析中起着很重要的作用,是一种常用的、有效有分析手段。图像变换的目的在于:使图像处理
13、问题简化;有利于图像特征提取;有助于从概念上加强对图像信息的理解。离散余弦变换,经常被信号处理和图像处理使用,用于对信号和图像(包括静止图像和运动图像)进行有损数据压缩。这是由于离散余弦变换具有很强的“能量集中“特性:大多数的自然信号(包括声音和图像)的能量都集中在离散余弦变换后的低频部分,而且当信号具有接近马尔科夫过程(Markov processes)的统计特性时,离散余弦变换的去相关性接近于K-L变换Karhunen-Love 变换-它具有最优的去相关性)的性能。傅立叶变换是数字图像处理技术的基础,其通过在时空域和频率域来回切换图像,对图像的信息特征进行分析和提取,简化了计算工作量,被喻
14、为描述图像信息的第二种语言,广泛应用于图像变换,图像编码与压缩,图像分割,图像重建中,因此,深入研究和掌握傅立叶变换及其扩展形式的特性,是很有价值的。而从傅立叶变换的性质可知,当一函数为偶函数时,其傅立叶变换的虚部为零,因而不需计算,只计算余弦项变换,这就是余弦变换。因此余弦变换是傅立叶变换的特例,余弦变换是简化傅立叶变换的重要主法。近年来,余弦变换在压缩编码中得到广泛的应用。1.3 现状与发展在文献4中,离散余弦变换(DCT)用于图像编码是1974年由Ahmed和Rao提出的。对于离散余弦变换,尽管Shapiro的EZW以及Said等人的SPIHT小波编码的成功应用,对传统的DCT编码提出了
15、挑战,但Xiong等人利川嵌入式DCT块变换之间的直流相关性,以及对DCT后的系数进行策略性重组或层式DCT同样具有小波多分辨率图像的分解特性。此外,基于层次嵌入式DCT、形状自适应DCT,截短DCT,感兴趣Ix:域支撑DCT以及形态DCT等改进形式的编码,都是将基于DCT变换编码推向更高层次。就DCT改进的变换,以及DCT系数的应用,如利用DCT系数实现信息隐藏等,也使得基于常规的DCT变换编码有了更广阔的应)用与发展空间,是未来的发展方向。它的应用也挺广范的,例如,在静止图像编码标准JPEG中,在运动图像编码标准MJPEG和MPEG的各个标准中都使用了离散余弦变换。在这些标准制中都使用了二
16、维的第二种类型离散余弦变换,并将结果进行量化之后进行熵编码。这时对应第二种类型离散余弦变换中的n通常是8,并用该公式对每个8x8块的每行进行变换,然后每列进行变换。得到的是一个8x8的变换系数矩阵。其中(0,0)位置的元素就是直流分量,矩阵中的其他元素根据其位置表示不同频率的交流分类。离散余弦变换也经常被用来使用谱方法来接偏微分方程,这时候离散余弦变换的不同的变量对应着数组两端不同的奇/偶边界条件。离散余弦变换也经常被用来使用谱方法来接偏微分方程,这时候离散余弦变换的不同的变量对应着数组两端不同的奇/偶边界条件。2 系统总体设计对图像的正交变换的研究是一个具有很大意义的研究课题,它在许多方面都
17、有重要的应用。本文研究的离散余弦正交变换是其中的一个子部分,它们是最基本最重要的。本章对正交变换的介绍,不仅会让读者了解到图像变换的基础知识,还会让读者明白研究图像变换的实际意义。2.1 系统的开发环境面向对象程序设计(ObjectOriented Programming,OOP)5方法已出现近30年,在20世纪90年代已经成为程序设计的主流方向。面向对象程序设计语言是现代程序开发的工具,任何一个优秀的应用程序开发人员都必须至少熟悉一种面向对象的编程语言。采用C+来进行图象编程的主要原因是,与Java和C#等现代编程语言相比,C+在程序运行的效率、内存使用的可控性和编程的灵活性上具有优势。Vi
18、sual C+6.0为用户提供了一套良好的可视化开发环境,主要包括文本编辑器、资源编辑器、工程创造工具和Debugger调试器等。用户可以在集成环境中创建工程、打开工程,建立、打开和编辑文件,编译、链结、运行和调试应用程序。程序包含两类基本元素,即数据和操作数据的指令集(称为代码)。传统的程序设计语言以设计代码为核心,程序设计实际上是指定程序指令的先后顺序,数据表示必须适应代码的设计。模块化程序设计方法将完成某一功能的指令集组成一个相对独立的程序模块(即函数或过程),使得程序的结构清晰,便于有效的维护,对程序设计技术有很大的促进,随着程序规模的增大,各模块之间的相互影响导致一些难于测试,难以定
19、位发现问题,增加程序开发和维护的困难。面向对象程序设计方法就是在这种背景下出现和发展起来的。面向对象程序设计方法主要以数据为中心,代码是围绕着需要处理的数据而设计的。面向对象程序设计语言具有如下的特征:1.对象的类描述面向对象程序设计语言将程序描述的事情看成一个整体,称为对象,对象是包含数据和代码的完全独立的实体。同一类对象具有相同的性质和方法,每一个具体的对象都是类的一个实体,创建对象就是把类实例化。2.封装性封装性是OOP的核心技术,是面向对象程序语言将数据和处理数据的方法组合在类中,并具有模块化和信息隐藏的特征。类是一个独立的模块,类的内部状态描述数据对程序的其他部分是不可见的,类只向外
20、界公布其具有public属性的数据和代码,并构成类和外界的接口。外界不能直接对类进行修改,而只能通过这个接口把信息传给类,并由类定义对内部数据进行修改,外界不能决定这种修改的结果,只能得到类进行操作所得出的反应。封装性能防止类与外界的非法交互和访问,避免外界对对象内部状态的错误修改,确保类这一模块的真正的独立性,以保证程序的安全运行。3.多态性不同的类或对象对外界传入的相同信息能够根据自身的性质作出不同的反应,这就是多态性。不同的类或对象可以通过设计自己专有的处理外界传入信息的方法来实现多态性。4.继承性继承性是指一个类可以派生出的新的类。新类可以继承原类的定义的性质和方法,还能在原类定义的性
21、质和方法之外加入自身定义的性质和方法。通过继承性,能形成类之间的层次结构。2.2 系统开发的内容关于用VC+方法,实现图像的正交变换,包括离散余弦正交变换及其逆变换。由于采用了GDIPLUS方法对图像进行读取,所以图像格式可为jpg,bmp, gif,彩色和灰度图像均可,但是图像经读取之后,其数据全部转换成RGB色,灰度图像的R,G和B数据相同。通过本程序可以进行图像的正逆变换,变换矩阵的大小可选择,但均为2的N次方阶,在正变换同时保存图像频率域,及逆变换时所需的信息。逆变换也可以单独完成,即通过读文件得到相关参数,便可以直接进行图像逆变换,得到逆变换后的图像。得到的图像也可以和原来图像进行比
22、较。2.3 系统需要实现的功能本文所介绍的图像正交变换实现以下过程(图像格式为jpg,bmp, gif):a) 图像文件读写操作实现;b) 图像文件的显示实现; c) 离散余弦变换正逆变换;d) 保存正变换过程得到频率域参数(写入文本文件);e) 读文件,逆变换(读取文本文件)。2.4 GDI与GDI+基本介绍GDI在Windows中定义为Graphics Device Interface,即图形设备接口,是Windows API(Application Programming Interface)的一个重要组成部分。它是Windows图形显示程序与实际物理设备之间的桥梁,GDI使得用户无需关
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用VC+实现图像的离散余弦变换毕业设计论文 VC 实现 图像 离散 余弦 变换 毕业设计 论文
链接地址:https://www.31ppt.com/p-3988510.html