Tracé d'images avec Matplotlib

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, vous allez apprendre à tracer et à manipuler des images à l'aide de la bibliothèque Matplotlib en Python. Vous allez apprendre à importer des données d'image dans des tableaux NumPy, à tracer des tableaux NumPy sous forme d'images, à appliquer des schémas de pseudocolor, à ajouter des références d'échelle de couleur, à examiner des plages de données spécifiques et à explorer différents schémas d'interpolation.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour passer à l'onglet Carnet de notes pour accéder au carnet Jupyter Notebook pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet 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ésoudrons rapidement le problème pour vous.

Importation des données d'image

Pour commencer, nous devons importer les bibliothèques nécessaires et charger les données d'image dans un tableau NumPy. Dans notre cas, nous utiliserons la bibliothèque PIL pour charger l'image, puis la convertir en un tableau NumPy.

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np

img = np.asarray(Image.open('./stinkbug.png'))

Traçage d'images

Maintenant que nous avons les données d'image dans un tableau NumPy, nous pouvons les tracer à l'aide de la fonction imshow de matplotlib.pyplot. Cette fonction prend le tableau d'image en entrée et l'affiche sous forme d'un tracé d'image.

plt.imshow(img)

Application de schémas de pseudocolor

Les schémas de pseudocolor peuvent être utilisés pour améliorer le contraste et visualiser les données plus facilement. Si l'image est en niveaux de gris, nous pouvons appliquer des schémas de pseudocolor en spécifiant différents cartes de couleurs. Nous pouvons le faire en utilisant le paramètre cmap dans la fonction imshow.

lum_img = img[:, :, 0]
plt.imshow(lum_img, cmap="hot")

Ajout d'une référence d'échelle de couleur

Pour fournir une référence pour l'échelle de couleur, nous pouvons ajouter une barre de couleur au tracé. Cela peut être fait à l'aide de la fonction colorbar de matplotlib.pyplot.

imgplot = plt.imshow(lum_img)
plt.colorbar()

Examen de plages de données spécifiques

Parfois, il peut être nécessaire d'examiner des plages de données spécifiques dans une image. Nous pouvons le faire en ajustant les limites de la carte de couleurs à l'aide du paramètre clim dans la fonction imshow. Cela nous permet de nous concentrer sur des régions spécifiques de l'image tout en sacrifiant le détail dans d'autres régions.

min_value, max_value = 100, 200
plt.imshow(img, clim=(min_value, max_value))

Schémas d'interpolation d'un tableau

Lors du redimensionnement d'une image, il est nécessaire d'interpoler les valeurs des pixels pour combler l'espace manquant. Différents schémas d'interpolation peuvent être utilisés pour déterminer la valeur d'un pixel en fonction de ses pixels environnants. Matplotlib propose différentes options d'interpolation, telles que "nearest", "bilinear" et "bicubic".

plt.imshow(img, interpolation="bilinear")

Sommaire

Dans ce laboratoire, vous avez appris à tracer et à manipuler des images à l'aide de Matplotlib. Vous avez appris à importer des données d'image dans des tableaux NumPy, à tracer des tableaux NumPy sous forme d'images, à appliquer des schémas de pseudocolor, à ajouter des références d'échelle de couleur, à examiner des plages de données spécifiques et à explorer différents schémas d'interpolation. Ces compétences seront utiles pour visualiser et analyser des images dans diverses applications.