在Python中,如何读取图像的exif数据?
我正在使用PIL。 如何将EXIF数据转换为字典?
尝试这个:
import PIL.Image img = PIL.Image.open('img.jpg') exif_data = img._getexif()
这应该给你一个由EXIF数字标签索引的字典。 如果您想要由实际EXIF标签名称string索引的字典,请尝试如下所示:
import PIL.ExifTags exif = { PIL.ExifTags.TAGS[k]: v for k, v in img._getexif().items() if k in PIL.ExifTags.TAGS }
您也可以使用ExifRead模块:
import exifread # Open image file for reading (binary mode) f = open(path_name, 'rb') # Return Exif tags tags = exifread.process_file(f)
我使用这个:
import os,sys from PIL import Image from PIL.ExifTags import TAGS for (k,v) in Image.open(sys.argv[1])._getexif().iteritems(): print '%s = %s' % (TAGS.get(k), v)
或得到一个特定的领域:
def get_field (exif,field) : for (k,v) in exif.iteritems(): if TAGS.get(k) == field: return v exif = image._getexif() print get_field(exif,'ExposureTime')