Изменять данные EXIF ​​в JPEG без изменения изображения - PullRequest
0 голосов
/ 29 ноября 2018

Я изменяю exif на jpeg, используя piexif для чтения и записи данных exif, что, кажется, работает нормально.Проблема в том, что когда я читаю и записываю JPEG, даже если я не меняю байты, он сохраняет изображение с разными пикселями и изображение, которое было прочитано.Мне нужно, чтобы это были точно такие же пиксели.Я понимаю, что это потому, что jpeg - это формат с потерями, но я нашел единственный способ сохранить его как png, а затем экспортировать как jpeg с Mac Preview, что не очень хорошо, потому что у меня есть сотни изображений,

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)

Как мне сохранить изображение и просто изменить exif?

1 Ответ

0 голосов
/ 30 ноября 2018

https://piexif.readthedocs.io/en/latest/functions.html

exif_dict = piexif.load(path)
new_exif = adjust_exif(exif_dict)
exif_bytes = piexif.dump(new_exif)
piexif.insert(exif_bytes, path)
...