Wie man ein Bild in Matplotlib in Graustufen anzeigt
-
matplotlib.pyplot.imshow()
zur Anzeige eines Bildes in Graustufen in der Matplotlib - Beispiele: Matplotlib Bild in Graustufen anzeigen
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:
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:
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 is a backend software engineer at Matrice.ai.
LinkedIn