[Google Colab] 여러 이미지를 타일로 정렬하여 미리보기 이미지처럼 표시하고 싶습니다.
7920 단어 파이썬colaboratorykikaig
확인은 하지 않지만, 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)
종횡비가 달라도 표시할 수 있었던 것 같습니다.
참고
import matplotlib.pyplot as plt
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)
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 드라이브 탑재
파일을 직접 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)
종횡비가 달라도 표시할 수 있었던 것 같습니다.
참고
Reference
이 문제에 관하여([Google Colab] 여러 이미지를 타일로 정렬하여 미리보기 이미지처럼 표시하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mhoshdev/items/ac5e36861696b8f37b1b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)