Flask подача камеры с использованием cv2 - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу создать прямую трансляцию с камеры, используя flask и cv2. Я могу заставить его показывать по одному кадру за раз, если я сохраню его на диск, а затем извлечу, но это очень медленно, и я хотел бы иметь непрерывную подачу камеры. Я пытаюсь закодировать вывод cv2 как jpeg, чтобы я мог отправить его как ответ

from flask import Flask 
from flask import send_file
from flask import Response

import numpy as np 
import cv2


app=Flask(__name__)

@app.route('/feed')
def startFeed():
    cap = cv2.VideoCapture()
    def getFrame():
        frame = cap.read()
        status, frameEncoded = cv2.imencode('.JPEG',frame)
        yield frameEncoded
    return Response(getFrame(),mimetype='multipart/x-mixed-replace;boundary=frame')


Когда я запускаю этот код и пытаюсь получить доступ к маршруту, он возвращает это:

  status, frameEncoded = cv2.imencode('.JPEG',frame)
TypeError: Expected Ptr<cv::UMat> for argument 'img'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...