У меня есть матрица numpy
с данными типа np.uint8
, которую я хочу преобразовать в .jpg
изображение, не сохраняя его в виде файла.
Я хочу иметь возможность настроить сжатие и прочитать полученный размер в байтах / битах этого .jpg
файла.
Возможно ли это?
Пока что я попробовал следующее, но не знаю, как настроить сжатие и как получить результирующий размер файла .jpg
:
from PIL import Image
from io import BytesIO
import numpy as np
n=100
I_np = np.random.randint(0,255,size=(n,n),dtype=np.uint8)
I = Image.fromarray(I_np)
with BytesIO() as f:
I.save(f, format='JPEG')