数据压缩原理与应用 作业二

本文详细介绍了TGA图像文件的结构,包括文件头、图像/颜色表数据、开发者自定义区域、扩展区域和文件尾。文件头包含图像信息、颜色表类型和图像类型等关键字段,用于描述图像的基本信息。图像数据部分存储实际的图片信息。开发者区域和扩展区域则提供了额外的自定义和扩展功能。TGA文件尾部包含扩展区域和开发者字典的偏移量,用于验证文件格式并定位额外信息。
摘要由CSDN通过智能技术生成

TGA文件的解析和分析

一、TGA文件结构
TGA原始文件结构(v1.0)由以下两个部分组成:文件头图像/颜色表数据
TGA扩展文件结构(v2.0)由五部分组成:文件头、图像/颜色表数据、开发者自定义区域、扩展区域和文件尾
二、TGA文件每部分结构的含义
文件头(Tga File Header):由图像描述信息字段长度、颜色表类型、图像类型、颜色表说明和图像说明五个字段组成,总计18字节,描述了图像存储的基本信息,应用程序可依据该部分字段值读写图像数据。

图像/颜色表数据(Image/Color Map Data):由图像描述信息(可选)、颜色表数据和图像数据三部分组成,用于存储图片的图像信息。

开发者自定义区域(Developer Area):包含开发者定义字段列表和开发者字典(用于存储开发者定义字段的值),该区域为开发者扩展该文件格式提供接口,以便存储额外的信息。

扩展区域(Extension Area):由扩展区域大小、作者姓名、作者注释、日期/时间、工作名称/ID、工作累计耗时、编辑软件的名称、编辑软件的版本、关键颜色、像素宽高比、灰度值、颜色校正表偏移量、缩略图偏移量、扫描线表偏移量、alpha通道类型、扫描线表、缩略图图像数据和颜色校正表组成,为Truevision公司定义的标准扩展功能,以提供更多的图像附加信息。

文件尾(TGA File Footer):由扩展区域偏移量、开发者目录偏移量和TGA文件扩展格式签名三部分组成,用于验证TGA文件扩展格式,并可以确定扩展区域和开发者字典的位置。
三、TGA文件结构分析
①TGA文件头:
图像信息字段长度(ID length)– 字段1(1个字节):
这个字段规定了包含在字段6(Image ID字段)中的字节数,最大的字符数是255,它的值为0,则表示在这个文件中没有图像信息字段。
颜色表类型(Color Map Type) – 字段2(1个字节):
当前已定义的有两个值0或者1,0 表示没有颜色表(color map),1 表示颜色表存在。
图像类型(Image Type) – 字段3(1个字节):
在这里插入图片描述
颜色表规约(Color Map Specification) – 字段 4(5字节):
这个字段和它的子字段描述图像中使用的颜色表,如果颜色表类型字段为0,则表示不存在颜色表,则5个字节应该被设置为0,这些字节需要写入文件中。
字段4.1(2字节)颜色表首地址(First Entry Index):
字段4.2(2字节)颜色表长度(Color map Length):
字段4.3(1个字节)颜色表表项大小(Color map Entry Size):
图像规约(Image Specification) – 字段 5(10个字节):
字段5.1(2个字节) – 图像X位置的起始位置
字段5.2(2个字节) –图像Y位置的起始位置
字段5.3(2个字节) –图像宽度
字段5.4(2个字节) –图像高度
字段5.5(1个字节) –像素深度
字段5.6(1个字节) –图像描述符:0-3位,规定了每个像素属性位的数量;4-5位,这些位用于表示像素数据从文件发送到屏幕的顺序,位4表示从左到右,位5表示从上到下
在这里插入图片描述
图中选中部分为文件头(18字节)
IDLength=0,说明该文件的Image ID段不存在,没有图像信息字段;
Color Map Type=0,表明该文件没有颜色表;
Image Type=2,说明该文件使用的是未压缩的真彩色图像;
Color Map Specification=0,该文件没有颜色表也就没有颜色表规约;
Image Specification=00 00 00 00 2A 00 2A 00 20 08,X起始位置为0,Y起始位置为0,图像宽度为42,图像高度为42,像素深度为32,图像坐标原点位置在左下角,每个像素属性位的数量为8
②图像/颜色表数据
在这里插入图片描述
图像数据为7056字节
③开发者区域
开发者字段的尺寸和格式完全是由开发者规定的,读取包含这些信息的文件时,完全可以忽略它们,除非理解这些内容。
④ 拓展区域
该拓展区域用于满足一些开发者对额外信息的需求,该区域的位置也是通过保存在TGA文件注脚中的偏移量来确定的。
⑤ TGA文件注脚
最后26个字节表示文件注脚:
Bytes 0-3:拓展区域偏移量
Bytes 4-7:开发者区域偏移量
Bytes 8-23:签名
Byte 24:ASCII码”.”
Byte 25:二进制数0x00
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值