Есть много разных способов сделать это; вот пример, хотя я уверен, что это далеко не лучший вариант.
num_imgs = len(os.listdir(my_path))
X = np.empty([int(num_imgs),28,28,1]) # in which to put the images
for i,image in enumerate(os.listdir(my_path)):
the_img = cv2.imread(os.path.join(my_path,image),cv2.IMREAD_GRAYSCALE)
the_img = cv2.resize(the_img,(28,28))
X[i] = the_img
Тогда X подобен стопке из N изображений с размерами 28x28 и одним каналом, т. Е. (N, 28,28,1).
Надеюсь, это поможет!
Редактировать: Примите также во внимание, что некоторые пакеты, такие как Keras, имеют отличные инструменты для оптимизации этого процесса (включая метки, случайные преобразования и т. Д.). Настоятельно рекомендуем проверить эти инструменты.