Spočítej tečky na kostce
Teď, když jsme našli kontury, můžeme z nich získat užitečné informace.
V předchozím cvičení jsme připravili obrázek fialové kostky, abychom v něm našli kontury:

Tentokrát zjistíme, jaké číslo padlo na kostce – a to spočítáním teček na obrázku.
Kontury nalezené v předchozím cvičení jsou přednahrány jako contours.
Vytvoř seznam s tvary všech konturů jako shape_contours. Všechny tvary konturů si můžeš zobrazit voláním shape_contours v konzoli, jakmile ho vytvoříš.
Over, že většina konturů není větší než 50. Když je spočítáš, dostaneš přesný počet teček na obrázku.
show_image_contour(image, contours) je přednahraná funkce, která zobrazí obrázek se všemi nalezenými konturami pomocí Matplotlib.
Toto cvičení je součástí kurzu
Image Processing in Python
Pokyny k cvičení
- Vytvoř
shape_contoursjako seznam s tvary všech konturů zcontours. - Nastav
max_dots_shapena 50. - Nastav podmínku tvaru konturů tak, aby odpovídala maximální velikosti tvaru teček
max_dots_shape. - Vypiš číslo na kostce.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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(____)))