2017-11-30 21 views
0

基本的に私はthis tutorialに従って、処理されたビデオをストリーミングしました(フレームと放送だけでなく)。しかし、私はここにいくつかの計算を保存したい:フラスコファイルを保存せずにWeb上でopencv画像を表示

  1. それはJPEGファイルにOpenCVの画像オブジェクトを保存し、再度読み込みを回避することが可能ですかしら?それは計算の無駄ですか?

  2. フラスコ/ htmlテンプレートが画像のRGBの3データチャネルを使って画像をレンダリングできると思っています。

ありがとう!

P/S:私は実際にこの次のコードを試してみました:

_, encoded_img = cv2.imencode('.jpg', img, [ int(cv2.IMWRITE_JPEG_QUALITY), 95 ]) 

をしかし、それは次のエラーを与える:

Debugging middleware caught exception in streamed response at a point where response headers were already sent. Traceback (most recent call last): File "/home/trungnb/virtual_envs/tf_cpu/lib/python3.5/site-packages/werkzeug/wsgi.py", line 704, in next return self._next() File "/home/trungnb/virtual_envs/tf_cpu/lib/python3.5/site-packages/werkzeug/wrappers.py", line 81, in _iter_encoded for item in iterable: File "/home/trungnb/workspace/coding/Mask_RCNN/web.py", line 25, in gen if frame == None: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

+0

web.pyの25語目はなんですか? –

+0

まずは正しかった!私はフラスコが得られるフレームが無かったかどうかをチェックしていました(ipカメラがフレームを返さない場合があります)。 – LeonA

答えて

1

あなたは生のRGBの送信など、とにかくJPEGにそれを圧縮したいと思いますデータサイズのためにデータが遅くなります。

イメージを圧縮するためにcv :: imencodeを試してみることができます。次に、同様の方法でイメージを送信することができますflask return image created from database

+0

それで、ヘッダーを偽造することなく動作していました。ありがとうございました! – LeonA

関連する問題