Python-Bildverarbeitung mit Pillow: Umfassender Leitfaden
Die Pillow Python Imaging Library ist ideal für Bildverarbeitung. Typischerweise wird sie für Archivierung und Batch-Verarbeitung genutzt. Natürlich können Sie sie für alles einsetzen, was Sie sich vorstellen können. Mit der Bibliothek können Sie:
- Thumbnails erstellen
- Dateiformate konvertieren
- Bilder drucken
- Histogramm abrufen (ideal für automatische Kontrastverbesserung)
- Bilder drehen
- Filter anwenden wie Blur
Bildverarbeitungspaket installieren
Um Pillow zu installieren, einen Fork und Fortführung der ursprünglichen Python Imaging Library, nutzen Sie pip install:
pip3 install Pillow
Bilder verarbeiten
Pillow bietet mehrere Filter, die nach Import von ImageFilter verfügbar sind. Zum Verwischen eines Bildes:
from PIL import Image, ImageFilter
im = Image.open("kittens.jpg")
blurred = im.filter(ImageFilter.BLUR)
Weitere Filter: SHARPEN, SMOOTH, EDGE_ENHANCE. Vollständige Liste in der ImageFilter-Referenz.
Bild um 180 Grad drehen:
rotated_image = im.rotate(180)
Ergebnisse speichern:
rotated_image.save("rotated.jpg")
Bilder anzeigen
Neben Bildverarbeitung kann die Bibliothek Bilder am Bildschirm anzeigen. Beispielcode für kittens.jpg:
from PIL import Image
im = Image.open("kittens.jpg")
im.show()
print(im.format, im.size, im.mode)
# JPEG (1920, 1357) RGB
Im folgenden animierten GIF demonstriere ich Pillow direkt aus IPython:
Weiterführende Literatur
Die Bibliothek bietet viel mehr. Um alles über Python-Bildverarbeitung mit Pillow zu lernen, am besten das offizielle Tutorial besuchen!
Python
- Roboter mit Raspberry Pi und Python bauen: Komplette Anleitung
- Python print()-Funktion: Praktischer Leitfaden mit Beispielen
- Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
- Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
- Python format()-Strings meistern mit klaren Beispielen
- Pythons String.find()-Methode meistern: Syntax, Beispiele & Alternativen
- Python Lambda-Funktionen meistern: Praxisbeispiele & Best Practices
- Python round()-Funktion erklärt mit praktischen Beispielen
- Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices
- Python timeit(): Ausführungszeit messen mit praktischen Beispielen