尝试查看 中的 tif 图像文件时feh,将打印以下一对错误消息stderr:
TIFFReadDirectory: Warning, Unknown field with tag 37553 (0x92b1) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 37554 (0x92b2) encountered.
Run Code Online (Sandbox Code Playgroud)
TIFFReadDirectory是一个 C 库,错误消息是不言自明的 ( manpage )。不幸的是,我找不到有关相关标签号(37553、37554)的太多信息。这些标签指定了什么?我可以建立对他们的支持TIFFReadDirectory吗?问题在于它们会阻止在feh图像查看器中查看文件时的功能,特别是将视口设置从一个图像锁定到另一个的能力。
背景
TIFF 文件格式是一种容器格式,容器中的项目具有特定长度和标识 TAG。如何解释这些项目取决于 TAG,它们的完整列表在 Aldus 文档中指定,并且有供应商特定的扩展,其中一些在@slm 指向的列表中,但此列表并不详尽。
feh, 应该能够忽略带有未知 TAG¹ 的项目。TIFF 规范是 6.0 版,从 1992 年开始,因此读取文件格式的方面应该很容易。
feh更有可能在一些普通标签中出现数据问题,例如尝试以随机访问模式访问压缩数据,或不支持(压缩)平铺图像数据。此类问题以前曾在 Internet 上报告过,尽管这似乎也与具有未知标签的文件有关。TIFF 6.0 已经支持图像数据的 LZW 压缩,并不是所有的阅读程序都支持。通常可以从压缩的 TIFF 转换为非压缩的 TIFF(并返回)。我们曾经拥有自己的转换器,因为没有一个可用的程序支持我们优化光线跟踪程序所需的压缩平铺格式。
如何继续
您应该尝试使用gimp读取文件并将它们写入非压缩。AFAIKgimp使用libtiff(您可能必须安装对该格式的支持作为插件)。并feh使用libim2. 在“扩展”之前和之后的文件上
使用以检查是否删除了其他任何内容。tiffinfogimp
要做的另一件事是检查相机是否支持保存为不同 TIFF 文件格式(压缩/非压缩等)的设置,尝试这样做可能会帮助您发现未知标签仍然存在,但文件变得可用。当然,这对您处理这些有问题的文件没有帮助。
¹我创建了带有非注册标签的 TIFF 文件,只有我们自己的软件才能解释。我们使用的其他软件忽略这一点没有问题,那是 21 年前。
² 这不是因为技术困难,而是因为版权限制,就像在应用程序中支持 GIF 文件可能存在问题一样。
我发现这个页面描述了一些标签。
它对标签的描述如下:
扩展 TIFF 标签是作为 TIFF 功能一部分列出的标签,根据 TIFF 规范,可能并非所有 TIFF 阅读器都支持这些标签。
下面继续显示标签值表。这两个标签都不包含在内,这可能是问题所在,某些图像应用程序生成了您尝试使用仅该工具特有的标签查看的 TIFF 文件,并且不属于 TIFF 规范的一部分。

如果您浏览该网站,您会发现您还可以搜索特定标签。你提到的这两个都没有列出来。常见问题解答也值得浏览。它涵盖了 TIFF 的工作原理,特别是这个问题可能会有所帮助: