ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:27.83KB ,
资源ID:21777851      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21777851.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图像编解码技术及应用Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图像编解码技术及应用Word格式文档下载.docx

1、2.BI_RLE8压缩方法:在WINDOWS的位图文件中采用了这种压缩方法。该压缩方法编码也是以两个字节为基本单位。其中第一个字节规定了用第二个字节指定的颜色重复次数。 如编码 0504表示从当前位置开始连续显示5个颜色值为04的像素。当第二个字节为零时第二个字节有特殊含义:0表示行末;1表示图末;2转义后面2个字节, 这两个字节分别表示下一像素相对于当前位置的水平位移和垂直位移。这种压缩方法所能压缩的图像像素位数最大为8位(256色)图像。3.BI_RLE压缩方法: 该方法也用于WINDOWS位图文件中,它与 BI_RLE8编码类似,唯一不同是:BI_RLE4的一个字节包含了两个像素的颜色,

2、因此,它只能压缩的颜色数不超过16的图像。因而这种压缩应用范围有限。4.紧缩位压缩方法(Packbits):该方法是用于Apple公司的Macintosh机上的位图数据压缩 方法, TIFF 规范中使用了这种方法, 这种压缩方法与BI_RLE8压缩方法相似,如1c1c1c2132325648 压缩为:83 1c 21 81 32 56 48,显而易见, 这种压缩方法最好情况是每连续128个字节相同,这128个字节可压缩为一个数值7f。这种方法还是非常有效的。二、霍夫曼编码压缩:也是一种常用的压缩方法。是1952年为文本文件建立的,其基本原理是频繁使用的数据用较短的代码代替,很少使用的数据用较长

3、的代码代替,每个数据的代码各不相同。这些代码都是二进制码,且码的长度是可变的。如: 有一个原始数据序列,ABACCDAA则编码为A(0),B(10),C(110),(D111),压缩后为010*。产生霍夫曼编码需要对原始数据扫描两遍,第一遍扫描要精确地统计出原始数据中的每个值出现的频率,第二遍是建立霍夫曼树并进行编码,由于需要建立二叉树并遍历二叉树生成编码,因此数据压缩和还原速度都较慢,但简单有效,因而得到广泛的应用。三、LZW压缩方法 LZW压缩技术比其它大多数压缩技术都复杂, 压缩效率也较高。其基本原理是把每一个第一次出现的字符串用一个数值来编码,在还原程序中再将这个数值还成原来的字符 串

4、,如用数值0x100代替字符串abccddeee这样每当出现该字符串时,都用0x100代替,起到了压缩的作用。 至于0x100与字符串的对应关系则是在压缩过程中动态生成的,而且这种对应关系是隐含在压缩数据中,随着解压缩的进行这张编码表会从压缩数据中逐步得到恢复,后面的压缩数据再根据前面数据产生的对应关系产生更多的对应关系。直到压缩文件结束为止。LZW是可逆的, 所有信息全部保留。四、算术压缩方法 算术压缩与霍夫曼编码压缩方法类似,只不过它比霍夫曼编码更加有效。算术压缩适合于由相同的重复序列组成的文件,算术压缩接近压缩的理论极限。这种方法,是将不同的序列映像到0到1之间的区域内,该区域表示成可变

5、精度(位数 )的二进制小数,越不常见的数据要的精度越高(更多的位数),这种方法比较复杂,因而不太常用。五、JPEG( 联合摄影专家组 Joint Photographic Exprerts Group) JPEG标准与其它的标准不同,它定义了不兼容的编码方法,在它最常用的模式中,它是带失真的,一个从JPEG文件恢复出来的图像与原始图像总是不同的,但有损压缩重建后的图像常常比原始图像的效果更好。JPEG的另一个显著的特点是它的压缩比例相当高,原图像大小与压缩后的图像大小相比,比例可以从1到8090不等。 这种方法效 果也好,适合多媒体系统。介绍完了压缩算法,我们来简要介绍一下三种位图格式的异同和

