Вы можете использовать cv2.resize()
, чтобы изменить размер каждого изображения до 28X28
.
Попробуйте следующий код:
for img in os.listdir(IMG_DIR):
img_array = cv2.imread(os.path.join(IMG_DIR,img), cv2.IMREAD_GRAYSCALE)
resized_image = cv2.resize(img_array, (28, 28))
img_flatten = resized_image.reshape(-1)
#print(img_flatten)
with open('train1.csv', 'ab') as f:
np.savetxt(f, img_flatten, delimiter=",")
В функции data.reshape
, -1
используется в качестве заполнителя для определения того, каким должно быть данное измерение.Вы также можете использовать resized_image.flatten()
вместо img_flatten = resized_image.reshape(-1)
, чтобы сгладить массив пустышек в одном измерении.
В этом случае каждое изображение будет сохранено в файл csv
в виде массива фигуры (784,).При добавлении img_flatten.reshape(-1, 1).T
в приведенный выше код преобразует его форму в (1, 784)
.Это зависит только от вас, как вы хотите сохранить.