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:

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
Oefeninstructies
- Maak
shape_contoursals een lijst met alle contourvormen vancontours. - Stel
max_dots_shapein 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(____)))