Guardar array NumPy como imagen en Python
-
Utilice la función
Image.fromarray()
para guardar un array numerosa como una imagen -
Utilice la función
imageio.imwrite()
para guardar un array numerosa como una imagen -
Utilice la función
matplotlib.pyplot.imsave()
para guardar un array numerosa como una imagen -
Utilice la función
cv2.imwrite()
para guardar un array numerosa como una imagen
En Python, el módulo numpy se usa para trabajar con matrices. Hay muchos módulos disponibles en Python que nos permiten leer y almacenar imágenes.
Las imágenes se pueden considerar como un array de diferentes píxeles almacenados en posiciones específicas con los respectivos códigos de color. Por lo tanto, podemos encontrar situaciones en las que necesitemos convertir y guardar un array como una imagen.
En este tutorial, discutiremos cómo guardar un array numpy como una imagen.
Utilice la función Image.fromarray()
para guardar un array numerosa como una imagen
La función fromarray()
se utiliza para crear una memoria de imagen a partir de un objeto que exporta el array. Luego, podemos guardar esta memoria de imagen en la ubicación deseada proporcionando la ruta requerida y el nombre del archivo.
Por ejemplo,
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")
Primero creamos un array que almacena códigos de color RGB y luego los exportamos. Podemos especificar el formato deseado de nuestra imagen en el nombre del archivo. Puede ser jpeg
, png
o cualquier otro formato de imagen de uso común. Esto es común para todos los métodos que se describen a continuación.
Utilice la función imageio.imwrite()
para guardar un array numerosa como una imagen
Anteriormente, el módulo scipy tenía la función imsave()
para guardar matrices numpy como imágenes. Sin embargo, en versiones recientes, quedó obsoleto y la función imwrite()
de image.io()
comenzó a recomendarse para realizar esta tarea y ganó popularidad por su simplicidad.
El siguiente código muestra cómo utilizar esta función.
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)
Utilice la función matplotlib.pyplot.imsave()
para guardar un array numerosa como una imagen
El módulo matplotlib tiene una variedad de funciones disponibles para trabajar con imágenes.
La función imsave()
puede guardar un array como un archivo de imagen.
Por ejemplo,
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)
Utilice la función cv2.imwrite()
para guardar un array numerosa como una imagen
El módulo OpenCV se utiliza a menudo para el procesamiento de imágenes en Python. La función imwrite()
de este módulo puede exportar un array numerosa como un archivo de imagen.
Por ejemplo,
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