загрузка изображений в массив numpy matrix из набора данных и применение преобразования

#python #pandas #numpy #machine-learning

#python #pandas #numpy #машинное обучение

Вопрос:

Мне нужно загрузить изображения в массив numpy matrix из набора данных, который содержит 800 изображений, каждое размером 64 на 64 пикселя. Мне нужно преобразовать каждое изображение размером 64 на 64 в строку матрицы, которая содержит 4096 столбцов. Ниже я показал, как я подхожу к коду. Я получаю ошибку ValueError: не удается преобразовать массив размером 4096 в форму (64,). Пожалуйста, помогите, спасибо.

 array = np.zeros((800, 64))

for i in range(800):
    path = “some path”
    img = mpimg.imread(path)
    array[i] = img.reshape(64)
  

Ответ №1:

Ваш исходный массив должен иметь форму 800, 4096 , поскольку каждый подмассив представляет (64, 64) изображение, для которого требуется 4096 элементов.

Поэтому, я думаю, вы хотите это вместо:

 array = np.zeros((800, 4096))
paths = [...] # set paths here

for i, path in enumerate(paths):
    array[i] = mpimg.imread(path).reshape(4096)