IniziaInizia gratis

Una pipeline di elaborazione delle immagini

Un tuo collega ha scritto una funzione di preprocessing da usare sulle immagini della lingua dei segni americana per migliorare l'accuratezza del tuo modello di Machine Learning. Questa funzione prende un'immagine in scala di grigi ed esegue il rilevamento dei bordi di Canny. Il rilevamento dei bordi di Canny è comunemente usato nella computer vision classica e mette in evidenza i contorni degli oggetti in un'immagine. Vuoi applicarlo a tutte le immagini del tuo insieme di dati.

La funzione scritta dal tuo collega è disponibile nell'ambiente come compute_edges() e accetta un'immagine con dimensioni (1, h, w) dove l'altezza h e la larghezza w possono essere interi qualsiasi.

L'array Dask delle tue immagini è disponibile nell'ambiente come image_array. Questo array ha forma (N, h, w, 3) dove N è il numero di immagini, e ci sono 3 canali per rosso, blu e verde.

dask.array è già stato importato come da.

Questo esercizio fa parte del corso

Programmazione parallela con Dask in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Converti l'immagine da colore a scala di grigi calcolando la media lungo l'ultima dimensione.
  • Usa il metodo .map_blocks() sugli array in scala di grigi per applicare la funzione compute_edges() a ciascuna immagine.
  • Seleziona solo l'immagine dei bordi con indice zero ed esegui il calcolo.
  • Usa plt.imshow() per visualizzare i bordi.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice