如何使用 Python 将自定义元数据写入 JPEG?
我试过
import piexif
exif_dict = {
'uwi': myvalue1,
'activity_type': myvalue2,
'prediction': myvalue3,
'url_current': myvalue4,
'url_previous': mavalue5
}
exif_bytes = piexif.dump(exif_dict)
with open(filename, "w") as fp:
test_image.save(fp, "JPEG", exif=exif_bytes)
Run Code Online (Sandbox Code Playgroud)
但在图像中什么也看不到 XnView。我究竟做错了什么?
PS我不需要写相机模型,曝光和其他东西。我想编写自己的自定义元数据。
我使用piexif更改jpeg上的exif来读写exif数据,这似乎工作正常。问题是,当我读写jpeg时,即使不更改字节,它也会保存具有不同像素的图片和读取的图片。我需要它是完全相同的像素。我了解这是因为jpeg是有损格式,但是我发现它的唯一方法是将其保存为png,然后使用Mac Preview将其导出为jpeg,这不好,因为我有数百张图片。
def adjust_img(path):
img = PIL.Image.open(path)
exif_dict = piexif.load(img.info['exif'])
new_exif = adjust_exif(exif_dict)
exif_bytes = piexif.dump(new_exif)
pc = path.split('/')
stem = '/'.join(pc[:-1])
img.save('%s/_%s' % (stem,pc[-1]), "JPEG", exif=exif_bytes, quality=95, optimize=False)
Run Code Online (Sandbox Code Playgroud)
如何保存图片并仅更改exif?