изменить массив изображений
У меня есть 60000 train_images в виде матрицы (28,28,60000). Это numpy.ndarray. Я хочу преобразовать его в массив одномерных изображений, то есть каждое изображение представляется в виде одной строки / массива чисел, и мне нужно 60000 массивов. Другими словами, я хочу перейти от (28, 28, 60000) к (60000, 28 * 28). В Python это будет:
images_features = []
for image in images:
imageLine = []
for y in range(len(image)):
for x in range(len(image[0])):
imageLine.append(image[y][x])
images_features.append(imageLine)
Как я могу это сделать? Я подозреваю, что мне нужно использовать изменение формы, но я не мог понять, как именно я могу это сделать.
Вот как я получаю изображения:
data = scipy.io.loadmat('train.mat')
images = data["train_images"]
Таким образом, «изображения» - это массив, о котором я говорю.
Кто-то предложил мне, чтобы:
«Возможно, вам придется сменить оси или объединить их, чтобы получить желаемую функциональность. Я рекомендую наносить их также на случай, если изображение заканчивается вбок. Убедитесь, что вы осмотрительны с осями, чтобы избежать дальнейших проблем».
Я понятия не имею, о каких «осях» здесь идет речь и как принять во внимание сказанное выше.
Может кто-нибудь объяснить, что мне нужно делать и почему? (Что оно делает)