在 Python 中读取 tiff 图像元数据

新手上路,请多包涵

如何从 Python 中的 TIFF 图像读取元数据(如坐标)?我从 PIL 尝试了 foo._getexif() ,但收到了消息:

AttributeError: ‘TiffImageFile’ 对象没有属性 ‘_getexif’

是否可以通过 PIL 获得它?

原文由 Filipe Vargas 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答
from PIL import Image
from PIL.TiffTags import TAGS

with Image.open('image.tif') as img:
    meta_dict = {TAGS[key] : img.tag[key] for key in img.tag.iterkeys()}

_getexif() 仅适用于 JPEG。 JPEG 需要解包元数据,而 TIFF 不需要。也就是说,PIL 不会天真地读取 Exif 标签或目录(不太直接)TIFF 元数据。

原文由 Martin 发布,翻译遵循 CC BY-SA 3.0 许可协议

ExifRead 会做你想要的事情。尝试:

 import exifread
# Open image file for reading (binary mode)
f = open('image.tif', 'rb')

# Return Exif tags
tags = exifread.process_file(f)

# Print the tag/ value pairs
for tag in tags.keys():
    if tag not in ('JPEGThumbnail', 'TIFFThumbnail', 'Filename', 'EXIF MakerNote'):
        print "Key: %s, value %s" % (tag, tags[tag])

原文由 Landini135 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题