IniziaInizia gratis

Conta i puntini nell'immagine di un dado

Ora che abbiamo trovato i contorni, possiamo estrarre informazioni da essi.

Nel precedente esercizio abbiamo preparato un'immagine di dadi viola per trovarne i contorni:

3 images showing the steps to find contours

Questa volta determineremo quale numero è uscito sul dado, contando i puntini nell'immagine.

I contorni trovati nell'esercizio precedente sono già caricati come contours.

Crea una lista con le dimensioni di tutti i contorni chiamata shape_contours. Puoi vedere tutte le dimensioni dei contorni richiamando shape_contours nella console, una volta creata.

Verifica che la maggior parte dei contorni non sia più grande di 50. Se li conti, corrispondono esattamente al numero di puntini nell'immagine.

show_image_contour(image, contours) è una funzione pre-caricata che mostra l'immagine con tutti i contorni trovati usando Matplotlib.

Questo esercizio fa parte del corso

Elaborazione di immagini in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Fai in modo che shape_contours sia una lista con le dimensioni di tutti i contorni in contours.
  • Imposta max_dots_shape a 50.
  • Imposta la condizione sulla dimensione dei contorni affinché sia minore o uguale alla dimensione massima dei puntini max_dots_shape.
  • Stampa il numero del dado.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(____)))
Modifica ed esegui il codice