ComeçarComece de graça

Um pipeline de processamento de imagens

Sua colega escreveu uma função de pré-processamento para usar nas imagens de linguagem de sinais americana, com o objetivo de aumentar a precisão do seu modelo de Machine Learning. Essa função recebe uma imagem em tons de cinza e executa a detecção de bordas de Canny. A detecção de Canny é comum na visão computacional clássica e destaca as bordas dos objetos em uma imagem. Você quer aplicá-la a todas as imagens do seu conjunto de dados.

A função que sua colega escreveu está disponível no seu ambiente como compute_edges(), e recebe uma imagem com dimensões (1, h, w), onde a altura h e a largura w podem ser quaisquer inteiros.

O array Dask com suas imagens está disponível no ambiente como image_array. Esse array tem formato (N, h, w, 3), onde N é o número de imagens, e há 3 canais para vermelho, azul e verde.

dask.array já foi importado para você como da.

Este exercício faz parte do curso

Programação Paralela com Dask em Python

Ver curso

Instruções do exercício

  • Converta a imagem de colorida para tons de cinza calculando a média ao longo da última dimensão.
  • Use o método .map_blocks() do array em tons de cinza para aplicar a função compute_edges() a cada imagem.
  • Selecione apenas a imagem de bordas de índice zero e compute-a.
  • Use plt.imshow() para plotar as bordas.

Exercício interativo prático

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

# 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 e executar o código