Matplotlib ImageGrid 를 사용하여 이미지 정렬하기

Beginner

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

소개

이 튜토리얼에서는 Matplotlib 의 mpl_toolkits.axes_grid1에서 ImageGrid를 사용하여 크기가 다른 여러 이미지를 정렬하는 방법을 배웁니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.

필요한 라이브러리 가져오기

먼저 Matplotlib, cbook 및 ImageGrid 를 포함한 필요한 라이브러리를 가져와야 합니다.

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

Figure 및 ImageGrid 생성

다음으로, 그리드의 행과 열의 수를 정의하기 위해 nrows_ncols 매개변수를 사용하여 figure 와 ImageGrid 를 생성합니다.

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")

이미지 데이터 로드

ImageGrid 를 시연하기 위해 cbook에서 제공하는 bivariate_normal.npy라는 예시 이미지 데이터를 사용합니다. cbookget_sample_data 함수를 사용하여 이미지 데이터를 로드합니다.

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

ImageGrid 에 이미지 표시

마지막으로, imshow 함수와 zip 함수를 사용하여 ImageGrid 에 이미지를 표시하고, 그리드의 축을 반복합니다.

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

plt.show()

요약

이 튜토리얼에서는 Matplotlib 에서 ImageGrid를 사용하여 서로 다른 크기의 여러 이미지를 정렬하는 방법을 배웠습니다. 먼저 필요한 라이브러리를 가져온 다음, figure 와 ImageGrid 를 생성하고, 이미지 데이터를 로드한 후, ImageGrid 에 이미지를 표시했습니다.