from PIL import Image
import os, glob
import numpy as np
from PIL import ImageFile
# IOError: image file is truncated (0 bytes not processed)回避のため
ImageFile.LOAD_TRUNCATED_IMAGES = True
classes = ["amiba", "toki"]
num_classes = len(classes)
image_size = 64 #画像のサイズ
num_testdata = 25
X_train = []
X_test = []
y_train = []
y_test = []
for index, classlabel in enumerate(classes):
photos_dir = "./" + classlabel
files = glob.glob(photos_dir + "/*.jpg")
for i, file in enumerate(files):
image = Image.open(file)
image = image.convert("RGB")
image = image.resize((image_size, image_size))
data = np.asarray(image)
if i < num_testdata:
X_test.append(data)
y_test.append(index)
else:
for angle in range(-20, 20, 5):
img_r = image.rotate(angle)
data = np.asarray(img_r)
X_train.append(data)
y_train.append(index)
# FLIP_LEFT_RIGHT は 左右反転
img_trains = img_r.transpose(Image.FLIP_LEFT_RIGHT)
data = np.asarray(img_trains)
X_train.append(data)
y_train.append(index)
X_train = np.array(X_train)
X_test = np.array(X_test)
y_train = np.array(y_train)
y_test = np.array(y_test)
xy = (X_train, X_test, y_train, y_test)
np.save("./amiba_toki.npy", xy)#配列をnpyという独自バイナリファイルとして格納(これがAIの学習データになる)
```python