Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zeige ich ein Graustufenbild mit Matplotlib.pyplot.imshow() korrekt an?

Wie zeige ich ein Graustufenbild mit Matplotlib.pyplot.imshow() korrekt an?

Barbara Streisand
Barbara StreisandOriginal
2024-11-04 06:44:29165Durchsuche

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

Graustufenbildanzeige mit Matplotlib erreichen

Beim Versuch, ein Graustufenbild mit matplotlib.pyplot.imshow() anzuzeigen, können Benutzer auf Schwierigkeiten stoßen Dies führt dazu, dass das Bild als Farbkarte angezeigt wird. Um dieses Problem zu beheben, ist es wichtig, die richtigen Schritte für die Konvertierung von Graustufenbildern zu verstehen.

In diesem Fall hat der Benutzer das Bild geladen und es mithilfe von PILs Image.open().convert("L ") Funktion. Die anschließende Konvertierung in eine Matrix mithilfe von scipy.misc.fromimage() führte jedoch zu einem unnötigen Schritt und beschädigte möglicherweise die Graustufendarstellung des Bildes.

Um das Graustufenbild korrekt anzuzeigen, befolgen Sie diese Schritte:

  1. Importieren Sie die erforderlichen Bibliotheken: numpy für numerische Operationen und matplotlib.pyplot für das Plotten von Bildern.
  2. Laden Sie das Bild mit Image.open() von PIL.
  3. Konvertieren Sie das Bild mit in Graustufen konvertieren("L").
  4. Konvertieren Sie das Graustufenbild mit np.asarray() in ein NumPy-Array.
  5. Verwenden Sie matplotlib.pyplot.imshow(), um das Graustufenbild anzuzeigen. Stellen Sie sicher, dass Sie cmap='gray' angeben, um die Graustufendarstellung zu erzwingen.

Hier ist der Beispielcode:

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

Alternativ können Sie zur Anzeige der inversen Graustufen das Argument cmap auf ändern 'gray_r'.

Das obige ist der detaillierte Inhalt vonWie zeige ich ein Graustufenbild mit Matplotlib.pyplot.imshow() korrekt an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn