Alinhar Imagens Usando ImageGrid do Matplotlib

Beginner

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

Introdução

Neste tutorial, aprenderemos como usar ImageGrid de mpl_toolkits.axes_grid1 em Matplotlib para alinhar múltiplas imagens de diferentes tamanhos.

Dicas para a VM (Máquina Virtual)

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar as bibliotecas necessárias

Primeiramente, precisamos importar as bibliotecas necessárias, incluindo Matplotlib, cbook e ImageGrid.

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

Criar uma Figura e ImageGrid

Em seguida, criamos uma figura e um ImageGrid com o parâmetro nrows_ncols para definir o número de linhas e colunas da grade.

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

Carregar os dados da imagem

Usaremos um exemplo de dados de imagem chamado bivariate_normal.npy de cbook para demonstrar o ImageGrid. Carregamos os dados da imagem usando a função 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()

Exibir imagens no ImageGrid

Finalmente, exibimos as imagens no ImageGrid usando a função imshow e a função zip para iterar pelos eixos na grade.

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

plt.show()

Resumo

Neste tutorial, aprendemos como usar ImageGrid em Matplotlib para alinhar múltiplas imagens de diferentes tamanhos. Primeiro, importamos as bibliotecas necessárias, depois criamos uma figura e um ImageGrid, carregamos os dados da imagem e, finalmente, exibimos as imagens no ImageGrid.