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:

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
Instruções do exercício
- Faça
shape_contoursser uma lista com todos os shapes dos contornos emcontours. - Defina
max_dots_shapecomo 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(____)))