Cómo modificar datos EXIF ​​en python

Estoy tratando de editar / modificar los metadatos existentes en Python 2.7. Más específicamente tengo coordenadas de GPS en mis metedatos, sin embargo, el campo de altitud es incorrecto. ¿Hay alguna manera de cambiar esto?

He piexif un vistazo a PIL piexif pyexif , pero parece que no puedo encontrar una manera de modificar los campos existentes.

¿Alguien ha logrado hacer esto? Parece que sería muy simple, pero parece que no puedo resolverlo.

Saludos Dave

 import piexif from PIL import Image img = Image.open(fname) exif_dict = piexif.load(img.info['exif']) altitude = exif_dict['GPS'][piexif.GPSIFD.GPSAltitude] print(altitude) 

(550, 1)% algunos valores se guardan en un formato fraccionario. Esto significa que 550m, (51, 2) serían 25,5m.

 exif_dict['GPS'][piexif.GPSIFD.GPSAltitude] = (140, 1) 

Esto establece la altitud a 140m.

 exif_bytes = piexif.dump(exif_dict) img.save('_%s' % fname, "jpeg", exif=exif_bytes) 

Respuesta tardía, pero puedes usar GPSPhoto , es decir:

 from GPSPhoto import gpsphoto photo = gpsphoto.GPSPhoto("photo.jpg") # Create GPSInfo Data Object # info = gpsphoto.GPSInfo((38.71615498471598, -9.148730635643007)) # info = gpsphoto.GPSInfo((38.71615498471598, -9.148730635643007), timeStamp='2018:12:25 01:59:05')''' info = gpsphoto.GPSInfo((38.71615498471598, -9.148730635643007), alt=83, timeStamp='2018:12:25 01:59:05') # Modify GPS Data photo.modGPSData(info, 'new_photo.jpg') 

Instalación:

 pip install GPSPhoto