问题描述
我在寻找最佳 Pythonic 方式来检查 TIF(或 TIFF)类型的文件是否与 PNG 完全相同时遇到问题。
我目前有一个程序可以将 GeoTIFF 文件转换为 PNG 格式并保持相同的尺寸。我想测试转换是否正确进行以及 TIF/TIFF 和 PNG 是否等效。
解决方法
您可以使用 imagehash 来检查图像的相似性:
from PIL import Image
import imagehash
hash1 = imagehash.average_hash(Image.open('image_tiff.tiff'))
hash2 = imagehash.average_hash(Image.open('image_png.png'))
if hash1 - hash2 < 6:
print('Similar')
else:
print('Not Similar')
值“6”类似于两个图像之间可以不同的最大位数的阈值。由于 Pillow 完全支持 TIFF 和 PNG 格式,因此打开这些文件应该不会有问题。