HOWTO · NumPy

Converter imagem PIL em NumPy Array

Existem dois métodos principais que podem ser usados para converter uma imagem PIL em uma NumPy array tridimensional em Python, a função numpy.array() e a função numpy.asarray().

Nesta página

Este tutorial irá discutir os métodos para converter uma imagem PIL em uma NumPy array tridimensional em Python.

Converter imagem PIL em NumPy array com a função numpy.array() em Python

PIL é usado para realizar várias operações em imagens em Python. A biblioteca Pillow não vem pré-instalada com a linguagem de programação Python. Portanto, temos que instalá-lo primeiro. O comando para instalar a biblioteca Pillow é fornecido abaixo.

pip install Pillow

Se quisermos converter uma imagem lida pela biblioteca PIL em um array NumPy, podemos usar a função numpy.array(). A função numpy.array() cria e inicializa matrizes numpy. A função numpy.array() converterá a imagem PIL em um array tridimensional. Veja o seguinte exemplo de código.

import numpy as np
from PIL import Image

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

Resultado:

(90, 240, 3)

No código acima, convertemos a imagem PIL img em um array NumPy tridimensional imgArray com a função numpy.array(). Lemos a imagem dentro da variável img com a função Image.open() em Python. Em seguida, convertemos o img para o array NumPy imgArray com a função numpy.array() em Python. No final, imprimimos a forma do imgArray com a função print().

Converter imagem PIL em NumPy array com a função numpy.asarray() em Python

Também podemos usar a função numpy.asarray() para atingir o mesmo objetivo do exemplo anterior. A função numpy.asarray() também cria e inicializa um array numpy. Podemos converter uma imagem PIL em um array numPy passando a imagem para a função numpy.asarray(). Veja o seguinte exemplo de código.

import numpy as np
from PIL import Image

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

Resultado:

(90, 240, 3)

No código acima, convertemos a imagem PIL img para o array NumPy tridimensional imgArray com a função numpy.array() em Python. Carregamos na variável img com a função Image.open() em Python. Em seguida, convertemos a imagem img para o array NumPy imgArray com a função numpy.asarray() em Python. No final, imprimimos a forma do imgArray com a função print().