Получите кадры изображений и преобразуйте данные в файл изображений и сохраните их в папке, используя flask - PullRequest
0 голосов
/ 07 января 2020

Я могу отправить фрейм через веб-API, используя следующий скрипт:

import cv2
import requests

cap = cv2.VideoCapture(0)
while True:
    ret, frame = cap.read()
    cv2.imshow('frame', frame)
    #frame_im = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    print(type(frame))
    frame_in = cv2.imencode('.jpg', frame)
    headers = {'Content-Type': 'image/jpg'}
    files = {'form': frame_in}
    #img_files = urlopen(frame_in)
    response = requests.post(
        url="http://127.0.0.1:5000/test",
        data=files,
        headers=headers
    )
    if cv2.waitKey(1) and 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

Я отправляю данные в API, используя указанный ниже скрипт, и пытаюсь получить каждый фрейм и сохранить его в какой-то папке

from flask import Flask, redirect, url_for, request, Response, render_template, send_file,jsonify
import base64
app = Flask(__name__)

@app.route('/test', methods=['POST'])
def test():

    if request.method == 'POST':
        body = request.data
        #print(request.form)
        print(body)
    print("Test Revealed")
    return jsonify({"hi":"hi"})

if __name__ == '__main__':
    #app.secret_key = os.urandom(12)
    app.run(host='127.0.0.1', port=5000, threaded= True)

И получил результаты с огромной линией, как указано ниже:

=%5B39%5D&form=%5B13%5D&form=%5B146%5D&form=%5B192%5D&form=%5B117%5D&form=%5B24%5D&form=%5B206%5D&form=%5B70%5D&form=%5B106%5D&form=%5B121%5D&form=%5B235%5D&form=%5B41%5D&form=%5B114%5D&form=%5B180%5D&form=%5B215%5D&form=%5B98%5D&form=%5B84%5D&form=%5B212%5D&form=%5B149%5D&form=%5B154%5D&form=%5B63%5D&form=%5B255%5D&form=%5B217%5D'
Test Revealed
127.0.0.1 - - [07/Jan/2020 10:09:42] "POST /test HTTP/1.1" 200 -

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

Предложение будет очень полезно здесь

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