我编写了一个python 3 CLI工具来修复库中照片的创建日期(参见here。
我使用Pillow加载并保存图像和piexif来处理exif数据检索/修改。
我遇到的问题是我只想更改图片中的EXIF数据而不是重新压缩整个图像。似乎Pillow save不能那样做。
我的问题是:
谢谢!
以下是我目前用于更改创建日期的代码:
# Get original exif data
try:
exif_dict = piexif.load(obj.path)
except (KeyError, piexif._exceptions.InvalidImageDataError):
logger.debug('No exif data for {}'.format(obj.path))
return
# Change creation date in exif_dict
date = obj.decided_stamp.strftime('%Y:%m:%d %H:%M:%S').encode('ascii')
try:
exif_dict['Exif'][EXIF_TAKE_TIME_ORIG] = date
except (KeyError, piexif._exceptions.InvalidImageDataError):
return
exif_bytes = piexif.dump(exif_dict)
# Save new exif
im = Image.open(obj.path)
im.save(obj.path, 'jpeg', exif=exif_bytes)
答案 0 :(得分:1)
在你的情况下,我认为不需要使用Pillow。
exif_bytes = piexif.dump(exif_dict)
piexif.insert(exif_bytes, obj.path)