2017-01-07 7 views
1

Я знаю, что PILLOW может преобразовать изображение из jpg в png с помощью метода save, но есть ли способ конвертировать изображение в другой формат и просто сохранить его как объект Image, не сохранив его в качестве другого файла?Как конвертировать изображение с подушкой временно?

Так что я хочу преобразовать предоставленное пользователем изображение в общий формат для работы с программой, потому что некоторые инструменты, которые я использую, поддерживают только png.

+0

Нельзя хранить изображения в другое время. Вы должны сохранить его в отдельном формате, а затем обратиться к новому местоположению для дальнейшей обработки. –

ответ

2

jpg и png - это просто методы сжатия для сохранения изображения в файл. Изображение как объект - это всего лишь массив RGB (или любого другого цветового пространства/формата, используемого библиотекой, которую вы использовали для чтения файла), значения всех пикселей.

Технически вы можете использовать объект изображения в качестве общего формата для работы с другими инструментами. Но вам нужно помнить о цветовом пространстве, которое используется каждой библиотекой. Например, OpenCV рассматривает объект изображения в формате BGR, поэтому вам нужно преобразовать объект изображения в этот формат, прежде чем использовать его в OpenCV.

+0

Итак, как я могу это сделать? Я также намерен отображать изображение в своем приложении на графическом дисплее qt, который, как я слышал, принимаю только pngs –

+0

У меня нет опыта работы с qt, но после немногому поиску я обнаружил, что это действительно возможно. Пройдите через [это] (http://stackoverflow.com/a/28291210/4765857). Кроме того, можете ли вы указать мне на документ, который говорит, что графический дисплей _qt принимает только pngs_? –

+0

Извините, мне кажется, что я получил это из другого вопроса о переполнении стека, и я не помню, какой из них. Мне удалось несколько решить мою проблему в нескольких случаях, протестировав режим изображения для RGB, а затем преобразовывая его в RGBA с помощью Image.convert(), он работает в некоторых случаях, в основном jpg. Я ничего не знаю об изображениях, поэтому я собираюсь сказать, что, возможно, для графических дисплеев Qt требуется определенное цветовое пространство (?) –

 Смежные вопросы

  • Нет связанных вопросов^_^