Maison >développement back-end >Tutoriel Python >Comment afficher correctement une image en niveaux de gris avec Matplotlib.pyplot.imshow() ?

Comment afficher correctement une image en niveaux de gris avec Matplotlib.pyplot.imshow() ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-04 06:44:29295parcourir

How do I Display a Grayscale Image Correctly with Matplotlib.pyplot.imshow()?

Obtention de l'affichage d'une image en niveaux de gris avec Matplotlib

Lorsque vous tentez d'afficher une image en niveaux de gris à l'aide de matplotlib.pyplot.imshow(), les utilisateurs peuvent rencontrer des difficultés ce qui entraîne l'affichage de l'image sous forme de palette de couleurs. Pour résoudre ce problème, il est crucial de comprendre les étapes correctes de conversion d'image en niveaux de gris.

Dans ce cas, l'utilisateur a chargé l'image et l'a convertie en niveaux de gris à l'aide de Image.open().convert("L ") fonction. Cependant, la conversion ultérieure en matrice à l'aide de scipy.misc.fromimage() a introduit une étape inutile et a potentiellement corrompu la représentation en niveaux de gris de l'image.

Pour afficher correctement l'image en niveaux de gris, suivez ces étapes :

  1. Importez les bibliothèques nécessaires : numpy pour les opérations numériques et matplotlib.pyplot pour le traçage d'images.
  2. Chargez l'image en utilisant Image.open() de PIL.
  3. Convertissez l'image en niveaux de gris à l'aide de convert("L").
  4. Convertissez l'image en niveaux de gris en un tableau NumPy à l'aide de np.asarray().
  5. Utilisez matplotlib.pyplot.imshow() pour afficher l'image en niveaux de gris. Assurez-vous de spécifier cmap='gray' pour appliquer la représentation en niveaux de gris.

Voici l'exemple de code :

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

Alternativement, pour afficher l'échelle de gris inverse, remplacez l'argument cmap par 'gris_r'.

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!

Déclaration:
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