CommencerCommencer gratuitement

Une chaîne de traitement d’images

Votre collègue a écrit une fonction de prétraitement à utiliser sur les images de langue des signes américaine afin d’améliorer la précision de votre modèle de Machine Learning. Cette fonction prend une image en niveaux de gris et y applique la détection de contours de Canny. La détection de Canny est couramment utilisée en vision par ordinateur classique et met en évidence les contours des objets dans une image. Vous souhaitez l’appliquer à toutes les images de votre jeu de données.

La fonction écrite par votre collègue est disponible dans votre environnement sous le nom compute_edges(). Elle prend une image de dimensions (1, h, w), où la hauteur h et la largeur w peuvent être n’importe quels entiers.

Le tableau Dask de vos images est disponible dans l’environnement sous le nom image_array. Ce tableau a la forme (N, h, w, 3), où N est le nombre d’images et où les 3 canaux correspondent au rouge, au bleu et au vert.

dask.array a été importé pour vous sous l’alias da.

Cet exercice fait partie du cours

Programmation parallèle avec Dask en Python

Afficher le cours

Instructions

  • Convertissez l’image couleur en niveau de gris en prenant la moyenne le long de la dernière dimension.
  • Utilisez la méthode .map_blocks() des tableaux en niveaux de gris pour appliquer la fonction compute_edges() à chaque image.
  • Sélectionnez uniquement la première image de contours (indice 0) et calculez-la.
  • Utilisez plt.imshow() pour afficher les contours.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()
Modifier et exécuter le code