Ho this image con dimensioni 128 x 128 pixel e RGBA memorizzati come valori di byte nella memoria. MaImmagine PIL aperta dal file di byte
from PIL import Image
image_data = ... # byte values of the image
image = Image.frombytes('RGBA', (128,128), image_data)
image.show()
genera l'eccezione
ValueError: not enough image data
Perché? Che cosa sto facendo di sbagliato?
i dati grezzi in un '. il file png' ha intestazioni e compressione e roba, quindi non penso che tu possa nutrirlo in 'frombytes' e ottenere un risultato coerente. – Kevin
Come sbarazzarsi di questo? –
Immagino che tu possa aprire l'immagine con 'Image.open (" homer.jpg ")', e poi chiamare 'tobytes' su di esso per ottenere un buffer adatto per passare a' frombytes' ... Ma non ha molto senso facendo 'image = Image.frombytes (Image.open (" homer.jpg "). tobytes())' quando puoi semplicemente fare 'image = Image.open (" homer.jpg ")'. Suppongo che il tuo caso d'uso reale sia più complicato e non puoi farlo per qualche ragione. – Kevin