Aligner des images à l'aide d'ImageGrid de Matplotlib

PythonPythonBeginner
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 tutoriel, nous allons apprendre à utiliser ImageGrid de mpl_toolkits.axes_grid1 dans Matplotlib pour aligner plusieurs images de tailles différentes.

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 Carnet d'étude pour accéder au carnet Jupyter pour pratiquer.

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

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.

Importez les bibliothèques nécessaires

Tout d'abord, nous devons importer les bibliothèques nécessaires, y compris Matplotlib, cbook et ImageGrid.

import matplotlib.pyplot as plt
from matplotlib import cbook
from mpl_toolkits.axes_grid1 import ImageGrid

Créez une figure et un ImageGrid

Ensuite, nous créons une figure et un ImageGrid avec le paramètre nrows_ncols pour définir le nombre de lignes et de colonnes de la grille.

fig = plt.figure(figsize=(5.5, 3.5))
grid = ImageGrid(fig, 111,  ## similaire à subplot(111)
                 nrows_ncols=(1, 3),
                 axes_pad=0.1,
                 label_mode="L")

Chargez les données d'image

Nous allons utiliser un exemple de données d'image appelées bivariate_normal.npy provenant de cbook pour démontrer l'ImageGrid. Nous chargeons les données d'image à l'aide de la fonction get_sample_data de cbook.

Z = cbook.get_sample_data("axes_grid/bivariate_normal.npy")
im1 = Z
im2 = Z[:, :10]
im3 = Z[:, 10:]
vmin, vmax = Z.min(), Z.max()

Affichez les images dans l'ImageGrid

Enfin, nous affichons les images dans l'ImageGrid à l'aide de la fonction imshow et de la fonction zip pour itérer sur les axes de la grille.

for ax, im in zip(grid, [im1, im2, im3]):
    ax.imshow(im, origin="lower", vmin=vmin, vmax=vmax)

plt.show()

Sommaire

Dans ce tutoriel, nous avons appris à utiliser ImageGrid dans Matplotlib pour aligner plusieurs images de tailles différentes. Nous avons d'abord importé les bibliothèques nécessaires, puis créé une figure et un ImageGrid, chargé les données d'image et finalement affiché les images dans l'ImageGrid.