cv2.VideoCapture не читает видео с внешнего интерфейса - PullRequest
0 голосов
/ 06 января 2020
@app.route('/process', methods=['POST'])
def process():
    if request.method == 'POST':
        vid = request.files['file']
        cap = cv2.VideoCapture(vid)
        while(cap.isOpened()):
            ret,frame = cap.read()
            if not ret:
                break

            do_something()

            k = cv2.waitKey(1)
            if k == 27:
                break

Я отправляю видео с внешнего интерфейса на сервер flask для его обработки. Но когда я запускаю этот код, эта ошибка появляется в строке cap = cv2.VideoCapture(vid):

TypeError: требуется целое число (получил тип FileStorage)

Приходит видео преобразованный в класс 'werkzeug.datastructures.FileStorage' и cv2.VideoCapture не принимает входные данные в качестве этого класса. Что мне делать?

Я попытался сохранить видео в локальной системе с помощью vid.save('abc.webm'), а затем прочитать его с помощью cv2.VideoCapture, и оно отлично работает. Но я не хочу сохранять это в системе.

Пожалуйста, помогите. Заранее спасибо.

...