Comment afficher une image en niveaux de gris dans Matplotlib
-
matplotlib.pyplot.imshow()
pour afficher une image en niveaux de gris dans Matplotlib - Exemples : Matplotlib affiche l’image en niveaux de gris
Pour afficher une image en niveaux de gris en utilisant Matplotlib
, nous utilisons matplotlib.pyplot.imshow()
avec les paramètres cmap
réglés sur 'gray'
, vmin
réglé sur 0
et vmax
réglé sur 255
. Par défaut, la valeur de cmap
, vmin
et vmax
est réglée sur None
.
matplotlib.pyplot.imshow()
pour afficher une image en niveaux de gris dans Matplotlib
matplotlib.pyplot.imshow(X,
cmap=None,
norm=None,
aspect=None,
interpolation=None,
alpha=None,
vmin=None,
vmax=None,
origin=None,
extent=None,
shape= < deprecated parameter > ,
filternorm=1,
filterrad=4.0,
imlim= < deprecated parameter > ,
resample=None,
url=None,
*,
data=None,
**kwargs)
Exemples : Matplotlib affiche l’image en niveaux de gris
import matplotlib.pyplot as plt
import matplotlib.image as img
image = img.imread("lena.jpg")
plt.imshow(image[:, :, 1], cmap="gray", vmin=0, vmax=255, interpolation="none")
plt.show()
Production:
Cette méthode lit l’image lena.jpg
, qui est une image RGB utilisant la fonction imread()
du module matplotlib.image
. Pour afficher l’image en niveaux de gris, nous n’avons besoin que d’un canal de couleur. Donc pour l’étape suivante, il suffit de prendre un seul canal de couleur et d’afficher l’image en utilisant la méthode plt.imshow()
avec cmap
réglé sur 'gray'
, vmin
réglé sur 0
, et vmax
réglé sur 255
.
Enfin, nous utilisons la méthode show()
pour afficher une fenêtre affichant l’image en niveaux de gris. Pour exécuter le script ci-dessus, nous devons avoir lena.jpg
dans notre répertoire de travail actuel.
Prendre un seul canal de couleur n’est pas un moyen approprié pour convertir des images RVB en images en niveaux de gris car nous avons des algorithmes spécifiques pour rendre la conversion plus efficace. Ces algorithmes sont implémentés dans presque toutes les bibliothèques de traitement d’images disponibles. Ci-dessous, nous présentons un exemple utilisant le PIL
.
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
image = Image.open("lena.jpg")
gray_image = image.convert("L")
gray_image_array = np.asarray(gray_image)
plt.imshow(gray_image_array, cmap="gray", vmin=0, vmax=255)
plt.show()
Production:
Ici, nous lisons l’image lena.jpg
dans notre répertoire de travail actuel en utilisant la fonction open()
et nous convertissons ensuite l’image en niveaux de gris en utilisant la méthode convert()
avec 'L'
comme argument. Ensuite, nous convertissons l’image en niveaux de gris dans un tableau NumPy et nous affichons l’image en utilisant la méthode imshow()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn