ComeçarComece gratuitamente

Contar 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 imagens mostrando as etapas para encontrar contornos

Desta vez, determinaremos qual número foi lançado no dado, contando os pontos na imagem.

Os contornos encontrados no exercício anterior são pré-carregados como contours.

Crie uma lista com todas as formas de contorno como shape_contours. Você pode ver todas as formas de contorno chamando shape_contours no console, depois de criá-lo.

Verifique se a maioria dos contornos não é maior do que 50. Se você contá-los, eles são o número exato de pontos na imagem.

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

Este exercício faz parte do curso

Processamento de imagens em Python

Ver Curso

Instruções de exercício

  • Faça com que shape_contours seja uma lista com todas as formas de contorno de contours.
  • Defina max_dots_shape como 50.
  • Defina a condição de forma dos contornos como o tamanho máximo da forma dos pontos max_dots_shape.
  • Imprima o número do dado.

Exercício interativo prático

Experimente este exercício preenchendo 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 código