【图像处理】tiff格式介绍

一、TIFF 文件格式介绍

TIFF(Tagged Image File Format)是一种灵活的、适用于多种应用程序的图像存储格式。它不仅能描述扫描仪、图像采集卡及各类图像软件产生的图像数据,还通过统一的图像描述方式,为不同设备间的图像数据交换提供了便利。TIFF 定义了丰富的图像描述字段,但并非所有字段都是必需的,既适配复杂设备产生的图像,也能满足简单设备的图像存储需求。

二、TIFF 文件结构

TIFF 文件主要由三部分组成:文件头(IFH, Image File Header)文件目录(IFD, Image File Directory)图像数据(Image Data),各部分分工明确、有机结合。

2.1 文件头(IFH)

  • 大小:固定 8 个字节
  • 核心作用:标识文件存储方式、验证文件类型、定位文件目录(IFD)位置
  • 详细内容
字节范围 内容说明
0~1 字节 存储标识 IIMM: - II:小端存储(低位字节存低地址,高位字节存高地址) - MM:大端存储(低位字节存高地址,高位字节存低地址)
2~3 字节 固定值 42(十进制),用于校验文件是否为 TIFF 格式
4~7 字节 IFD 地址偏移量:指向 IFD 在文件中的存储位置,便于快速定位

2.2 文件目录(IFD)

  • 核心作用:通过一系列字段(field entries)描述图像属性(如图像宽高、分辨率、压缩方式等)
  • 结构细节
字节范围 内容说明
0~1 字节 字段数量:表示用于描述图像的属性种类数,支持用户自行扩展
后续 N×12 字节 每个属性占 12 字节,具体结构如下: - 0~1 字节:属性标签(Tag),标识字段类型(如宽度、高度、分辨率等) - 2~3 字节:数据类型(Type),如短整型(short)、长整型(long)、有理数型(rational)等 - 4~7 字节:数据个数(Count),表示该字段包含的数值数量 - 8~11 字节:属性值(Value/Offset),可能是直接存储的数值,也可能是指向数值存储位置的地址偏移量
最后 4 字节 下一个 IFD 地址:若文件包含多张图像,指向后续 IFD 位置;仅单张图像时,值为 0

2.3 图像数据(Image Data)

  • 存储位置:无固定位置,可位于 IFH 与 IFD 之间,也可在 IFD 之后;支持连续存储或分散存储
  • 存储形式:可压缩或未压缩,压缩方式由 IFD 中的相关字段指定

三、TIFF 内容示意图说明

3.1 结构关系示意


  • IFH 固定位于文件开头,通过偏移量直接关联 IFD;
  • IFD 中的每个字段通过标签和数据类型,精准描述图像的一项属性;
  • 图像数据与 IFD 通过字段中的偏移量建立关联,无论存储位置如何,都能被准确读取。

3.2 具体示例示意

假设某单图像 TIFF 文件的核心结构分布:

  1. 0~7 字节(IFH):II 42 00 00 00 14(小端存储,IFD 偏移量为 20 字节)
  2. 20~31 字节(IFD):00 05 ...(包含 5 个图像属性字段)
    • 字段 1(12 字节):标签 0100(图像宽度)、数据类型 SHORT、数据个数 1、值 03E8(1000 像素)
    • 字段 2(12 字节):标签 0101(图像高度)、数据类型 SHORT、数据个数 1、值 0258(600 像素)
    • 其余 3 个字段:分别描述分辨率、压缩方式、像素格式
  3. 后续字节(图像数据):未压缩的 RGB 像素数据,按 IFD 字段定义的格式存储

四、总结

TIFF 文件格式的核心优势在于 灵活性与扩展性

  • 支持大端/小端两种存储方式,适配不同硬件架构;
  • 图像描述字段可按需选择,既满足简单图像的轻量化存储,也能承载复杂图像的详细属性;
  • 支持多种压缩方式和自定义字段扩展,广泛适配扫描、打印、图像编辑等不同应用场景。

正是这些特性,让 TIFF 成为图像存储与交换领域的经典格式,至今仍被广泛应用。

更多资料:https://github.com/0voice

相关推荐
青瓷程序设计1 小时前
动物识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
金智维科技官方2 小时前
RPA财务机器人为企业高质量发展注入动能
人工智能·机器人·rpa·财务
沫儿笙2 小时前
安川机器人tag焊接怎么节省保护气
人工智能·物联网·机器人
2501_941147422 小时前
人工智能赋能智慧教育互联网应用:智能学习与教育管理优化实践探索》
人工智能
阿龙AI日记2 小时前
详解Transformer04:Decoder的结构
人工智能·深度学习·自然语言处理
爱写代码的小朋友2 小时前
“数字镜像”与认知负能者:生成式AI个性化学习支持者的协同构建与伦理规制研究
人工智能
找方案2 小时前
新型智慧城市城市大数据应用解决方案
人工智能·智慧城市
K***72843 小时前
开源模型应用落地-工具使用篇-Spring AI-Function Call(八)
人工智能·spring·开源
Chat_zhanggong3454 小时前
K4A8G165WC-BITD产品推荐
人工智能·嵌入式硬件·算法
霍格沃兹软件测试开发4 小时前
Playwright MCP浏览器自动化指南:让AI精准理解你的命令
运维·人工智能·自动化