类中,外界只能通过类的成员函数来操作类的成员数据。这是面向对象方法的重要优点,它可以保护类中的数据不受外部的意外修改。但是,过分"纯粹"的数据封装,需要付出降低程序效率代价。特别在设计像CDIB类这样需要大量使用Win32API函数的类时,这种缺陷特别突出。因为操作DIB的API函数大多需要一些DIB的属性作为参数。如果硬要将这些属性封装起来,则需要在类中重新实现许多Win32API函数。这不但要花费很大的精力,而且还可能因此而产生错误和低效。所以,在设计CDIB时应采用既尽可能保证数据的封装,又能保证效率的提高。
2.6.2 构造CDIB类
根据以上的分析,创建CDIB类,其接口文件和实现文件分别为Dib.h和Dib.cpp。文件Dib.h包含了CDIB类的类声明有关的所有信息。
2.7 本章小结
本章对图像压缩和数据冗余、数字图像基本概念、VC++软件平台、及其编码压缩技术做了简要介绍,对最新的几种压缩算法原理和步骤进行了简要说明。
第3章 图像压缩技术编码的算法研究
3.1 哈弗曼编码
根据信息论中信源编码理论,当平均码长R大于等于图像熵H时,总可设计出一种无失真编码。当平均码长大于图像熵时,表明该编码方法效率很低;当平均码长等于或很接近于(但不大于)图像熵时,称此编码方法为最佳编码,此时不会引起图像失真;当平均码长小于图像熵时,压缩比较高,但会引起图像失真。在变长编码中,如果码字长度严格按照对应符号出现的概率大小逆序排列,但其平均码字长度为最小,这就是变长最佳编码定理。变长最佳编码定理是哈夫曼编码的理论基础。
3.1.1 哈弗曼编码基本原理
哈弗曼(Huffman)编码是一种常用的压缩编码方法,是Huffman于1952年为压缩文本文件建立的,是一种效率比较高的变长无失真信源编码方法。它的基本原理是频繁使用的数据用较短的代码代替,较少使用的数据用较长的代码代替,每个数据的代码各不相同。
由于哈夫曼编码是以信源概率分布
上一篇:
基于vc++开放可编程网络控制件和转发件之间通信毕业论文(2003doc)
下一篇:
超市进销存管理系统的开发