В телеграмм боте при отправке файла(фото) бот переворачивает фото
Сперва вот код Бота
@bot.message_handler(content_types=['document'])
def get_docs(message):
file_info = bot.get_file(message.document.file_id)
downloaded_file = bot.download_file(file_info.file_path)
src = 'photos/' + message.document.file_name
with open("photos/document.png", 'wb') as new_file:
new_file.write(downloaded_file)
keyboard = types.InlineKeyboardMarkup()
button_update = types.InlineKeyboardButton(text="Улучшение", callback_data="update")
button_bwt = types.InlineKeyboardButton(text="Ч\Б Фильтр", callback_data="bwt")
keyboard.add(button_update, button_bwt)
bot.reply_to(message, 'Что будем делать?',reply_markup=keyboard)
# Кнопки
@bot.callback_query_handler(func=lambda call:True)
def answer(call):
# Что будет происходить после нажатие на "Ч\Б Фильтр"
if call.data == 'bwt':
# Цветность( делаем 0 для получении эффекта черно\белое)
imageb = Image.open('photos/documentbw.jpg')
esh = ImageEnhance.Color(imageb)
color = 0
imageb_color = esh.enhance(color)
imageb_color.save('photos/documentbw.jpg')
# Автоконтраст мелких точек
km = Image.open("photos/documentbw.jpg")
PIL.ImageOps.autocontrast(km, cutoff=0, ignore=None).save("photos/documentbw.jpg")
# Отправка фото
verjnakan = open('photos/documentbw.jpg', 'rb')
chat_id=call.message.chat.id
testik = bot.send_document(chat_id, verjnakan)
bot.edit_message_text(text=testik)
При отправке файла почему-то переворачивает изображение
Вот что происходит у пользователя

Первый файл (который был отправлен через телефон(Самсунг Так как у других производителях такого нету)
Второй файл уже был через онлайн конвертор конвертирован в формат .jpg а потом отправлен
А вот эти файлы (может поможет в данной ситуации)
ДОПОЛНЕНИЕ
Попробовал в питоне перевернуть через Image.rotate на 360 градусов потом сохранить (не помогло)
Попробовал сменить формат на .png (не помогло)
Через Pillow тоже попробовал конвертировать потом сохранить тоже (не помогло)
Ответы (1 шт):
Решено!
Добрый вечер вчера была проблема связанной с ориентацией картинки (бот автоматический переворачивает фото потом отправляет)
Помог в данной ситуации Pillow с модулем ImageOps
Вот сам код который возвращает файл в том виде в котором была отправлена пользователем
from PIL import Image , ImageOps
photo = Image.open("директория вашей фотографии")
ImageOps.exif_transpose(photo).save('где будет сохранить')