Wie man ein Bild in Matplotlib in Graustufen anzeigt

Suraj Joshi 30 Januar 2023
  1. matplotlib.pyplot.imshow() zur Anzeige eines Bildes in Graustufen in der Matplotlib
  2. Beispiele: Matplotlib Bild in Graustufen anzeigen
Wie man ein Bild in Matplotlib in Graustufen anzeigt

Um ein Graustufenbild mit Hilfe der Matplotlib anzuzeigen, benutzen wir die matplotlib.pyplot.imshow() mit den Parametern cmap auf 'gray', vmin auf 0 und vmax auf 255. Standardmäßig ist der Wert von cmap, vmin und vmax auf None gesetzt.

matplotlib.pyplot.imshow() zur Anzeige eines Bildes in Graustufen in der 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)

Beispiele: Matplotlib Bild in Graustufen anzeigen

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

Ausgabe:

Matplotlib-Anzeige Bild in Graustufen

Diese Methode liest das Bild lena.jpg, das ein RGB-Bild ist, mit Hilfe der Funktion imread() aus dem Modul matplotlib.image. Um das Bild als Graustufenbild darzustellen, benötigen wir nur einen Farbkanal. Für den nächsten Schritt nehmen Sie also nur einen einzigen Farbkanal und zeigen das Bild mit der Methode plt.imshow() an, wobei cmap auf 'gray', vmin auf 0 und vmax auf 255 gesetzt wird.

Schließlich verwenden wir die Methode show(), um ein Fenster zu zeigen, das das Bild in Graustufen anzeigt. Um das obige Skript auszuführen, müssen wir lena.jpg in unserem aktuellen Arbeitsverzeichnis haben.

Die Verwendung nur eines Farbkanals ist keine geeignete Methode zur Konvertierung von RGB-Bildern in Graustufenbilder, da wir spezielle Algorithmen haben, um die Konvertierung effizienter zu gestalten. Diese Algorithmen sind in fast allen gängigen Bildverarbeitungsbibliotheken implementiert. Unten zeigen wir ein Beispiel anhand der 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()

Ausgabe:

Matplotlib zeigt Bild in Graustufen mit dem Bildmodul

Hier lesen wir das Bild lena.jpg in unserem aktuellen Arbeitsverzeichnis mit der Funktion open() und konvertieren das Bild dann mit der Methode convert() in Graustufen mit 'L' als Argument. Danach konvertieren wir das Graustufenbild in ein NumPy-Array und zeigen das Bild mit der imshow()-Methode an.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Matplotlib Images