Метод сохранения Python PIL поворачивает изображение
У меня возникла небольшая проблема с сохранением изображения с помощью PIL. В моем Django проекте у меня есть следующий save метод:
from PIL import Image
class Photo:
image = models.ImageField(verbose_name='Photos', upload_to='media/date/photos/', help_text='Photo')
def save(self, *args, **kwargs):
super(Photo, self).save(*args, **kwargs)
image = Image.open(self.image)
image.save(self.image.path)
Итак, здесь я открываю изображение с помощью PIL и просто сохраняю его по пути по умолчанию. Но похоже, что в зависимости от EXIF-данных (метаданных) изображения PIL поворачивает изображение перед сохранением.
Например, я сфотографировал человека (держал телефон вертикально, как обычно), а когда сохранил фотографию, она повернулась на 90 градусов влево. В чем здесь может быть дело? Это работает только если Ориентация была вертикальной, с горизонтальными снимками ничего плохого не происходит. Пожалуйста, помогите и заранее огромное спасибо!
Оригинальное изображение, Сохраненное изображение
Ответ на свой собственный пост. Ребята, мне только что пришла идея использовать OpenCV вместо PIL. Это работает очень хорошо для меня, не происходит вращения изображений и все загружается правильно. Надеюсь, это поможет вам. Удачи!