Я пытаюсь прочитать 3058 изображений из папки. Я хочу, чтобы мое изображение читалось как массив np с размером (3158, 480, 640, 3) dtype как uint8. Я сохраняю все изображения в список (image_list). После изменения списка на массив я получаю массив (3158,). Ниже мой код
import numpy as np
import cv2 as cv
DIR = mydir
takenFrames = 6
counter = 0
for filename in glob.glob(DIR + '/*.png'):
counter += 1
# if counter >= no frames, open image, add img and img_label to list.
if (counter >= takenFrames):
im = cv.imread(filename) #im.shape is 480, 640
image_list.append(im)
#im = np.resize(im, (-1, 490, 640, 3))
image_list = np.array(image_list, dtype='uint8').reshape(-1, 480, 640, 3) / 255.0
Всякий раз, когда я пытаюсь это сделать, я получаю следующую ошибку, как показано ниже
image_list = np.array (image_list, dtype = 'uint8'). Reshape (-1, 480, 640, 3) / 255.0 Traceback (последний вызов был последним):
Файл "", строка 1, в image_list = np.array (image_list, dtype = 'uint8'). Reshape (-1, 480, 640, 3) / 255.0
ValueError: установка элемента массива с последовательностью.
Я попытался получить доступ к изображению из одной папки, и приведенная ниже строка кода работает x= np.array ([np.array (Image.open (файл)) для файла с именем файла]) # x.shape = (55, 480, 640, 3)
Я пытался сохранить x впустой массив при каждом доступе к другой папке и чтении изображений, чтобы получить все изображения 3058 как
data = np.array([])
#I tried to append numpy array as
if(data.size == 0):
data = im
else:
data = np.append(data, im, axis = 0)
, но это тоже не работает