Converter imagem PIL em NumPy Array

Muhammad Maisam Abbas 30 janeiro 2023
  1. Converter imagem PIL em NumPy array com a função numpy.array() em Python
  2. Converter imagem PIL em NumPy array com a função numpy.asarray() em Python
Converter imagem PIL em NumPy Array

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().

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn