图像编码的设计与实现
--基于BMP图像文件的图像压缩存储技术
摘要:一幅图像含有巨大的信息。因此,图像的存储需要一个巨大的存储空间。由于计算机等设备存储空间的有限,这就导致一些图像不能较好的存储;同时,由于图像信息具有大量的冗余度---如时间冗余,空间冗余,结构冗余,知识冗余,视觉冗余等,如果完全存储图像信息,这就浪费了存储空间,降低了存储空间的使用效率。为了解决这些问题,我们就要利用图像的冗余度对图像数据进行压缩存储,从而达到利用少量的空间存储具有巨大信息量的图像的要求。
本文以BMP格式图像为例,在VisualC 6.0的MFC编程环境下,系统介绍了图像压缩存储的全过程。由于是基于BMP的图像处理,本文首先介绍了BMP图像文件的格式,因为它是所有图像处理工作的基础。接下来简单介绍了VisualC 6.0编程环境,使读者对〖本文来自:毕业设计论文网www.paper51.com〗其有个了解。最后是对BMP图像数据的具体处理。本文主要完成的工作是:BMP文件的读取与显示;BMP文件的位图数据的压缩;压缩数据的解压缩及图像再现。采用的压缩算法是无失真的霍夫曼编解码原理。
为了方便读者的理解,本文对完成上述工作时要注意的问题以及一些处理方法的具体过程作了详细的介绍。在附录中有具体的源程序,希望对读者有些帮助。
关键词:图像压缩,图像编码,图像存储,霍夫曼编码,BMP文件格式
Designingandrealizingofthepicture’scoded
---ThecompressingandsavingtechnologyoftheBMPpicture
AbstractApicturecontainsenormousinformation.So,thememoryofthepictureneedsanenormousmemoryspace.Becausesuchequipmentmemoryspacesasthecomputerarelimited,sosomepicturecan'tbesavedbetter;Meanwhile,becausetheinformationofthepicturehasalargeamountofredundancydegrees–suchastimeisredundant,thespaceisredundant,thestructureisredundant,knowledgeisredundant,thevisionisredundant,etc.ifallofthepicture’sinformationissaved,thismustwastemorememoryspaceandreducedtheserviceefficiencyofthememoryspace.Inordertosolvetheseproblems,wewillutilizeredundancydegreeofthepicturetocompressstoringtopicturedatasoon,thusreachthedemandforutilizingasmallamountofspacetostorethepicturewithenormousamountofinformation.
ThistexttakesBMPformpictureasanexample.SystemintroducesthepictureandcompressesthewholecourseofstoredsystematicallyunderMFCprogrammingenvironmentsofVisualC 6.0.ThistextintroducesBMPformfirstbecauseitisafoundationoftheworkoftreatmentofallpictures.AndthenthistextintroducesVisualC 6.0brieflyprogrammingenvironmentsinordertomakereadersunderstandtoit.AndthelastistheconcretetreatmentofBMPpicturedata.theworksofthistextfinishesmainly:ThereadingandshowingofBMPfile;CompressionofthelocationpicturedataofBMPfile;Thedecompressionandpicturewhichcompressthedataarereproduced.ThecompressionalgorithmthatadoptedisprincipleofHuffman.
Forfacilitateunderstandingofreader,someproblemsandsometreatmentconcretecourseofmethodinthistextaredetailedintroductioninfinishingabove-mentionedworkthistext.Thereareconcretesourceprogramsintheappendixtohelpsomereaders.
Keywordspicturecompressed,picturecode,tpicturestored,Huffman'scode,BMPfile’slayout
目录
引言1
第一章图像的基础知识2
1.1图像压缩的必要性与可能性2
1.2图像压缩实现方法2
1.3图像压缩技术的指标2
1.4熵编码的基本原理3
1.5二叉树4
1.5.1二叉树的相关概念4
1.5.2二叉树的性质4
1.5.3二叉树的存储结构5
1.6霍夫曼树6
1.6.1霍夫曼树概念及其性质6
1.6.2霍夫曼编码原理6
第二章、VisualC 6.0编程基础7
2.1VisualC 6.0集成开发环境8
2.1.1集成开发环境主框架8
2.2使用AppWizard生成应用程序11
2.2.1生成应用程序框架11
2.2.2应用程序的类和源文件13
第三章、BMP图像及其文件格式14
3.1BMP图像简介14
3.2BMP图像格式15
3.2.1位图文件头结构15
3.2.2位图信息头结构15
3.2.3位图信息头相关定义具体介绍16
3.2.4彩色表的定位18
3.2.5两种图像数据压缩方法----BI_RLE8和BI_RLE419
3.2.6调色板20
3.2.7位图数据21
第四章、BMP图像压缩的实现21
4.1BMP文件的读取与显示21
4.1.1读取与显示的实现思想21
4.1.2MFC中具体的实现过程23
4.2BMP图像数据压缩23
4.2.1图像数据的定位23
4.2.2图像数据的压缩与存储的基本思想及解决方法24
4.3解压缩及图像再现27
4.3.1霍夫曼树的建立28
4.3.2解压缩和图像再现28
总结讨论30
致谢31
参考文献32
附录ABMP图像的打开函数33
附录BopenimagefileView.h和openimagefileView.cpp源代码34
附录C霍夫曼编码头文件40
附录D对话框函数44
附录E解码头文件49
参考文献
[1]张维谷.图象文件格式--Windows编程.北京:清华大学出版社
[2]张旭东,卢国栋,冯健.图像编码基础和小波压缩技术.北京:清华大学出版社,2004
[3]曾文曲,文有为,孙炜.分形小波与图像压缩.沈阳:东北大学出版社,2002193页
[4]沈兰荪.图像编码与异步传输.北京:人民邮电出版社
[5](日)原岛博.图像信息压缩.北京:科学出版社2004
[6]丁贵广、计文平、郭宝龙.VisualC 6.0数字图像编码.北京:机械出版社,2004(1)
[7]李于剑.VisualC 实践与提高—图形图像编程篇.北京:中国铁道出版社2001(1)
[8]严蔚敏,吴伟民.数据结构.北京:清华大学出版社,1994(1):121~156