HOWTO · NumPy

Converti l'immagine PIL in NumPy Array

Esistono due metodi principali che possono essere utilizzati per convertire un'immagine PIL in un array NumPy tridimensionale in Python, la funzione numpy.array() e la funzione numpy.asarray().

In questa pagina

Questo tutorial discuterà i metodi per convertire un’immagine PIL in un array NumPy tridimensionale in Python.

Converti l’immagine PIL in array NumPy con la funzione numpy.array() in Python

PIL viene utilizzato per eseguire varie operazioni sulle immagini in Python. La libreria Pillow non è preinstallata con il linguaggio di programmazione Python. Quindi, dobbiamo prima installarlo. Di seguito viene fornito il comando per installare la libreria Pillow.

pip install Pillow

Se vogliamo convertire un’immagine letta dalla libreria PIL in un array NumPy, possiamo usare la funzione numpy.array(). La funzione numpy.array() crea e inizializza gli array numpy. La funzione numpy.array() convertirà l’immagine PIL in un array tridimensionale. Vedere il seguente esempio di codice.

import numpy as np
from PIL import Image

img = Image.open("NASA.jpg")
imgArray = np.array(img)
print(imgArray.shape)

Produzione:

(90, 240, 3)

Nel codice sopra, abbiamo convertito l’immagine PIL img in un array NumPy tridimensionale imgArray con la funzione numpy.array(). Leggiamo l’immagine all’interno della variabile img con la funzione Image.open() in Python. Abbiamo quindi convertito img nell’array NumPy imgArray con la funzione numpy.array() in Python. Alla fine, abbiamo stampato la forma di imgArray con la funzione print().

Converti l’immagine PIL in array NumPy con la funzione numpy.asarray() in Python

Possiamo anche usare la funzione numpy.asarray() per raggiungere lo stesso obiettivo dell’esempio precedente. La funzione numpy.asarray() crea e inizializza anche un array numpy. Possiamo convertire un’immagine PIL in un array numPy passando l’immagine alla funzione numpy.asarray(). Vedere il seguente esempio di codice.

import numpy as np
from PIL import Image

img = Image.open("NASA.jpg")
imgArray = np.asarray(img)
print(imgArray.shape)

Produzione:

(90, 240, 3)

Nel codice sopra, abbiamo convertito l’immagine PIL img nell’array NumPy tridimensionale imgArray con la funzione numpy.array() in Python. Abbiamo caricato la variabile img con la funzione Image.open() in Python. Abbiamo quindi convertito l’immagine img nell’array NumPy imgArray con la funzione numpy.asarray() in Python. Alla fine, abbiamo stampato la forma di imgArray con la funzione print().