Un pipeline 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 exécute 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 attend 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 il comporte 3 canaux pour le rouge, le bleu et le vert.
dask.array a été importé pour vous sous le nom da.
Cette activité fait partie du cours
Programmation parallèle avec Dask en Python
Instructions de l’exercice
- Convertissez l'image de la couleur vers les niveaux de gris en prenant la moyenne le long de la dernière dimension.
- Utilisez la méthode
.map_blocks()des tableaux d'images en niveaux de gris pour appliquer la fonctioncompute_edges()à chaque image. - Sélectionnez uniquement la 0e image de contours et calculez-la.
- Utilisez
plt.imshow()pour afficher les contours.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()