PythonのTIFF画像から、座標などのメタダを読み取るにはどうすればよいですか? PILからfoo._getexif()
を試しましたが、次のメッセージが表示されました。
AttributeError: 'TiffImageFile'オブジェクトに属性 '_getexif'がありません
PILでそれを取得することは可能ですか?
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メタデータを読み取りません。
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])