Я пытаюсь взять 25 кадров из видео и сохранить их в массиве, чтобы потом обработать эти кадры (извлечь фон). Я использую OpenCV для загрузки и хранения кадров из видео (другого способа не знаю). Проблема в том, что я не могу понять, как перебирать отдельные массивы, хранящиеся в ndarray. Возможно ли это сделать? Если нет, то как лучше хранить кадры, чтобы иметь к ним доступ позже? Примечание: я знаю, что уже есть функция OpenCV, которая вычитает фон, но для приложения, которое я создаю для университета, мне не разрешено его использовать. Также я впервые программирую на python, поэтому любые советы, где искать информацию, приветствуются. Вот что я пытался сделать:
frames=[]
vidcap = cv2.VideoCapture(video_source)
for fid in range(0,25):
vidcap.set(cv2.CAP_PROP_POS_FRAMES, fid)
ret, frame = vidcap.read()
frames.append(frame)
Проблема здесь:
width,height = frames[0].size
for row in range(0,height):
for col in range(0,width):
for frameNo in range(0,frames.size):
median_matr.append(frames[0][row,col])
Я получаю следующую ошибку:
width, height = frames [0] .size TypeError: объект 'int' не повторяется