如何通过json将OpenCV-Image发送到Flask Docker-Container?

时间:2018-06-04 15:49:06

标签: python json opencv docker flask

我遵循Miguel Grinbergs教程,使用OpenCV安装烧录视频流服务器(请参阅此处https://blog.miguelgrinberg.com/post/flask-video-streaming-revisited)。我得到了它并在Docker容器中运行,它工作正常。现在我想在另一个Docker-Container中使用视频源,因为我不想在烧瓶Web容器中安装OpenCV。 现在我遇到了Json-Serialization的问题。 我认为最好的方法是将OpenCV图像编码为字节并对其进行base64编码,然后将其转储到json中并将其发送到烧瓶容器,在那里我加载json和base64-decode图像。 但这并不奏效。在某些帧中,我得到填充错误,有些没有错误,但框架没有在浏览器中显示。

有人有想法吗?

def frames():
    camera = cv2.VideoCapture(Camera.video_source)
    _, img = camera.read()
    img_bytes = cv2.imencode('.jpg', img)[1].tobytes()
    img_as_text = base64.b64encode(img_bytes)
    data = {"image": str(img_as_text)}
    data_json = json.dumps(data)
    new_json = json.loads(data_json)
    im = new_json['image']
    img_original = base64.b64decode(im)
    yield img_original

0 个答案:

没有答案