web-dev-qa-db-fra.com

Convertir une image PIL en tableau d'octets?

J'ai une image au format image PIL. J'ai besoin de le convertir en tableau d'octets.

img = Image.open(fh, mode='r')  
roiImg = img.crop(box)

Maintenant, j'ai besoin de roiImg comme tableau d'octets.

39
Evelyn Jeba

Merci à tous pour votre aide.

Enfin résolu le problème !!

import io

img = Image.open(fh, mode='r')
roiImg = img.crop(box)

imgByteArr = io.BytesIO()
roiImg.save(imgByteArr, format='PNG')
imgByteArr = imgByteArr.getvalue()

Avec cela, je n'ai pas à enregistrer l'image recadrée sur mon disque dur et je suis capable de récupérer le tableau d'octets à partir d'une image recadrée PIL.

93
Evelyn Jeba

Ceci est ma solution.Veuillez utiliser cette fonction.

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
2
Nori