Couper des images avec des patches

MatplotlibMatplotlibBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à découper une image avec des patches à l'aide de la bibliothèque Matplotlib de Python. Découper une image avec des patches vous permet de souligner des zones spécifiques de l'image ou de couper l'image en une forme spécifique.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.

Importation des bibliothèques

Pour commencer, nous devons importer les bibliothèques nécessaires. Nous allons utiliser Matplotlib pour afficher l'image et créer le patch, et la bibliothèque cbook pour charger l'image d'échantillonnage.

import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import matplotlib.patches as patches

Charger l'image

Nous allons utiliser la méthode get_sample_data de cbook pour charger une image d'échantillonnage. Cette méthode renvoie un objet semblable à un fichier, que nous pouvons passer à imshow pour afficher l'image.

with cbook.get_sample_data('grace_hopper.jpg') as image_file:
    image = plt.imread(image_file)

Afficher l'image

Maintenant, nous pouvons afficher l'image à l'aide de la méthode imshow de Matplotlib. Nous allons également désactiver les axes pour ne voir que l'image.

fig, ax = plt.subplots()
im = ax.imshow(image)
ax.axis('off')

Créer le patch

Pour créer le patch, nous allons utiliser le module patches de Matplotlib. Nous allons créer un patch circulaire avec un rayon de 200 pixels, centré sur le point (260, 200).

patch = patches.Circle((260, 200), radius=200, transform=ax.transData)

Couper l'image

Enfin, nous allons couper l'image à l'aide de la méthode set_clip_path de l'image. Cette méthode prend le patch en argument et coupe l'image à la forme du patch.

im.set_clip_path(patch)

Afficher l'image coupée

Nous pouvons maintenant afficher l'image coupée à l'aide de la méthode show de Matplotlib.

plt.show()

Sommaire

Dans ce laboratoire, nous avons appris à couper une image avec des patches à l'aide de la bibliothèque Matplotlib de Python. Nous avons chargé une image d'échantillonnage, créé un patch circulaire et coupé l'image à la forme du patch. Couper des images avec des patches peut être utile pour mettre en évidence des zones spécifiques d'une image ou couper l'image à une forme spécifique.