Comment afficher correctement les images en niveaux de gris avec la fonction `imshow()` de Matplotlib ?

DDD
Libérer: 2024-10-28 20:35:02
original
219 Les gens l'ont consulté

How to Display Grayscale Images Correctly with Matplotlib's `imshow()` Function?

Chargement et affichage d'images en niveaux de gris avec Matplotlib

La conversion d'une image en niveaux de gris implique la suppression de ses informations de couleur, ce qui donne une image avec des nuances de gris . Bien que Matplotlib fournisse la fonction imshow() pour afficher les images, il peut afficher par erreur des images en niveaux de gris à l'aide d'une carte de couleurs, ce qui introduit des couleurs indésirables.

Pour remédier à cela, il est crucial de spécifier l'argument cmap dans imshow() pour 'gris'. Cela demande à Matplotlib d'utiliser une carte de couleurs en niveaux de gris, garantissant que l'image est affichée dans des nuances de gris. De plus, définir les paramètres vmin et vmax sur les valeurs minimale et maximale des intensités de pixels, respectivement, garantit que les valeurs en niveaux de gris sont correctement représentées.

Voici un exemple de code qui démontre cela :

<code class="python">import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

fname = 'image.png'
image = Image.open(fname).convert("L")
arr = np.asarray(image)
plt.imshow(arr, cmap='gray', vmin=0, vmax=255)
plt.show()</code>
Copier après la connexion

Ce code lit une image à partir d'un fichier nommé « image.png », la convertit en niveaux de gris et affiche l'image en niveaux de gris à l'aide de la fonction imshow() de Matplotlib avec la carte de couleurs en niveaux de gris correcte. En utilisant cette approche, vous pouvez afficher avec succès des images en niveaux de gris sans rencontrer de problèmes de carte de couleurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal