У меня есть поток данных, поступающий с устройства, и мне нужно преобразовать его в формат JPEG, а затем закодировать с помощью base64, чтобы передать его по сети.
Мой код Python 2.7 до сих пор выглядит так:
from PIL import Image
import io
image = Image.open(io.BytesIO(self.imagebuffer)) # Image buffer contains the image data from the device.
image.save("test.jpg") # Writes the image to the disk in jpeg format
image.show() # Opens the image using the OS image view
Я вижу, что у меня есть изображение, которое я хочу, и могу сохранить его на диск в формате JPEG.
Что я не понимаю, так это то, могу ли я с помощью base64 кодировать изображение из объекта image
или мне нужно сначала записать его на диск. Я хотел бы, если возможно, не писать.
Второй вопрос, который у меня есть, что PIL
делает в этом процессе? Это берет данные и помещает требуемые специальные коды в файл, чтобы сделать его файлом JPEG? Я думаю, что ответ на этот вопрос будет да , так как я могу изменить расширение файла на .bmp
и правильный файл будет записан на диск.
Итак, можно ли получить версию jpeg-файла в кодировке base64 из объекта image
без предварительной записи на диск?