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

Barbara Streisand
Libérer: 2024-11-04 06:44:29
original
164 Les gens l'ont consulté

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>
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!