【发布时间】:2021-01-30 23:33:09
【问题描述】:
我正在尝试在 python 2.7 中编辑/修改现有元数据。更具体地说,我的元数据中有 GPS 坐标,但是高度字段不正确。有没有办法改变这种情况?
我看过PILpiexifpyexif,但我似乎找不到修改现有字段的方法。
有没有人设法做到这一点?听起来很简单,但我似乎无法解决。
【问题讨论】:
标签: python metadata python-imaging-library exif
我正在尝试在 python 2.7 中编辑/修改现有元数据。更具体地说,我的元数据中有 GPS 坐标,但是高度字段不正确。有没有办法改变这种情况?
我看过PILpiexifpyexif,但我似乎找不到修改现有字段的方法。
有没有人设法做到这一点?听起来很简单,但我似乎无法解决。
【问题讨论】:
标签: python metadata python-imaging-library exif
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)
【讨论】:
迟到的答案,但您可以使用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
【讨论】: