I have a numpy matrix with data of type np.uint8 which I want to convert into a .jpg image without saving it as a file.
I want to be able to adjust the compression and to read the resulting size in bytes / bits of that .jpg file.
Is that possible?
So far I tried the following, but do not know how to adjust the compression and how to get the resulting size of the .jpg file:
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')