ComenzarEmpieza gratis

Una canalización de procesamiento de imágenes

Tu compañera/o ha escrito una función de preprocesamiento para usar en las imágenes de lengua de signos americana y así mejorar la precisión de tu modelo de Machine Learning. Esta función toma una imagen en escala de grises y ejecuta la detección de bordes de Canny. La detección de Canny se usa comúnmente en la visión por computador clásica y resalta los bordes de los objetos en una imagen. Quieres aplicarla a todas las imágenes de tu conjunto de datos.

La función que ha escrito tu compañera/o está disponible en tu entorno como compute_edges() y recibe una imagen con dimensiones (1, h, w), donde la altura h y la anchura w pueden ser cualquier número entero.

El array de Dask con tus imágenes está disponible en el entorno como image_array. Este array tiene forma (N, h, w, 3), donde N es el número de imágenes, y hay 3 canales para rojo, azul y verde.

dask.array ya se ha importado como da.

Este ejercicio forma parte del curso

Programación paralela con Dask en Python

Ver curso

Instrucciones del ejercicio

  • Convierte la imagen de color a escala de grises calculando la media a lo largo de la última dimensión.
  • Usa el método .map_blocks() de los arrays en escala de grises para aplicar la función compute_edges() a cada imagen.
  • Selecciona solo la imagen de bordes con índice cero y cálculala.
  • Utiliza plt.imshow() para mostrar los bordes.

Ejercicio interactivo práctico

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

# Convert the color photos to grayscale
grayscale_images = ____

# Apply the edge detection function
edge_images = ____.____(____)

# Select the zeroth image and compute its values
sample_image = ____

# Show the result
____(____, cmap='gray')
plt.show()
Editar y ejecutar código