Aan de slagGa gratis aan de slag

Tel de stippen op een dobbelsteenafbeelding

Nu we de contouren hebben gevonden, kunnen we er informatie uit halen.

In de vorige oefening hebben we een paarse afbeelding van dobbelstenen voorbereid om de contouren te vinden:

3 images showing the steps to find contours

Deze keer bepalen we welk aantal is gegooid door de stippen in de afbeelding te tellen.

De contouren die in de vorige oefening zijn gevonden, zijn vooraf ingeladen als contours.

Maak een lijst met alle vormen (shapes) van de contouren als shape_contours. Je kunt alle contourvormen bekijken door shape_contours in de console aan te roepen zodra je deze hebt gemaakt.

Controleer dat de meeste contouren niet groter zijn dan 50. Als je ze telt, krijg je precies het aantal stippen in de afbeelding.

show_image_contour(image, contours) is een vooraf ingeladen functie die de afbeelding met alle gevonden contouren weergeeft met Matplotlib.

Deze oefening maakt deel uit van de cursus

Beeldverwerking in Python

Cursus bekijken

Oefeninstructies

  • Maak shape_contours als een lijst met alle contourvormen van contours.
  • Stel max_dots_shape in op 50.
  • Stel de voorwaarde voor de contourvorm in op de maximale vormgrootte van de stippen max_dots_shape.
  • Print het aantal ogen op de dobbelsteen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren