Data Visualization

Rechtecke auf Bildern mit Matplotlib überlagern

Spread the love

Matplotlib ist eine vielseitige Python-Bibliothek, die für ihre Datenvisualisierungsfähigkeiten bekannt ist. Über das Plotten von Daten hinaus zeichnet sie sich durch die Bildmanipulation aus, sodass Sie Formen direkt auf Bilder überlagern können. Dieses Tutorial zeigt, wie Sie effizient Rechtecke mit Matplotlib zu Bildern hinzufügen.

Inhaltsverzeichnis

Rechtecke in Matplotlib zeichnen

Bevor wir mit Bildern arbeiten, sollten wir das Zeichnen von Rechtecken auf Standard-Matplotlib-Figuren beherrschen. Dieser grundlegende Schritt ist entscheidend für das Verständnis des Bildüberlagerungsprozesses.

import matplotlib.pyplot as plt
import matplotlib.patches as patches

# Figur und Achsen erstellen
fig, ax = plt.subplots()

# Rechteck definieren
rect = patches.Rectangle((0.1, 0.1), 0.5, 0.5, linewidth=1, edgecolor='r', facecolor='none')

# Rechteck zu den Achsen hinzufügen
ax.add_patch(rect)

# Achsenlimits setzen (optional)
ax.set_xlim([0, 1])
ax.set_ylim([0, 1])

# Diagramm anzeigen
plt.show()

Dieser Code erzeugt ein einfaches Rechteck. Lassen Sie uns ihn zerlegen:

  • matplotlib.pyplot as plt: Importiert die Matplotlib-Plotbibliothek.
  • matplotlib.patches as patches: Importiert das patches-Modul, das Formobjekte wie Rechtecke enthält.
  • patches.Rectangle((x, y), width, height): Erstellt ein Rechteck. (x, y) gibt die untere linke Ecke an; width und height definieren seine Abmessungen. Koordinaten sind normalisiert (0 bis 1).
  • linewidth, edgecolor, facecolor: Steuern das Aussehen des Rechtecks. facecolor='none' erzeugt nur eine Umrandung.
  • ax.add_patch(rect): Fügt das Rechteck zu den Achsen hinzu.
  • ax.set_xlim() und ax.set_ylim(): Setzen die x- und y-Achsenlimits (optional, für eine bessere Visualisierung).

Rechtecke auf Bilder überlagern

Nun erweitern wir dies, um Rechtecke auf Bilder zu überlagern. Wir verwenden imread von Matplotlib, um das Bild zu laden.

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.image as mpimg

# Bild laden
img = mpimg.imread('your_image.jpg')  # Ersetzen Sie dies durch Ihren Bildpfad

# Figur und Achsen erstellen
fig, ax = plt.subplots()

# Bild anzeigen
ax.imshow(img)

# Rechteck erstellen (Pixelkoordinaten)
rect = patches.Rectangle((100, 100), 150, 100, linewidth=2, edgecolor='b', facecolor='none')

# Rechteck zu den Achsen hinzufügen
ax.add_patch(rect)

# Diagramm anzeigen
plt.show()

Dies ähnelt dem vorherigen Beispiel, aber:

  • mpimg.imread('your_image.jpg'): Lädt das Bild. Denken Sie daran, 'your_image.jpg' durch den Pfad Ihres Bildes zu ersetzen.
  • ax.imshow(img): Zeigt das Bild auf den Achsen an.
  • Rechteckkoordinaten (100, 100) sind jetzt Pixelkoordinaten. Passen Sie diese Werte an, um das Rechteck zu positionieren.

Mit dieser Methode können Sie Bilder effektiv annotieren. Experimentieren Sie mit Koordinaten, Größen, Farben und Linienstärken, um das Aussehen und die Platzierung des Rechtecks anzupassen. Denken Sie daran, dass Koordinaten relativ zu den Pixeldimensionen des Bildes sind.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert