[Google Colab] 여러 이미지를 타일로 정렬하여 미리보기 이미지처럼 표시하고 싶습니다.

Google Colaboratory에서 이미지 시스템을 처리할 때 여러 이미지를 표시하고 비교할 수 있습니다. 단순히 루프 안에서 한 장 한 장 표시시키면 세로로 공간을 사용하여 스크롤이 힘들기 때문에 가능한 한 옆에 나란히 공간을 효과적으로 활용하고 싶다.

확인은 하지 않지만, Jupyter Lab/Notebook에서도 동작할지도 모릅니다.



Numpy.ndarray로 가져온 이미지의 일괄 표시



필요한 패키지 가져 오기 (copipe 용)


import matplotlib.pyplot as plt

함수로 정의 (Copipe 용)


def show_images(images, figsize=(20,10), columns = 5):
  plt.figure(figsize=figsize)
  for i, image in enumerate(images):
      plt.subplot(len(images) / columns + 1, columns, i + 1)
      plt.imshow(image)

이미지 로드 예



이번에는 Keras를 이용하여 읽을 수 있는 CIFAR-100의 데이터 세트를 이용합니다.
from keras.datasets import cifar100

(x_train, y_train), (x_test, y_test) = cifar100.load_data(label_mode='fine')
images = x_train[:10]

호출 예


show_images(images)


show_images(x_train[:100], figsize=(10,15), columns = 10)



파라미터는 다소 조정이 필요하네요.

Google 드라이브 및 업로드한 이미지 파일의 일괄 표시



Google 드라이브 탑재



파일을 직접 Colab에 업로드하는 경우에는 이 단계가 필요하지 않습니다.
from google.colab import drive
MOUNT_DIR = '/content/drive' #マウントする場所を指定
drive.mount(MOUNT_DIR)

이렇게 하면 Go to this URL in a browser:에 링크가 표시되므로 이를 열고 마운트할 GoogleDrive가 있는 계정을 선택하고 액세스 권한을 부여하면 코드가 표시됩니다.

이 코드를 Enter your authorization code:에 입력합니다.
ls /content/drive/MyDrive/PATH_TO_IMAGE_DIRECTORY/

내용을 확인합니다.
※ PATH_TO_IMAGE_DIRECTORY는 GoogleDrive의 경로입니다.

필요한 패키지 가져 오기 (copipe 용)


import cv2
from glob import glob
import matplotlib.pyplot as plt
import os

함수로 정의 (Copipe 용)


def show_images_glob(images, figsize=(20,10), columns = 5):
  plt.figure(figsize=figsize)
  for i, image in enumerate(images):
      plt.subplot(len(images) / columns + 1, columns, i + 1)
      plt.imshow(cv2.imread(image))

파일 로드 예


SOURCE_IMAGES = "/content/drive/MyDrive/PATH_TO_IMAGE_DIRECTORY"
FILE_PATTERN = "*.jpeg" #ワイルドカードでフィルタリング
images = glob(os.path.join(SOURCE_IMAGES, FILE_PATTERN))
SOURCE_IMAGES 에는 이미지가 존재하는 Colab의 디렉토리 경로를 지정합니다.FILE_PATTERN는 와일드 카드로 모든 jpeg 이미지를 지정합니다.

호출 예


show_images_glob(images)



종횡비가 달라도 표시할 수 있었던 것 같습니다.

참고


  • Keras CIFAR-100
  • h tps : // s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 19471814 / ぢ sp ぁ y-m l 치 p ぇ - 게이 게 s - 음 - py 쵸노 테보오 케이 셋 l
  • OpenCV(cv2) imread
  • 좋은 웹페이지 즐겨찾기