1. Farbmodus ändern
Ein Bild kann in verschiedenen Farbmodi dargestellt werden, wie zum Beispiel:
- RGB: Standard-Farbmodus.
- L: Graustufen.
- CMYK: Wird im Druck verwendet.
- RGBA: RGB mit Alpha-Kanal (für Transparenz).
Der Farbmodus eines Bildes kann mit der Methode convert() geändert werden.
Umwandlung in Graustufen
Um ein Bild schwarz-weiß zu machen, verwende den Farbmodus L:
# Umwandlung in Graustufen
gray_image = image.convert("L")
gray_image.save("gray_example.jpg")
Dieser Code wandelt das Bild in Schwarz-Weiß um und speichert es in der Datei gray_example.jpg. Das ist nützlich, wenn du einen Schwarz-Weiß-Stil erstellen oder ein Bild für Analysen vorbereiten möchtest, bei denen nur die Helligkeit wichtig ist.
Umwandlung in den Modus CMYK
CMYK wird häufig in der Drucktechnik verwendet. Die Umwandlung eines Bildes in diesen Modus kann nützlich sein, wenn das Bild für den Druck gedacht ist.
# Umwandlung in CMYK
cmyk_image = image.convert("CMYK")
cmyk_image.save("cmyk_example.jpg")
2. Filter auf Bilder anwenden
Pillow bietet mehrere eingebaute Filter, die für verschiedene Effekte genutzt werden können. Diese Filter befinden sich im Modul ImageFilter.
Anwendung von Blur-, Kontur- und Schärfe-Filtern
from PIL import ImageFilter
# Weichzeichner (Blur) anwenden
blurred_image = image.filter(ImageFilter.BLUR)
blurred_image.save("blurred_example.jpg")
# Konturenfilter anwenden
contour_image = image.filter(ImageFilter.CONTOUR)
contour_image.save("contour_example.jpg")
# Schärfefilter anwenden
sharpened_image = image.filter(ImageFilter.SHARPEN)
sharpened_image.save("sharpened_example.jpg")
Hier wenden wir drei verschiedene Filter an:
- BLUR: Weichzeichnung des Bildes, nützlich für weiche Effekte.
- CONTOUR: Hervorhebung der Konturen von Objekten im Bild.
- SHARPEN: Erhöhung der Schärfe, wodurch das Bild klarer wird.
Andere Filter
Einige weitere nützliche Filter in Pillow:
- DETAIL: Betont Details.
- EDGE_ENHANCE: Verstärkt Kanten.
- SMOOTH: Glättet das Bild.
# Kantenverstärkungsfilter anwenden
edge_image = image.filter(ImageFilter.EDGE_ENHANCE)
edge_image.save("edge_enhance_example.jpg")
3. Anpassung von Helligkeit, Kontrast, Schärfe und Sättigung
Das ImageEnhance-Paket in Pillow ermöglicht es, die Helligkeit, den Kontrast, die Schärfe und die Farbsättigung eines Bildes leicht anzupassen.
Helligkeit anpassen
Verwende die Klasse ImageEnhance.Brightness, um die Helligkeit anzupassen. Der Helligkeitsfaktor kann jede Zahl sein: 1.0 – Original-Helligkeit, weniger als 1.0 – dunkler, mehr als 1.0 – heller.
from PIL import ImageEnhance
# Helligkeit ändern
enhancer = ImageEnhance.Brightness(image)
brighter_image = enhancer.enhance(1.5) # 50% heller
brighter_image.save("brighter_example.jpg")
Kontrast anpassen
Kontrast macht helle Bereiche heller und dunkle dunkler. Verwende ImageEnhance.Contrast, um den Kontrast anzupassen.
# Kontrast ändern
enhancer = ImageEnhance.Contrast(image)
higher_contrast_image = enhancer.enhance(1.5) # 50% mehr Kontrast
higher_contrast_image.save("higher_contrast_example.jpg")
Schärfe anpassen
Schärfe bestimmt, wie klar die Kanten der Objekte im Bild sind. Verwende ImageEnhance.Sharpness, um die Schärfe anzupassen.
# Schärfe ändern
enhancer = ImageEnhance.Sharpness(image)
sharper_image = enhancer.enhance(2.0) # 2x mehr Schärfe
sharper_image.save("sharper_example.jpg")
Ein Wert von 1.0 behält die Original-Schärfe, weniger als 1.0 macht das Bild unschärfer, und mehr als 1.0 macht es schärfer.
Farbsättigung anpassen
Mit der Sättigung kannst du Farben intensiver oder weniger intensiv machen. Verwende ImageEnhance.Color, um die Sättigung anzupassen.
# Sättigung ändern
enhancer = ImageEnhance.Color(image)
more_vibrant_image = enhancer.enhance(1.5) # 50% mehr Sättigung
more_vibrant_image.save("more_vibrant_example.jpg")
4. Vergleich der Bildkorrekturmethoden
| Methode | Beschreibung | Anwendung |
|---|---|---|
convert("L") |
Umwandlung des Bildes in Schwarz-Weiß-Modus | Schwarz-Weiß-Stil, Analyse der Grautöne |
ImageFilter |
Filter für Weichzeichnen, Schärfen usw. anwenden | Effekte hinzufügen, Objekte hervorheben |
ImageEnhance.Brightness |
Helligkeit des Bildes anpassen | Aufhellen oder Abdunkeln |
ImageEnhance.Contrast |
Kontrast anpassen | Details besser sichtbar machen |
ImageEnhance.Sharpness |
Schärfe anpassen | Kanten betonen, Bild schärfer machen |
ImageEnhance.Color |
Farbsättigung anpassen | Helle, satte Bilder erstellen |
5. Beispiele
Beispiel für vollständige Bildbearbeitung
Kombinieren wir alle oben genannten Punkte und erstellen einen Code, der mehrere Schritte zur Farbkorrektur durchführt, Filter anwendet und Helligkeit, Kontrast und Sättigung ändert.
from PIL import Image, ImageEnhance, ImageFilter
# Bild laden
image = Image.open("example.jpg")
# Umwandlung in Graustufen
gray_image = image.convert("L")
gray_image.save("gray_example.jpg")
# Schärfefilter auf Graustufen anwenden
sharpened_image = gray_image.filter(ImageFilter.SHARPEN)
sharpened_image.save("sharpened_gray_example.jpg")
# Helligkeit erhöhen
enhancer = ImageEnhance.Brightness(sharpened_image)
brighter_image = enhancer.enhance(1.3) # 30% heller
brighter_image.save("brighter_gray_example.jpg")
# Kontrast erhöhen
enhancer = ImageEnhance.Contrast(brighter_image)
higher_contrast_image = enhancer.enhance(1.5) # 50% mehr Kontrast
higher_contrast_image.save("final_example.jpg")
Praktische Anwendungen der Farbkorrektur
- Fotoverarbeitung: Anpassung von Helligkeit und Kontrast, um Details auf einem Foto hervorzuheben, sowie Filter, um das Bild ausdrucksstärker zu machen.
- Vorbereitung von Bildern für Analysen: Umwandlung in Schwarz-Weiß, Erhöhung der Schärfe und des Kontrasts, um das Bild klarer und für Analysen geeignet zu machen.
- Stilisierung von Bildern: Änderung der Sättigung und Anwendung von Filtern, um einzigartige Stile und Effekte für Designprojekte zu erstellen.
GO TO FULL VERSION