- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二.读取tiff/tif文件
1.tiff/tif文件结构:
1.tiff/tif文件结构:
TIF图由四部分构成:图像文件头(IFH),图像文件目录(IFD),目录入口(DE),图像数据;
IFH数据结构包含3个成员共计8个字节。
第一个成员Byte order可能是“MM”(0x4d4d)或“II”(0x4949),0x4d4d表示该TIFF图是摩托罗拉整数格式 0x4949表示该图是Intel整数格式;当Byte order为”MM”时,则之后的由16或32位数组成的数据都是从高字节到低字节顺序存储的,如果为”II”,则字节存储顺序相反;
第二个成员Version总是包含十进制42(0x2a),它用于进一步校验该文件是否为TIF格式,实际上,42这个数大概永远不会变化;
第三个成员是第一个IFD相对文件开始处的偏移量(最小为8,因为IFH结构已经占据8bytes)。
IFD是TIF图中最重要的数据结构,它包含了一个TIF文件中最重要的信息,一个TIF图可能有一个或多个IFD,这说明文件中有一个或多个图像,每个IFD标识1个图像的基本属性。 IFD结构中包含了三类成员。
第一类(个)成员Directory Entry Count(2bytes)指出该结构里面有多少个目录入口;
第二类成员就是N个线性排列的DE(12bytes)序列,数量不定(这就是 为什么称TIF格式文件为可扩充标记的文件,甚至用户可以添加自定义的标记属性),每个DE标识了图像的某一个属性;
最后就是一类(个)偏移量(4bytes), 标识下一个文件目录相对于文件开始处的位置,当然,如果该TIF文件只包含了一幅图像,那么就只有一个IFD,显然,这个偏移量就等于0;
DE共12字节,一个DE就是一幅图像的某一个属性。例如图像的大小、相对位置(条带偏移量)、分辨率、是否压缩、像素的行列数、一个像素由几位表示(1位代表黑白两色,8位代表256色等等)等。
其中前两个字节是标记码tag(2bytes)。公用标记码是大于254(十六进制FE)的标记码,最大是321(141H)。大于32768(8000H)的是私有码。tag成员是该属性的编号,在图像文件目录中,它是按照升序排列的。我们可以通过读这些编号,然后到TIF格式官方白皮书中查找相应的含义。属性是用数据来表示的,那么type(2bytes)就是代表着该数据的类型,TIF官方指定的有5种数据类型。
1=BYTE 8比特无符号整型。
2=ASXII 8比特的字节,存储7比特的ASCII码;最后
一个字节必须是NUL(二进制0)。
3=SHORT 16比特(2字节)无符号整型。
4=LONG 32比特(4字节)无符号整型。
5=RATIONAL 两个LONG型:第一个代表一个分数的分子,第二个是分母。
ASCII部分的长度的值包含NUL。如果有必要填充,长度将不会包含
填充部分。需要说明的是没有像Pascal风格的字符串那样的出始长度字节。
任何ASCII域可能包含多个字符串,每个以一个NUL结束。一个单独的字符串在从我任何可能的时候都是最好的。多重字符串域的长度是域中所有字符串加上它们结尾的NUL的字节数。在两个字符串中只能有一个NUL,所以跟在第一个字符串后的字符串经常在奇数个字节处开始。 读取程序必须检查类型来证实它包含了期望的值。TIFF格式在某些域中目前允许不只一种的有效类型。例如,图像宽度和图像高度通常指明是SHORT类型。但是行数多于64000的图像必须用LONG类型在域类型中。TIFF读取程序对于无符号整型来说应该接受BYTE,SHORT和LONG类型的值。这允许一个单独的程序来读取任何整型值,使阅读更强大,在某些情况下还节省磁盘。
在TIFF6.0中,一些新的字段类型已经定义:
6=SBYTE 一个8比特的有符号整数;
7=UNDEFINED 一个8比特的字节,有可能存储任何类型,取决于该字段的定义。
8=SSHORT 一个16比特(2字节)的有符号整数。
9=SLONG 一个32比特(四字节)的有符号整数。
10=SRATIONAL 两个SLONG型:第一个是分数的分子,第二个是分母。
11=FLOAT 单精度(四字节)IEEE类型。
12=DOUBLE 双精度(八字节)IEEE类型。
这些新字段类型也受TIFF文件头中字节顺序(II或MM)的制约。
Length(4bytes)成员是数据的数量而不是数据类型的长度(长度为sizeof(type)*length)。 第4个成员valueOffset(4bytes)很重要,它是tag标识的属性代表的变量值相对文件开始处的偏移量。如果变量值占用的空间(长
您可能关注的文档
- 电气材料规格学习.doc
- 电气地工程概论全试卷集.docx
- 电气检修规程(500MW发电机).doc
- 电气接地电阻测试记录簿(统表).doc
- 电气控制课程报告材料.doc
- 电气试验取证习的题目.doc
- 电气专业施工图设计管控要点(强、弱电).doc
- 电器设备维修地原则.doc
- 电容器损耗角分解.doc
- 电商部门内部整改拟定.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)