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