6、它们之间的相互转换。2.1 BMP:图象文件就是描绘了一幅图象的计算机磁盘文件。形成数字图象数据后,将其存储在计算机里的方法有2种,即位映射和向量处理方式。我们这里主要讨论的是位图。不同图象软件几乎都用各种的方法处理图象,图象格式也多种多样,它主要包括文件识别头和图象数据。文件识别头用来让计算机判断是哪种文件格式,图象数据包含了整个对图象描绘相关数据,包括调色板、位图映象等。根据压缩算法不同,映象方式也不同,下面简要介绍一下压缩算法。位图文件头:包含BMP图象文件的类型、显示内容等信息。typedef struct tagBITMAPFILEHEADER WORD bfType; / 位图文件

7、的类型,必须为BM DWORD bfSize; 位图文件的大小,以字节为单位 WORD bfReserved1; 位图文件保留字,必须为0 WORD bfReserved2;DWORD bfOffBits; / 位图数据的起始位置,以相对于位图文件头的偏移量表示 BITMAPFILEHEADER;0x0000H - 0x0001H 2 BYTES 文件标识 基本上就是BM0x0002H - 0x0005H 4 BYTES 表示整个文件的大小 字节顺序是否固定 little_Endian or big_Endian?0x0006H - 0x0009H 4 BYTES 保留 必须设置为00x000

8、AH - 0x000DH 4 BYTES 位图数据的偏移量 从文件开始计算位图信息数据结构由BITMAPINFOHEADER和RGBQUAD两个数据结构组成 接下来为位图信息头: typedef struct tagBITMAPINFOHEADER DWORD biSize; 本结构所占用字节数 LONG biWidth; 位图的宽度,以像素为单位 LONG biHeight; 位图的高度,以像素为单位 WORD biPlanes; 目标设备的级别,必须为1 WORD biBitCount / 每个像素所需的位数,必须是1(双色),/ 4(16色),8(256色)或24(真彩色)之一 DWOR

9、D biCompression; / 位图压缩类型,必须是0(不压缩), / 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一 DWORD biSizeImage; 位图的大小,以字节为单位 LONG biXPelsPerMeter; 位图水平分辨率,每米像素数 LONG biYPelsPerMeter; 位图垂直分辨率,每米像素数 DWORD biClrUsed; 位图实际使用的颜色表中的颜色数 DWORD biClrImportant; 位图显示过程中重要的颜色数 BITMAPINFOHEADER; 其中BITMAPINFOHEADER数据结构包含了有关BMP图象的宽、高、压

10、缩方法等信息。0x000EH - 0x0011H 4 BYTES 位图信息头的长度大小 整个结构的大小,可能会增加字段,所以需要读取该值0x0012H - 0x0015H 4 BYTES 位图宽度 单位像素0x0016H - 0x0019H 4 BYTES 位图高度还有另一个用处,就是指明该图像是倒向的位图,还是正向的位图。如果该值是一个正数,图像是倒向的,如果该值是一个负数,图像是正向的。当高度值是一个负数时(正向图像)图像将不能被压缩,压缩方式不能是BI_RLE8或BI_RLE4。0x001AH - 0x001BH 2 BYTES 位图的位面数 总是10x001CH - 0x001DH 2

11、 BYTES 每个像素的位数 值为1 4 8 16 24 320x001EH - 0x0021H 4 BYTES 压缩方式(0 不压缩 BI_RGB 1 RLE-8压缩,8位RLE压缩 BI_RLE8 每个象素8比特的RLE压缩编码,压缩格式由2字节组成 2 RLE-4压缩,4位RLE压缩 BI_RLE4 每个象素4比特的RLE压缩编码,压缩格式由2字节组成 3 Bitfields位域存放方式 BI_BITFILEDS 每个象素的比特由指定的掩码决定)0x0022H - 0x0024H 4 BYTES 位图数据大小 必须是4的整数倍,说明图象的大小,以字节为单位。当用BI_RGB格式时,可设置

12、为0。0x0026H - 0x0029H 4 BYTES 水平分辨率 对于设备无关图 ,设置成为00x002AH - 0x002DH 4 BYTES 垂直分辨率 对于设备无关图 ,设置成为0typedef struct tagRGBQUAD BYTE rgbBlue; 蓝色的亮度(值范围为0-255) BYTE rgbGreen; 绿色的亮度(值范围为0-255) BYTE rgbRed; 红色的亮度(值范围为0-255) BYTE rgbReserved; 保留,必须为0 RGBQUAD; 0x002EH - 0x0031H 4 BYTES 使用的颜色数 说明位图实际使用的颜色表中的颜色索引

