Transformationen

Bildverarbeitung mit Python

Rebeca Gonzalez

Data Engineer

Warum Bilder transformieren?

  • Bilder für Klassifikations-ML-Modelle vorbereiten
  • Bilder optimieren und komprimieren
  • Bilder mit gleichem Seitenverhältnis speichern

Ein Katzenbild wird verarbeitet, herunterskaliert

Bildverarbeitung mit Python

Drehen

2 Hunde spielen, laufen

Foto von 2 Hunden, die spielen und laufen, um 90 Grad im Uhrzeigersinn gedreht

Bildverarbeitung mit Python

Drehen

2 Hunde spielen, laufen

2 Hunde spielen, laufen, um 90 Grad gegen den Uhrzeigersinn gedreht

Bildverarbeitung mit Python

Drehen im Uhrzeigersinn

from skimage.transform import rotate

# Bild um 90 Grad im Uhrzeigersinn drehen image_rotated = rotate(image, -90)
show_image(image, 'Original') show_image(image_rotated, 'Um 90 Grad im Uhrzeigersinn gedreht')

Originalfoto der Hunde neben dem gedrehten

Bildverarbeitung mit Python

Drehen gegen den Uhrzeigersinn

from skimage.transform import rotate

# Bild um 90 Grad gegen den Uhrzeigersinn drehen image_rotated = rotate(image, 90)
show_image(image, 'Original') show_image(image_rotated, 'Um 90 Grad gegen den Uhrzeigersinn gedreht')

Originalfoto der Hunde neben dem um 90 Grad gedrehten

Bildverarbeitung mit Python

Reskalieren

Originalbild von 2 Hunden mit 3000 Pixeln neben herunterskaliertem mit 800 Pixeln

Bildverarbeitung mit Python

Reskalieren

Herunterskalieren
from skimage.transform import rescale

# Bild auf ein Viertel verkleinern image_rescaled = rescale(image, 1/4, anti_aliasing=True, multichannel=True)
show_image(image, 'Originalbild') show_image(image_rescaled, 'Reskaliertes Bild')
Bildverarbeitung mit Python

Reskalieren

Originalbild von 2 Hunden mit 3000 Pixeln neben herunterskaliertem mit 800 Pixeln

Bildverarbeitung mit Python

Aliasing in Digitalbildern

Bild des Buchstabens A ohne Aliasing neben einem Bild des Buchstabens A mit Aliasing

Bildverarbeitung mit Python

Aliasing in Digitalbildern

Reskaliertes Bild von 2 spielenden Hunden mit Aliasing neben einem reskalierten ohne Aliasing

Bildverarbeitung mit Python

Größe ändern

Originalbild mit 3000 Pixeln neben einem in der Größe auf 800 Pixel geänderten

Bildverarbeitung mit Python

Größe ändern

from skimage.transform import resize

# Höhe und Breite für die Größenänderung height = 400 width = 500
# Bildgröße ändern image_resized = resize(image, (height, width), anti_aliasing=True)
# Original und Ergebnis anzeigen show_image(image, 'Originalbild') show_image(image_resized, 'Größe geändert')
Bildverarbeitung mit Python

Größe ändern

Originalbild von 2 Hunden mit 3000 Pixeln neben einem geänderten, das nicht proportional wirkt

Bildverarbeitung mit Python

Proportional Größe ändern

from skimage.transform import resize

# Proportionale Höhe/Breite setzen: auf ein Viertel verkleinern height = image.shape[0] / 4 width = image.shape[1] / 4
# Bildgröße ändern image_resized = resize(image, (height, width), anti_aliasing=True)
show_image(image_resized, 'Größe geändert')
Bildverarbeitung mit Python

Proportional Größe ändern

Originalbild von 2 Hunden mit 3000 Pixeln neben einem diesmal proportional geänderten mit 800 Pixeln

Bildverarbeitung mit Python

Lass uns üben!

Bildverarbeitung mit Python

Preparing Video For Download...