Maison >développement back-end >Tutoriel Python >Comment convertir efficacement des images PIL en tableaux NumPy et inversement ?
Lorsque vous travaillez avec des transformations basées sur les pixels, la vitesse et la flexibilité des tableaux NumPy peuvent souvent être avantageuses par rapport à PixelAccess de PIL. Cet article montre comment convertir efficacement les images PIL en tableaux NumPy et inversement, vous permettant d'exploiter les capacités des deux frameworks.
import PIL.Image import numpy as np pic = PIL.Image.open("foo.jpg") pix = np.array(pic.getdata()).reshape(pic.size[0], pic.size[1], 3)
Ce code convertit le Image PIL en un tableau NumPy avec des dimensions (hauteur, largeur, canaux).
Deux approches sont disponibles :
data = list(tuple(pixel) for pixel in pix) pic.putdata(data)
Notez que cette méthode peut être lente pour les grands tableaux.
pix = np.array(pic) # Converts PIL Image to NumPy array # Make changes to the array pic = PIL.Image.fromarray(pix)
Cette méthode fonctionne généralement plus rapidement et constitue l'approche recommandée pour reconvertir les tableaux NumPy en images PIL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!