Как загрузить видео из его строкового представления в OpenCV, используя Python? - PullRequest
1 голос
/ 21 мая 2019

Я пишу функцию Rest-API, которая должна брать видео из почтового запроса, обрабатывать видео с помощью OpenCV и возвращать текстовый ответ. Я застрял при чтении видео из его строкового представления.

Я посмотрел документацию, в которой описано, как читать видео в OpenCV, и все они либо читают по пути, либо с веб-камеры. Например, cv2.VideoCapture или FileVideoStream из imutils используют путь к файлу для загрузки видео. Однако я хочу избежать избыточных операций ввода-вывода и не хочу сначала записывать видео в файл.

Связанные части в моем проекте:

    @app.route('/processvideo', methods = ['POST'])
        def process_video():
        # read as string
        fStr = request.files['file'].read() # file is read as string from the request

        npimg = np.fromstring(fStr, np.uint8) # string data is converted to numpy array.

        # image = cv2.imdecode(npimg, cv2.IMREAD_COLOR) # this functions doesn't work, because it only takes image, not video.

        return jsonify( { 'output': 'test' } )

Я отправляю запрос в cli для проверки следующим образом:

    curl -F 'file=@demo.mp4' http://localhost:5000/processvideo

Я хочу обрабатывать входящее видео кадр за кадром, поэтому мне нужны кадры в виде изображения. Спасибо за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...