Matplotlib-Bildvorschaubild

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden Sie durch den Prozess des Generierens von Miniaturbildern aus vorhandenen Bildern mit der Matplotlib-Bibliothek in Python geführt. Miniaturbilder sind kleinere Versionen von Bildern, die zur Anzeige eines Vorschaus der größeren Bilder verwendet werden können. Matplotlib ist von der Pillow-Bibliothek für das Lesen von Bildern abhängig und unterstützt alle von Pillow unterstützten Formate.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback ab, und wir werden das Problem für Sie prompt beheben.

Installieren der erforderlichen Bibliotheken

Zunächst müssen Sie die erforderlichen Bibliotheken installieren. Öffnen Sie Ihr Terminal und geben Sie die folgenden Befehle ein, um Matplotlib und Pillow zu installieren:

pip install matplotlib
pip install pillow

Importieren von Bibliotheken

In diesem Schritt importieren Sie die Bibliotheken, die Sie im vorherigen Schritt installiert haben. Sie müssen ArgumentParser und Path aus den Modulen argparse und pathlib respektive importieren. Importieren Sie auch die Module sys und image aus den Modulen sys und matplotlib.image respektive.

from argparse import ArgumentParser
from pathlib import Path
import sys
import matplotlib.image as image

Argumente analysieren

In diesem Schritt werden Sie die an Ihr Programm übergebenen Argumente analysieren. Sie müssen ein ArgumentParser-Objekt erstellen und ein Argument namens imagedir hinzufügen. Dieses Argument gibt den Pfad zum Verzeichnis an, das die Bilder enthält. Sie können den type-Parameter verwenden, um den Datentyp des Arguments anzugeben. In diesem Fall sollte das Argument vom Typ Path sein.

parser = ArgumentParser(description="Build thumbnails of all images in a directory.")
parser.add_argument("imagedir", type=Path)
args = parser.parse_args()

Verzeichnis überprüfen

In diesem Schritt überprüfen Sie, ob das angegebene Verzeichnis existiert. Wenn das Verzeichnis nicht existiert, beenden Sie das Programm und geben Sie eine Fehlermeldung aus.

if not args.imagedir.is_dir():
    sys.exit(f"Could not find input directory {args.imagedir}")

Ausgabeverzeichnis erstellen

In diesem Schritt erstellen Sie ein Verzeichnis namens thumbs, in dem die Vorschaubilder gespeichert werden. Wenn das Verzeichnis bereits existiert, wird es nicht erneut erstellt.

outdir = Path("thumbs")
outdir.mkdir(parents=True, exist_ok=True)

Vorschaubilder generieren

In diesem Schritt generieren Sie Vorschaubilder für alle Bilder im angegebenen Verzeichnis. Sie verwenden eine for-Schleife, um über alle Bilder mit der .png-Erweiterung im angegebenen Verzeichnis zu iterieren. Für jedes Bild generieren Sie ein Vorschaubild und speichern es im thumbs-Verzeichnis.

for path in args.imagedir.glob("*.png"):
    outpath = outdir / path.name
    fig = image.thumbnail(path, outpath, scale=0.15)
    print(f"saved thumbnail of {path} to {outpath}")

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie mit Matplotlib in Python Vorschaubilder aus vorhandenen Bildern generieren. Sie haben gelernt, wie Sie Bibliotheken importieren, Argumente analysieren, Verzeichnisse überprüfen, Ausgabeverzeichnisse erstellen und Vorschaubilder generieren. Indem Sie die Schritte in diesem Lab befolgen, können Sie leicht Vorschaubilder für alle Bilder in einem Verzeichnis generieren.