Kom igångKom igång gratis

Räkna prickarna på en tärning

Nu när vi har hittat konturerna kan vi hämta information från dem.

I föregående övning förberedde vi en bild med lila tärningar för att hitta konturerna:

3 images showing the steps to find contours

Den här gången ska vi avgöra vilket nummer som slagits på tärningen genom att räkna prickarna i bilden.

Konturerna som hittades i föregående övning är förhandsladdade som contours.

Skapa en lista med alla konturers former som shape_contours. Du kan se alla konturformerna genom att anropa shape_contours i konsolen när du har skapat listan.

Kontrollera att de flesta konturerna inte är större än 50. Om du räknar dem motsvarar antalet exakt antalet prickar i bilden.

show_image_contour(image, contours) är en förhandsladdad funktion som visar bilden med alla hittade konturer med hjälp av Matplotlib.

Den här övningen är en del av kursen

Bildbehandling i Python

Visa kurs

Övningsinstruktioner

  • Gör shape_contours till en lista med alla konturformer från contours.
  • Sätt max_dots_shape till 50.
  • Ange formvillkoret för konturerna så att det motsvarar den maximala formstorleken för prickarna, max_dots_shape.
  • Skriv ut tärningens nummer.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____)))
Redigera och kör kod