LoslegenKostenlos starten

Zähle die Punkte auf dem Würfelbild

Jetzt, da wir die Konturen gefunden haben, können wir Informationen daraus extrahieren.

In der vorherigen Übung haben wir ein Bild eines violetten Würfels aufbereitet, um seine Konturen zu finden:

3 images showing the steps to find contours

Diesmal bestimmen wir die gewürfelte Zahl, indem wir die Punkte im Bild zählen.

Die in der vorherigen Übung gefundenen Konturen sind als contours vorab geladen.

Erstelle eine Liste mit allen Formen der Konturen als shape_contours. Du kannst dir alle Konturformen anzeigen lassen, indem du nach dem Erstellen shape_contours in der Konsole aufrufst.

Prüfe, dass die meisten Konturen nicht größer als 50 sind. Wenn du sie zählst, entspricht das genau der Anzahl der Punkte im Bild.

show_image_contour(image, contours) ist eine vorab geladene Funktion, die das Bild mit allen gefundenen Konturen mit Matplotlib anzeigt.

Diese Übung ist Teil des Kurses

<Kurs>Bildverarbeitung mit Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Mache shape_contours zu einer Liste mit allen Konturformen aus contours.
  • Setze max_dots_shape auf 50.
  • Setze die Formbedingung der Konturen so, dass sie die maximale Formgröße der Punkte max_dots_shape nicht überschreitet.
  • Gib die Augenzahl des Würfels aus.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Create list with the shape of each contour
shape_contours = [cnt.shape[0] for cnt in ____]

# Set 50 as the maximum size of the dots shape
max_dots_shape = ____

# Count dots in contours excluding bigger than dots size
dots_contours = [cnt for cnt in contours if np.shape(cnt)[0] < ____]

# Shows all contours found 
show_image_contour(binary, contours)

# Print the dice's number
print("Dice's dots number: {}. ".format(len(____)))
Code bearbeiten und ausführen