Преобразование PIL изображения в массив байтов? У меня есть изображение в формате изображения PIL. Мне нужно преобразовать его в массив байтов. img = Image.open(fh, mode='r') roiImg = img.crop(box) Теперь мне нужен roiImg как массив байтов. Ответ 1 Спасибо всем за вашу помощь. Наконец-то это разрешилось!! import io img = Image.open(fh, mode='r') roiImg = img.crop(box) imgByteArr = io.BytesIO() roiImg.save(imgByteArr, format='PNG') imgByteArr = imgByteArr.getvalue() С этим мне не нужно сохранять обрезанное изображение на моем жестком диске, и я могу получить массив байтов из обрезанного изображения PIL. Ответ 2 Это мое решение. Пожалуйста, используйте эту функцию. from PIL import Image import io def image_to_byte_array(image:Image): imgByteArr = io.BytesIO() image.save(imgByteArr, format=image.format) imgByteArr = imgByteArr.getvalue() return imgByteArr
Ответ 1 Спасибо всем за вашу помощь. Наконец-то это разрешилось!! import io img = Image.open(fh, mode='r') roiImg = img.crop(box) imgByteArr = io.BytesIO() roiImg.save(imgByteArr, format='PNG') imgByteArr = imgByteArr.getvalue() С этим мне не нужно сохранять обрезанное изображение на моем жестком диске, и я могу получить массив байтов из обрезанного изображения PIL.
Ответ 2 Это мое решение. Пожалуйста, используйте эту функцию. from PIL import Image import io def image_to_byte_array(image:Image): imgByteArr = io.BytesIO() image.save(imgByteArr, format=image.format) imgByteArr = imgByteArr.getvalue() return imgByteArr