TIFF图像文件格式详解
来源:互联网 发布:欧阳娜娜家庭 知乎 编辑:程序博客网 时间:2024/06/05 07:08
1 什么是TIFF?
TIFF是Tagged Image File Format的缩写。在现在的标准中,只有TIFF存在, 其他的提法已经舍弃不用了。做为一种标记语言,TIFF与其他文件格式最大的不同在于除了图像数据,它还可以记录很多图像的其他信息。它记录图像数据的方式也比较灵活, 理论上来说, 任何其他的图像格式都能为TIFF所用, 嵌入到TIFF里面。比如JPEG, Lossless JPEG, JPEG2000和任意数据宽度的原始无压缩数据都可以方便的嵌入到TIFF中去。由于它的可扩展性, TIFF在数字影响、遥感、医学等领域中得到了广泛的应用。TIFF文件的后缀是.tif或者.tiff
2 TIFF文件结构
TIFF文件中的三个关键词是:图像文件头Image File Header(IFH), 图像文件目录Image File Directory(IFD)和目录项Directory Entry(DE)。每一幅图像是以8字节的IFH开始的, 这个IFH指向了第一个IFD。IFD包含了图像的各种信息, 同时也包含了一个指向实际图像数据的指针。
IFH的构成:
Byte 0-1: 字节顺序标志位, 值为II或者MM。II表示小字节在前, 又称为little-endian。MM表示大字节在前,又成为big-endian。
Byte 2-3: TIFF的标志位,一般都是42
Byte 4-7: 第一个IFD的偏移量。可以在任意位置, 但必须是在一个字的边界,也就是说必须是2的整数倍。
IFD的构成(0代表此IFD的起始位置):
Byte 0-1: 表示此IFD包含了多少个DE,假设数目为n
Byte 2-(n*12+1): n个DE
Byte (n*12+2)-(n*12+5): 下一个IFD的偏移量,如果没有则置为0
DE的构成:
Byte 0-1: 此TAG的唯一标识
Byte 2-3: 数据类型。
Byte 4-7: 数量。通过类型和数量可以确定存储此TAG的数据需要占据的字节数
Byte 8-11: 如果占用的字节数少于4, 则数据直接存于此。 如果超过4个,则这里存放的是指向实际数据的指针
可以用以下的图来表示(图来自http://www.cppblog.com/windcsn/archive/2009/03/12/1158.html)
在TIFF6.0中,定义了12种数据类型,分别是:
1 = BYTE 8-bit unsigned integer.
2 = ASCII 8-bit byte that contains a 7-bit ASCII code; the last byte
must be NUL (binary zero).
3 = SHORT 16-bit (2-byte) unsigned integer.
4 = LONG 32-bit (4-byte) unsigned integer.
5 = RATIONAL Two LONGs: the first represents the numerator
6 = SBYTE An 8-bit signed (twos-complement) integer.
7 = UNDEFINED An 8-bit byte that may contain anything, depending on
the definition of the field.
8 = SSHORT A 16-bit (2-byte) signed (twos-complement) integer.
9 = SLONG A 32-bit (4-byte) signed (twos-complement) integer.
10 = SRATIONAL Two SLONG’s: the first represents the numerator of a
fraction, the second the denominator.
11 = FLOAT Single precision (4-byte) IEEE format.
12 = DOUBLE Double precision (8-byte) IEEE format.
-个TIFF文件可能包含多个IFD,每一个IFD都是一个子文件。Baseline解码器只要求解第一个IFD所对应的图像数据。扩展的TIFF图像经常包含多个IFD,每一个IFD都包含了不同的信息。
3 本文后续可能会涉及到的内容
(1) 重要的基本TAG
(2) 重要的扩展TAG
(3) 重要的私有TAG
(4) TIFF/EP以及DNG
(5) TIFF相关的软件
(6) TIFF目前的局限及未来的发展
- TIFF图像文件格式详解
- TIFF图像文件格式详解
- TIFF图像文件格式详解
- TIFF图像文件格式详解
- TIFF图像文件格式详解
- TIFF图像文件格式详解(1)
- TIFF图像文件格式详解(2)
- TIFF图像文件格式详解(3)
- TIFF图像文件格式详解(4)
- TIFF图像文件格式详解(5)
- TIFF图像文件格式分析
- TIFF图像文件详解
- 常见图像文件格式详解
- TIFF图像文件分析
- 平面设计常用图像文件格式详解
- 图像文件格式
- 图像文件格式
- 图像文件格式
- 读两个故事一定弄懂“云计算”
- kindeditor 插件开发
- 叶中泪的伤感日志:现实的残酷,让我心痛欲绝
- 什么是自然大小调?1=C 4/4是什么意思?
- 人人网笔试题(技术类)
- TIFF图像文件格式详解
- 获取位图属性(大小什么的
- windows下配置svn服务器。
- 使用vld(visual leak detector)进行内存泄露调试
- Html Helper类中TextBoxFor绑定日期格式化的方法
- 转义字符引发的血案(hive、bash)
- 各学科领域入门书籍推荐
- Android实现推送方式解决方案
- nor flash 和nand flash 区别