ComenzarEmpieza gratis

Cuenta los puntos en la imagen de un dado

Ahora que hemos encontrado los contornos, podemos extraer información de ellos.

En el ejercicio anterior, preparamos una imagen de dados morados para encontrar sus contornos:

3 images showing the steps to find contours

Esta vez determinaremos qué número salió en el dado contando los puntos de la imagen.

Los contornos encontrados en el ejercicio anterior están precargados como contours.

Crea una lista con las formas de todos los contornos como shape_contours. Puedes ver todas las formas de los contornos llamando a shape_contours en la consola, una vez la hayas creado.

Comprueba que la mayoría de los contornos no son mayores de tamaño que 50. Si los cuentas, son el número exacto de puntos en la imagen.

show_image_contour(image, contours) es una función precargada que muestra la imagen con todos los contornos encontrados usando Matplotlib.

Este ejercicio forma parte del curso

Procesamiento de Imágenes en Python

Ver curso

Instrucciones del ejercicio

  • Haz que shape_contours sea una lista con todas las formas de los contornos de contours.
  • Define max_dots_shape como 50.
  • Establece la condición de forma de los contornos para que sea el tamaño máximo de la forma de los puntos max_dots_shape.
  • Imprime el número del dado.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código