Bildverarbeitung mit Python
Rebeca Gonzalez
Data Engineer
Ein Bild in Vorder- und Hintergrund aufteilen
Indem wir es schwarz-weiß machen
Dazu setzen wir jeden Pixel auf:

Einfachste Methode der Bildsegmentierung

Nur bei Graustufen-Bildern

# Optimalen Schwellwert bestimmen thresh = 127# Thresholding auf das Bild anwenden binary = image > thresh# Original und Ergebnis anzeigen show_image(image, 'Original') show_image(binary, 'Thresholded')

# Optimalen Schwellwert bestimmen thresh = 127# Invertiertes Thresholding anwenden inverted_binary = image <= thresh# Original und Ergebnis anzeigen show_image(image, 'Original') show_image(inverted_binary, 'Inverted thresholded')

Global oder histogrammbasiert: gut bei einheitlichem Hintergrund
Lokal oder adaptiv: bei ungleichmäßiger Ausleuchtung

from skimage.filters import try_all_threshold# Alle Ergebnisbilder erzeugen fig, ax = try_all_threshold(image, verbose=False)# Ergebnisse anzeigen show_plot(fig, ax)

# Otsu-Schwellwertfunktion importieren from skimage.filters import threshold_otsu# Optimalen Schwellwert bestimmen thresh = threshold_otsu(image)# Thresholding anwenden binary_global = image > thresh
# Original und binarisiertes Bild anzeigen
show_image(image, 'Original')
show_image(binary_global, 'Global thresholding')

# Lokale Schwellwertfunktion importieren from skimage.filters import threshold_local# Blockgröße auf 35 setzen block_size = 35# Optimalen lokalen Schwellwert berechnen local_thresh = threshold_local(text_image, block_size, offset=10)# Lokales Thresholding anwenden und binäres Bild erhalten binary_local = text_image > local_thresh
# Original und binarisiertes Bild anzeigen
show_image(text_image, 'Original')
show_image(binary_local, 'Local thresholding')

Bildverarbeitung mit Python