Enregistrer le tableau NumPy en tant qu'image en Python

Manav Narula 30 janvier 2023
  1. Utilisez la fonction Image.fromarray() pour enregistrer un tableau NumPy en tant qu’image
  2. Utilisez la fonction imageio.imwrite() pour enregistrer un tableau NumPy en tant qu’image
  3. Utilisez la fonction matplotlib.pyplot.imsave() pour enregistrer un tableau NumPy en tant qu’image
  4. Utilisez la fonction cv2.imwrite() pour enregistrer un tableau NumPy en tant qu’image
Enregistrer le tableau NumPy en tant qu'image en Python

En Python, le module numpy est utilisé pour travailler avec des tableaux. Il existe de nombreux modules disponibles en Python qui nous permettent de lire et de stocker des images.

Les images peuvent être considérées comme un tableau de différents pixels stockés à des positions spécifiques avec des codes de couleur respectifs. Ainsi, nous pourrions rencontrer des situations dans lesquelles nous devons convertir et enregistrer un tableau en tant qu’image.

Dans ce didacticiel, nous expliquerons comment enregistrer un tableau numpy en tant qu’image.

Utilisez la fonction Image.fromarray() pour enregistrer un tableau NumPy en tant qu’image

La fonction fromarray() permet de créer une mémoire image à partir d’un objet qui exporte le tableau. Nous pouvons ensuite enregistrer cette mémoire d’image à l’emplacement souhaité en fournissant le chemin requis et le nom du fichier.

Par example,

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")

Nous créons d’abord un tableau qui stocke les codes de couleur RVB, puis nous les exportons. Nous pouvons spécifier le format souhaité de notre image dans le nom du fichier. Cela peut être jpeg, png ou tout autre format d’image couramment utilisé. Ceci est commun à toutes les méthodes décrites ci-dessous.

Utilisez la fonction imageio.imwrite() pour enregistrer un tableau NumPy en tant qu’image

Auparavant, le module scipy avait la fonction imsave() pour enregistrer les tableaux numpy sous forme d’images. Cependant, dans les versions récentes, il est devenu obsolète et la fonction imwrite() de image.io() a commencé à être recommandée pour effectuer cette tâche et a gagné en popularité pour sa simplicité.

Le code suivant montre comment utiliser cette fonction.

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)

Utilisez la fonction matplotlib.pyplot.imsave() pour enregistrer un tableau NumPy en tant qu’image

Le module matplotlib a une variété de fonctions disponibles pour travailler avec des images.

La fonction imsave() permet de sauvegarder un tableau sous forme de fichier image.

Par example,

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)

Utilisez la fonction cv2.imwrite() pour enregistrer un tableau NumPy en tant qu’image

Le module OpenCV est souvent utilisé pour le traitement d’images en Python. La fonction imwrite() de ce module permet d’exporter un tableau numpy sous forme de fichier image.

Par example,

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)
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

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