Problème :
Comment pouvez-vous convertir une image PIL en tableau NumPy pour effectuez des transformations plus rapides au niveau des pixels, puis chargez-le à nouveau dans l'image PIL après avoir modifié le tableau ?
Réponse :
Conversion en tableau NumPy :
Pour convertir une image PIL en tableau NumPy, utilisez le code suivant :
import numpy as np from PIL import Image pic = Image.open("foo.jpg") pix = np.array(pic)
Cela créera un tableau 3D de forme (hauteur, largeur, canaux) contenant des valeurs de pixels.
Conversion vers l'image PIL :
Pour charger à nouveau le tableau modifié dans l'image PIL, il existe plusieurs façons :
1. Utilisation d'Image.putdata() :
Convertissez le tableau en une séquence de tuples :
data = list(tuple(pixel) for pixel in pix) pic.putdata(data)
2. Utilisation d'Image.fromarray() (PIL 1.1.6 ou supérieur) :
Attribuez simplement le tableau modifié à l'image :
pic = Image.fromarray(pix)
Remarques supplémentaires :
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!