如何解析第二个 ifd 表的偏移量(tiff 文件)

How do I parse the offset to the second ifd table (tiff files)

提问人:Mergen Studios 提问时间:10/12/2023 更新时间:10/12/2023 访问量:35

问:

对于一个项目,我正在编写一个解析器,它只应该从图像文件中提取一个 exif 标签(出于效率原因,最终它应该从 ~3.5 mil 图像中解析 DateTimeOriginal 标签)我已经弄清楚了如何解析 tiff 标头和标签形成第一个 ifd 表。但是现在我被困在需要将偏移量获取到下一个 ifd 表的点上。 我在互联网上搜索了一下,找到了 SubIFD 和 InteroperabilityOffset 标签,但我能找到的只是相互矛盾的信息。Adobe的官方文档如下:

“图像文件目录 (IFD) 由目录条目数的 2 字节计数(即字段数)组成,后跟 12 字节字段序列 条目,后跟下一个 IFD 的 4 字节偏移量(如果没有,则为 0)。(别忘了 在最后一个 IFD 之后写入 0 的 4 个字节。

但是,当使用 hext 编辑器查看我自己的一些图像时,我找不到该偏移量,第一个 ifd 表后面的四个字节只指向图像数据中间的一些虚假地址,或者甚至不存在的地址,因为文件不是那么大。现在我的问题是:这里有什么我忽略的吗?也许我错过了一些关于偏移量如何工作或它们存储在哪里的细节?

PS:我确实考虑过字节顺序,所以这不是问题所在

图像 tiff exif ifd

评论


答: 暂无答案