ComeçarComece de graça

Conte os pontos na imagem de um dado

Agora que encontramos os contornos, podemos extrair informações deles.

No exercício anterior, preparamos uma imagem de dados roxos para encontrar seus contornos:

3 images showing the steps to find contours

Desta vez, vamos determinar qual número saiu no dado, contando os pontos na imagem.

Os contornos encontrados no exercício anterior já estão carregados como contours.

Crie uma lista com os shapes de todos os contornos como shape_contours. Você pode ver todos os shapes dos contornos chamando shape_contours no console depois de criá-la.

Verifique que a maioria dos contornos não é maior que 50 em tamanho. Se você contá-los, esse é exatamente o número de pontos na imagem.

show_image_contour(image, contours) é uma função pré-carregada que exibe a imagem com todos os contornos encontrados usando Matplotlib.

Este exercício faz parte do curso

Processamento de Imagens em Python

Ver curso

Instruções do exercício

  • Faça shape_contours ser uma lista com todos os shapes dos contornos em contours.
  • Defina max_dots_shape como 50.
  • Defina a condição de shape dos contornos para que seja o tamanho máximo do shape dos pontos max_dots_shape.
  • Imprima o número do dado.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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(____)))
Editar e executar o código