Salvar array NumPy como imagem em Python
-
Use a função
Image.fromarray()
para salvar um NumPy Array como uma imagem -
Use a função
imageio.imwrite()
para salvar uma NumPy Array como imagem -
Use a função
matplotlib.pyplot.imsave()
para salvar um array numpy como imagem -
Use a função
cv2.imwrite()
para salvar uma NumPy Array como imagem
Em Python, o módulo numpy é usado para trabalhar com matrizes. Existem muitos módulos disponíveis em Python que nos permitem ler e armazenar imagens.
As imagens podem ser pensadas como um array de pixels diferentes armazenados em posições específicas com respectivos códigos de cores. Portanto, podemos encontrar situações em que precisamos converter e salvar um array como uma imagem.
Neste tutorial, discutiremos como salvar um array numpy como uma imagem.
Use a função Image.fromarray()
para salvar um NumPy Array como uma imagem
A função fromarray()
é usada para criar uma memória de imagem de um objeto que exporta o array. Podemos então salvar essa memória de imagem em nosso local desejado, fornecendo o caminho necessário e o nome do arquivo.
Por exemplo,
import numpy as np
from PIL import Image
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
im = Image.fromarray(array)
im.save("filename.jpeg")
Primeiro criamos um array que armazena códigos de cores RGB e depois os exportamos. Podemos especificar o formato desejado de nossa imagem no nome do arquivo. Pode ser jpeg
, png
ou qualquer outro formato de imagem comumente usado. Isso é comum para todos os métodos discutidos a seguir.
Use a função imageio.imwrite()
para salvar uma NumPy Array como imagem
Anteriormente, o módulo scipy tinha a função imsave()
para salvar matrizes numpy como imagens. No entanto, em versões recentes, ficou obsoleto e a função imwrite()
da image.io()
começou a ser recomendada para realizar esta tarefa e ganhou popularidade pela sua simplicidade.
O código a seguir mostra como usar essa função.
import imageio
import numpy as np
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
imageio.imwrite("filename.jpeg", array)
Use a função matplotlib.pyplot.imsave()
para salvar um array numpy como imagem
O módulo matplotlib possui uma variedade de funções disponíveis para trabalhar com imagens.
A função imsave()
pode salvar um array como um arquivo de imagem.
Por exemplo,
import matplotlib.pyplot as plt
import numpy as np
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
plt.imsave("filename.jpeg", array)
Use a função cv2.imwrite()
para salvar uma NumPy Array como imagem
O módulo OpenCV é freqüentemente usado para processamento de imagens em Python. A função imwrite()
deste módulo pode exportar um array numpy como um arquivo de imagem.
Por exemplo,
import cv2
import numpy as np
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
cv2.imwrite("filename.jpeg", array)
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn