Začněte nyníZačněte zdarma

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:

3 images showing the steps to find contours

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

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř shape_contours jako seznam s tvary všech konturů z contours.
  • Nastav max_dots_shape na 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(____)))
Upravit a spustit kód