13、数,设为0的话,则说明使用所有调色板项,如果有调色板,则大小等于2VALUE(0x001CH - 0x001DH) 16位及以上位图不使用颜色表。0x0032H - 0x0035H 4 BYTES 重要的颜色数 指定重要的颜色数, 一般设置为0,表示所有的颜色一样重要 如果设置的不等于0或者颜色数,就只有这么多值数据结构RGBQUAD定义一种颜色。位图阵列:位图阵列记录了图象的每一个象素值。从图象的左下角开始逐行扫描图象。从左到右,从上到下,将图象的象素值逐一记录下来,这些记录象素值的字节组成了位图阵列。位图阵列数据的存储格式有压缩和非压缩两种格式。1 非压缩格式 位图中的每一个点的象素值对应

14、与位图阵列的若干位,而位图阵列的若干位由图象的高度、宽度及图象的颜色数决定。2 压缩格式 在bmp格式文件中,Windows支持BI-RLE8和BI-RLE4两种压缩类型的存储格式。图象数据:BMP图象数据的存储顺序是由下而上(图象上下颠倒存储),而图象的宽度(以字节为单位)必须是4的倍数。如果不足4的倍数必须补足。虽然BMP图象数据有BI_RLE8和BI_RLE4两种压缩格式,但是使用很少。BI_RLE8和BI_RLE4(RunLength压缩):二者的差别在于前者以8位为一个处理单位,后者以4位为一个处理单位。解压缩时,每次读取2字节数据(BYTE1 , BYTE2)BYTE1!= 0x0

15、 BYTE1为数据重复值,将BYTE2重复BYTE1次BYTE1=0x00,BYTE2=0x00表示此扫描线结束(end of line)BYTE1=0x00, BYTE2=0x01表示文档结束(end of file)BYTE1=0x00, BYTE2=0x02坐标位移指示,表示后面两个字节分别是指下一个像素位置与目前像素位置的水平和垂直位移数值。BYTE1=0x00, BYTE2=0x030xFF BYTE2为数据读取值。连续读取BYTE2个字节的数据,而BYTE2必须是2的整数倍,否则必须补足。 例:一段压缩数据(BI_RLE8)如下:0x03 0x04 0x05 0x06 0x00 0

16、x03 0x45 0x56 0x67 0x00 0x02 0x78 0x00 0x02 0x05 0x01 0x02 0x78 0x00 0x00 0x04 0x1E 0x00 0x01BYTE1 BYTE20x03 0x04 0x04 0x04 0x04 0x05 0x06 0x06 0x06 0x06 0x06 0x06 0x00 0x03 (0x45 0x56 0x67 0x00) 0x45 0x56 0x67 0x02 0x78 0x78 0x78 0x00 0x02 (0x05 0x01) 右移5点,下移一点 0x02 0x78 0x78 0x78 0x00 0x00 End of

17、line 0x04 0x1E 0x1E 0x1E 0x1E 0x1E 0x00 0x01 End of file 一段压缩数据(BI_RLE4)如下: 0x03 0x04 0x05 0x06 0x00 0x03 0x45 0x60 0x04 0x63 0x03 0x78 0x00 0x02 0x05 0x01 0x03 0x78 0x00 0x00 0x05 0xD4 0x00 0x01 0x03 0x04 0x00 0x04 0x00 0x05 0x06 0x00 0x06 0x00 0x06 0x00 0x00 0x03 (0x45 0x60) 0x04 0x05 0x06 0x04 0x

18、63 0x06 0x03 0x06 0x03 0x03 0x78 0x07 0x08 0x07 0x00 0x02 (0x05 0x01)右移5点,下移一点 0x03 0x78 0x07 0x08 0x07 0x00 0x00 End of line 0x05 0xD4 0x0D 0x05 0x0D 0x05 0x0D 0x00 0x01 End of file紧跟在彩色表之后的是图象数据字节阵列。图象的每一扫描行由表示图象象素的连续的字节组成,每一行的字节数取决于图象的颜色数目和用象素表示的图象宽度。扫描行是由底向上存储的,这就是说,阵列中的第一个字节表示位图左下角的象素,而最后一个字节表示

