Как изменить тег ориентации EXIF (желательно с помощью PythonMagick)?
Я масштабирую и поворачиваю некоторые JPEG-файлы, используя PythonMagick. В идеале я мог бы обновить тег EXIF Orientation. Однако, хотя я могу получить значение этого тега, я не могу изменить его. Рассматривать:
from PythonMagick import Image
i = Image("image.jpg")
print i.attribute("EXIF:Orientation")
i.attribute("EXIF:Orientation", "5")
i.write("image-modified.jpg")
Запуск этого показывает оригинальную ориентацию вашего изображения:
exarkun@top:/tmp$ python broken.py
6
exarkun@top:/tmp$
И пока для начала не было 5, exiftool будет демонстрировать, что у нового файла не была изменена его ориентация:
exarkun@top:/tmp$ exiftool image.jpg | grep Orient
Orientation : Rotate 90 CW
exarkun@top:/tmp$ exiftool image-modified.jpg | grep Orient
Orientation : Rotate 90 CW
exarkun@top:/tmp$
Почему ImageMagick не записывает измененную ориентацию? Как я могу получить это?
1 ответ
Этот вопрос похож на: Exif библиотека манипуляций для Python
Также см.: Копирование и запись EXIF-информации с одного изображения на другое с помощью pyexiv2.
Вышесказанное предполагает использование pyexiv2 для чтения и записи данных exif. Я понимаю, что это не использование PythonMagick, а использование библиотеки Python "высокого уровня" для записи данных EXIF, и, по крайней мере, насколько я могу судить, это лучшее (только?) Решение в настоящее время.
Похоже, что ImageMagick способен, поэтому, возможно, кто-то может рассказать здесь о том, как это можно сделать с помощью Python; см.: Как добавить exif-данные в изображение?