Heim > Artikel > Backend-Entwicklung > 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()
Schritt 5: Schleife durch den Eingabeordner und Stapelverarbeitung
rrreee
In diesem Beispiel verwenden wir die Funktionos.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. 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. 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!