web-dev-qa-db-ja.com

pythonでEXIFデータを変更する方法

python 2.7内で既存のメタデータを編集/変更しようとしています。具体的には、メテダにGPS座標がありますが、標高フィールドが正しくありません。これを変更する方法はありますか?

PILpiexifpyexifを確認しましたが、既存のフィールドを変更する方法が見つからないようです。

誰かがこれをどうにかしてできましたか?とてもシンプルなようですが、うまくいかないようです。

乾杯デーブ

15
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)%一部の値は小数形式で保存されます。つまり、550m(51、2)は25,5mになります。

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

これは高度を140mに設定します

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

遅い答えですが、 GPSPhoto を使用できます。つまり、

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

インストール:

pip install GPSPhoto
1
Pedro Lobito