19、位图右上角的象素。(只针对与倒向DIB,如果是正向 DIB,则扫描行是由顶向下存储的),倒向DIB的原点在图像的左下角,而正向DIB的原点在图像的左上角。同时,每一扫描行的字节数必需是4的整倍数,也就是DWORD对齐的。如果你想确保图像的扫描行DWORD对齐,可使用下面的代码:(width*biBitCount)+31)5)2起始地址为:(如果该部分存在的话)sizeof(第一部分) + sizeof(第二部分)读取位图文件的时候第一部分应该不变,需要根据第二部分的0x000EH-0x0011H的值大小来确定第二部分的数据大小。整个区域的大小:N * 4 BYTES 4个字节依次表示BGRA,

20、 编程中是RGBA 这里是little_Endian具体大小依赖很多数值VALUE(0x000AH - 0x000DH)具体每个像素的表示方法,依赖0x001CH - 0x001DH每个像素的位数 0x001EH - 0x0021H压缩方式 0x002EH - 0x0031H颜色表大小0x001CH - 0x001DH 每个像素的位数biBitCount=1 表示位图最多有两种颜色,缺省情况下是黑色和白色,你也可以自己定义这两种颜色。图像信息头装调色板中将有两个调色板项,称为索引0和索引1。图象数据阵列中的每一位表示一个象素。如果一个位是0,显示时就使用索引0的RGB值,如果位是1,则使用索引

21、1的RGB值。biBitCount=4 表示位图最多有16种颜色。每个象素用4位表示,并用这4位作为彩色表的表项来查找该象素的颜色。例如,如果位图中的第一个字节为0x1F,它表示有两个象素,第一象素的颜色就在彩色表的第2表项中查找,而第二个象素的颜色就在彩色表的第16表项中查找。此时,调色板中缺省情况下会有16个RGB项。对应于索引0到索引15。biBitCount=8 表示位图最多有256种颜色。每个象素用8位表示,并用这8位作为彩色表的表项来查找该象素的颜色。例如,如果位图中的第一个字节为0x1F,这个象素的颜色就在彩色表的第32表项中查找。此时,缺省情况下,调色板中会有256个RGB项,

22、对应于索引0到索引255。biBitCount=16 表示位图最多有216种颜色。每个色素用16位(2个字节)表示。这种格式叫作高彩色,或叫增强型16位色,或64K色。它的情况比较复杂,当 biCompression成员的值是BI_RGB时,它没有调色板。16位中,最低的5位表示蓝色分量,中间的5位表示绿色分量,高的5位表示红色分量,一共占用了15位,最高的一位保留,设为0。这种格式也被称作555 16位位图。如果biCompression成员的值是BI_BITFIELDS,那么情况就复杂了,首先是原来调色板的位置被三个DWORD变量占据,称为红、绿、蓝掩码。分别用于描述红、绿、蓝分量在16位

23、中所占的位置。在Windows 95(或98)中,系统可接受两种格式的位域:555和565,在555格式下,红、绿、蓝的掩码分别是:0x7C00、0x03E0、0x001F,而在565格式下,它们则分别为:0xF800、0x07E0、0x001F。你在读取一个像素之后,可以分别用掩码“与”上像素值,从而提取出想要的颜色分量(当然还要再经过适当的左右移操作)。在NT系统中,则没有格式限制,只不过要求掩码之间不能有重叠。biBitCount=24 表示位图最多有224种颜色。这种位图没有调色板,在位数组中,每3个字节代表一个象素,分别对应于颜色R、G、B。biBitCount=32 表示位图最多有

24、232种颜色。这种位图的结构与16位位图结构非常类似,当biCompression成员的值是BI_RGB时,它也没有调色板,32位中有24位用于存放RGB值,顺序是:最高位保留,红8位、绿8位、蓝8位。这种格式也被成为888 32位图。如果 biCompression成员的值是BI_BITFIELDS时,原来调色板的位置将被三个DWORD变量占据,成为红、绿、蓝掩码,分别用于描述红、绿、蓝分量在32位中所占的位置。在Windows 95(or 98)中,系统只接受888格式,也就是说三个掩码的值将只能是:0xFF0000、0xFF00、0xFF。而在NT系统中,你只要注意使掩码之间不产生重叠就行。(注:这种图像格式比较规整,因为它是DWORD对齐的,所以在内存中进行图像处理时可进行汇编级的代码优化(简单)。 4 BYTES 使用的颜色数 指定实际使用的颜色数目。如果设置成0,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1