여러 이미지를 깔고 플롯하는 방법을 항상 잊어 버린다 (ML 용)
5599 단어 파이썬matplotlib
소개
이미지 데이터를 이런 느낌에 플롯하는 방법을 항상 잊어 버리는 자신의 메모입니다.
전제
데이터세트는 이러한 디렉토리 구성을 가지고 있다고 가정합니다.
├─Dataset
│ ├─classA
│ │ ├─classA의 이미지들
│ ├─classB
│ ├─classC
│ ├─classD
│ ├─classF
│ └─...
...
소스 코드
show_class_images.py
import glob
import os
import matplotlib.pyplot as plt
from PIL import Image
# データセットの親ディレクトリ
DATA_PARENT_DIR = '親ディレクトリを指定'
# 子ディレクトリのリスト
data_dir_list = glob.glob(DATA_PARENT_DIR + '\*')
# ディレクトリ数
class_num = len(data_dir_list)
# 1ディレクトリあたりに敷き詰める画像数
SHOW_FILE_NUM = 6
fig = plt.figure(figsize=(12, 12))
# subplot用のカウント
cnt = 1
for data_dir in data_dir_list:
filepath_list = glob.glob(data_dir + '\*')
dirname = os.path.basename(data_dir)
# ディレクトリ内のファイル
for i in range(SHOW_FILE_NUM):
filepath = filepath_list[i]
filename = os.path.basename(filepath)
img = Image.open(filepath)
# 6*6の1マス分を指定(cnt)してプロット
ax = fig.add_subplot(class_num, SHOW_FILE_NUM, cnt)
plt.imshow(img)
# 目盛りを消す
ax.axis('off')
# ディレクトリ名(クラス名)+ファイル名をタイトルに出す
plt.title(os.path.join(dirname, filename))
# 描画用カウントアップ
cnt += 1
plt.show()
# 保存する
fig.savefig('./subplot.png')
인용
데이터 세트는 여기에서 빌렸습니다. 고마워요.
DiceRecognitionDatasetForML
Reference
이 문제에 관하여(여러 이미지를 깔고 플롯하는 방법을 항상 잊어 버린다 (ML 용)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Kimii/items/08dd9b88ea39c8d33cb3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)