web-dev-qa-db-fra.com

Comment modifier les données EXIF ​​en python

J'essaie d'éditer/modifier les métadonnées existantes dans Python 2.7. Plus précisément, j'ai mes coordonnées GPS dans mes métedonnées, mais le champ d'altitude est incorrect. Y a-t-il un moyen de changer cela?

J'ai jeté un œil à PILpiexifpyexif, mais je n'arrive pas à trouver le moyen de modifier les champs existants.

Quelqu'un a-t-il réussi à le faire? Cela semble très simple, mais je n'arrive pas à résoudre le problème.

Cordialement Dave

6
D.Griffiths
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)% certaines valeurs sont enregistrées dans un format fractionnaire. Cela signifie que 550m, (51, 2) serait 25,5m. 

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

Cela règle l'altitude à 140m

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

Réponse tardive, mais vous pouvez utiliser GPSPhoto , i.e .:

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')

Installation:

pip install GPSPhoto
0
Pedro Lobito