Файлы JPEG (сжатые изображения) начинаются с маркера изображения, который всегда содержит шестнадцатеричные значения кода маркера FF D8 FF. В него не встроена длина файла, поэтому нам нужно найти трейлер JPEG, который является FF D9.
См. Документацию, используя ссылку на эту страницу .
Например, открытие изображения в формате JPEG с помощью шестнадцатеричной программы просмотра (например, Hex Viewer * 1008) *), вы должны увидеть что-то вроде этого:
Решение : Другими словами, попробуйте добавить заголовок к файл перед сохранением его в формате JPEG, вы должны решить вашу проблему.
Страница с документацией API находится здесь здесь . Следуя do c, вы должны найти правильную инструкцию, которая заставляет вас указать формат для сохранения (как указано @Meto в ответе).
Заключение: решение просто указывает формат, когда вы физически запишите образ на жесткий диск:
imageio.imwrite(uri, im, format=None, **kwargs)
в вашем случае format=jpg
.
Более того,
imageio.show_formats()
Показать красиво отформатированный список доступных форматов .
В заключение просто попробуйте заменить
imageio.imwrite(output_path, image)
на
imageio.imwrite(output_path, image, format ='jpg' )
Обратите внимание , что решение всегда одинаково в каждом ответе , Я только что добавил, что происходит с указанием формата (т.е. просто пишет правильный заголовок).