如何比较带有37680(0x9330)标签字段的TIFF文件?
如何比较带有37680(0x9330)标签字段的TIFF文件?
看起来你遇到的情况是两个TIFF文件大小完全一致,用tiffcmp对比时只弹出关于未知标签37680(0x9330)的警告,却没有报告任何图像内容的差异——这个标签其实就是微软的MSPropertySetStorage(OLE属性集存储),属于TIFF的扩展元数据,很多TIFF工具对它的支持有限,所以才会出现警告。
先给你梳理下当前的情况:
- 从
ls -l的结果来看,两个文件的字节数完全相同,说明整体数据差异极小; tiffcmp不管加不加-l或-t参数都没有输出图像目录的差异,这意味着图像的像素数据、标准TIFF标签都是完全一致的,唯一的区别大概率就是这个37680标签里的元数据。
如果你想确认这一点,或者需要更清晰地对比差异,可以试试下面的方法:
方法1:移除未知标签后再对比
用tiffset工具移除其中一个文件的37680标签,然后再用tiffcmp对比,就能看到是否真的只有这个标签不同:
# 移除f1.tif中的37680标签 tiffset -u 37680 f1.tif # 再次对比 tiffcmp f1.tif f2.tif
如果这次没有警告也没有差异输出,就说明两个文件的核心图像内容完全一致,仅这个扩展元标签不同。
方法2:用exiftool对比元数据差异
如果想具体看看这个标签里的内容差异,可以用exiftool导出所有元数据(包括未知标签),再用diff对比:
exiftool -a -u -g1 f1.tif f2.tif | diff -u -
这个命令会列出两个文件所有元数据的差异,包括那个37680标签里的具体内容,能帮你精准定位不同之处。
总结一下:你的两个TIFF文件的图像内容是相同的,差异仅存在于微软的扩展元数据标签中,用上面的方法就能验证或查看具体差异啦。
备注:内容来源于stack exchange,提问作者AlMa1r
相关产品推荐
相关产品推荐

