OpenCV_Python - написать код для чтения сохраненного видео (cv2.VideoWriter ()) - PullRequest
0 голосов
/ 29 мая 2018

Я новичок в OpenCV, использующий Python.В настоящее время я работаю с проектом opencv с использованием языка Python.Я хотел бы прочитать сохраненное видео после того, как набрал последовательность кадров.Тем не менее, я получаю сообщение об ошибке при запуске программы для чтения видео. Может ли кто-нибудь из вас пролить свет на то, что может быть не так?Спасибо.Это мой пример кода:

import cv2
import numpy as np
import os
import glob as gb

filename = "VideoDataSet/dynamicBackground/canoe/input"

img_path = gb.glob(filename)

videoWriter = cv2.VideoWriter('test.avi',cv2.VideoWriter_fourcc('M','J','P','G'), 25,(640,480))

for path in img_path:
 img  = cv2.imread(path) 
 img = cv2.resize(img,(640,480))
 videoWriter.write(img)
 print(path)
print ("you are success create.")

Примечание. Сохраненное видео с именем «test.avi» не является проблемой и может воспроизводиться в месте сохранения файла.Теперь проблема в том, что я хотел бы написать программный код, чтобы прочитать видео и воспроизвести его.Однако я получаю ошибку.

inputVideoName = 'test.avi'
cap = cv2.VideoCapture(inputVideoName)

if (cap.isOpened() == False): 
    print("Error opening video stream or file!")

while(True):
 ret, frame = cap.read()

 if ret == True:  
  cv2.imshow('Display Video Clip',frame)
  if cv2.waitKey(1) & 0xFF == ord('q'):break

Это ошибка:

 Error: OpenCV(3.4.1) Error: Assertion failed (chunk.m_size <= 0xFFFF) in 
 cv::AVIReadContainer::readFrame, file D:\Build\OpenCV\opencv- 
 3.4.1\modules\videoio\src\container_avi.cpp, line 514

1 Ответ

0 голосов
/ 11 июня 2018

Попробуйте изменить код Opencv: https://github.com/opencv/opencv/pull/11146/commits/c6cf7f80808eee8cebec4c8417b2d99714defcac

opencv / modules / videoio / src / container_avi.cpp - CV_Assert (chunk.m_size <= 0xFFFF);+ CV_Assert (chunk.m_size <= 67108864); </p>

...