Alinear imágenes usando ImageGrid de Matplotlib

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este tutorial, aprenderemos a usar ImageGrid de mpl_toolkits.axes_grid1 en Matplotlib para alinear múltiples imágenes de diferentes tamaños.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.

Importar las bibliotecas necesarias

Primero, necesitamos importar las bibliotecas necesarias, incluyendo Matplotlib, cbook e ImageGrid.

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

Crear una Figura y un ImageGrid

A continuación, creamos una figura y un ImageGrid con el parámetro nrows_ncols para definir el número de filas y columnas de la cuadrícula.

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

Cargar los datos de la imagen

Usaremos un ejemplo de datos de imagen llamado bivariate_normal.npy de cbook para demostrar el ImageGrid. Cargamos los datos de la imagen usando la función 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()

Mostrar imágenes en el ImageGrid

Finalmente, mostramos las imágenes en el ImageGrid usando la función imshow y la función zip para iterar a través de los ejes en la cuadrícula.

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

plt.show()

Resumen

En este tutorial, hemos aprendido cómo usar ImageGrid en Matplotlib para alinear múltiples imágenes de diferentes tamaños. Primero importamos las bibliotecas necesarias, luego creamos una figura y un ImageGrid, cargamos los datos de la imagen y, finalmente, mostramos las imágenes en el ImageGrid.