python - extract metadata from image
En Python, ¿cómo leo los datos exif de una imagen? (3)
Prueba esto:
import PIL.Image
img = PIL.Image.open(''img.jpg'')
exif_data = img._getexif()
Esto debería darle un diccionario indexado por etiquetas numéricas EXIF. Si desea que el diccionario esté indexado por las cadenas de nombre de etiqueta EXIF reales, pruebe algo como:
import PIL.ExifTags
exif = {
PIL.ExifTags.TAGS[k]: v
for k, v in img._getexif().items()
if k in PIL.ExifTags.TAGS
}
Estoy usando PIL. ¿Cómo convierto los datos EXIF en un diccionario de cosas?
También puede usar el módulo ExifRead :
import exifread
# Open image file for reading (binary mode)
f = open(path_name, ''rb'')
# Return Exif tags
tags = exifread.process_file(f)
Yo uso esto:
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)
o para obtener un campo específico:
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'')