Heim  >  Artikel  >  Backend-Entwicklung  >  So verarbeiten Sie Bilder stapelweise mit Python

So verarbeiten Sie Bilder stapelweise mit Python

王林
王林Original
2023-08-26 17:39:181975Durchsuche

So verarbeiten Sie Bilder stapelweise mit Python

So verarbeiten Sie Bilder stapelweise mit Python

Einführung:
Im heutigen Zeitalter der sozialen Medien und der digitalen Kultur sind Bilder zu einem unverzichtbaren Bestandteil des täglichen Lebens der Menschen geworden. Manchmal müssen wir jedoch dieselben Vorgänge an einer großen Anzahl von Bildern durchführen, z. B. Größenänderung, Zuschneiden, Drehen usw. Die manuelle Bearbeitung dieser Bilder ist sehr zeitaufwändig und mühsam. Daher wird die Verwendung von Python zur Stapelverarbeitung von Bildern die Effizienz erheblich verbessern. In diesem Artikel wird die Verwendung der Pillow-Bibliothek von Python zur Stapelverarbeitung von Bildern vorgestellt und entsprechende Codebeispiele bereitgestellt.

Schritt 1: Installieren Sie die Pillow-Bibliothek
Bevor wir beginnen, müssen wir zuerst die Pillow-Bibliothek installieren. Geben Sie den folgenden Befehl in die Befehlszeile ein, um die Installation abzuschließen:

pip install pillow

Schritt 2: Importieren Sie die erforderlichen Bibliotheken und Module
Bevor wir Python-Code schreiben, müssen wir die erforderlichen Bibliotheken und Module importieren. Fügen Sie die folgenden Zeilen in den Code ein:

from PIL import Image
import os

Schritt 3: Legen Sie die Eingabe- und Ausgabeordnerpfade fest
Vor der Stapelverarbeitung müssen wir die Pfade der Eingabe- und Ausgabeordner festlegen. Im folgenden Beispiel wird davon ausgegangen, dass unser Eingabeordnerpfad „input_folder“ und unser Ausgabeordnerpfad „output_folder“ ist. Sie können diese Pfade entsprechend Ihren Anforderungen ändern.

input_folder = 'path/to/input_folder'
output_folder = 'path/to/output_folder'

Schritt 4: Schreiben Sie eine Bildverarbeitungsfunktion
Bevor wir die Hauptschleife schreiben, schreiben wir zunächst eine Funktion zum Verarbeiten von Bildern. Das folgende Beispiel zeigt, wie man die Größe eines Bildes ändert und es im Ausgabeordner speichert:

def process_image(input_path, output_path, width, height):
    image = Image.open(input_path)
    resized_image = image.resize((width, height))
    resized_image.save(output_path)

In dieser Funktion öffnen wir zunächst das Eingabebild mit Image.open() und ändern die Größe durch Aufruf von resize()-Methode zum Ändern der Bildgröße. Schließlich verwenden wir die Methode save(), um das verarbeitete Bild im angegebenen Ausgabepfad zu speichern. Image.open()打开输入图片,并通过调用resize()方法调整图片大小。最后,我们使用save()方法将处理后的图片保存到指定的输出路径。

可以根据自己的需求在这个函数中添加其它图片处理操作,例如裁剪、旋转等。

第五步:遍历输入文件夹并进行批量处理
现在我们可以编写主循环来遍历输入文件夹中的所有图片,并对每张图片进行批量处理。以下示例展示了如何遍历输入文件夹并调用上述的图片处理函数:

for filename in os.listdir(input_folder):
    if filename.endswith('.jpg') or filename.endswith('.png'):
        input_path = os.path.join(input_folder, filename)
        output_path = os.path.join(output_folder, filename)
        process_image(input_path, output_path, 800, 600)

在这个示例中,我们使用os.listdir()函数获取输入文件夹中的所有文件名,并通过os.path.join()函数将文件名与文件夹路径拼接成完整的文件路径。

然后,我们使用endswith()方法来检查文件名的后缀是否为".jpg"或".png",以便仅处理这些图片文件。

最后,我们调用上述process_image()

Sie können dieser Funktion je nach Bedarf weitere Bildbearbeitungsvorgänge hinzufügen, z. B. Zuschneiden, Drehen usw.


Schritt 5: Schleife durch den Eingabeordner und Stapelverarbeitung

Jetzt können wir die Hauptschleife schreiben, um alle Bilder im Eingabeordner zu durchlaufen und jedes Bild stapelweise zu verarbeiten. Das folgende Beispiel zeigt, wie man durch den Eingabeordner iteriert und die obige Bildverarbeitungsfunktion aufruft:

rrreee

In diesem Beispiel verwenden wir die Funktion os.listdir(), um alle Dateinamen im zu erhalten Eingabeordner und verwenden Sie die Funktion os.path.join(), um den Dateinamen und den Ordnerpfad zu einem vollständigen Dateipfad zu verketten.

Anschließend überprüfen wir mit der Methode endswith(), ob das Suffix des Dateinamens „.jpg“ oder „.png“ ist, damit nur diese Bilddateien verarbeitet werden können.
  • Abschließend rufen wir die obige Funktion process_image() auf und übergeben dabei den Eingabepfad, den Ausgabepfad und die erforderliche Bildgröße als Parameter. In diesem Beispiel stellen wir die Bildgröße auf 800x600 Pixel ein.
  • Zusammenfassung:
  • Durch die Verwendung der Pillow-Bibliothek von Python können wir Bilder problemlos stapelweise verarbeiten. In diesem Artikel wird ein Beispiel für die Verwendung der Pillow-Bibliothek zum Ändern der Bildgröße vorgestellt und ein vollständiges Codebeispiel bereitgestellt. Sie können diese Codes erweitern, um je nach Bedarf weitere Bildverarbeitungsvorgänge hinzuzufügen. Beginnen Sie mit Python, um Bilder stapelweise zu verarbeiten und die Arbeitseffizienz zu verbessern!
🎜Das Obige ist eine Einführung in die Verwendung von Python zur Stapelverarbeitung von Bildern. Ob bei einem persönlichen Projekt oder einer kommerziellen Anwendung, diese Tipps helfen Ihnen, Zeit und Energie zu sparen. Ich hoffe, dieser Artikel kann Ihnen helfen. 🎜🎜Referenzen: 🎜🎜🎜Python Imaging Library (PIL). https://pypi.org/project/Pillow/🎜🎜Python Software Foundation ://pillow.readthedocs.io/en/stable/handbook/index.html🎜🎜

Das obige ist der detaillierte Inhalt vonSo verarbeiten Sie Bilder stapelweise mit Python. 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