2017-10-03 12 views
1

私は独自のAPIから受け取った座標にバウンディングボックスを描画するために、javascriptで画像をFlaskサーバーに送信しようとしています。どのように私はこれをnumpy配列に変換できますか?フラスコからナンシー画像への変換

私はcv2.imdecode機能を使用することを考えていましたが、私はその巨大なファイルを私のサーバーにダウンロードしたくありません。ここで私はフラスコに送信していた入力列srcの例である:

data:image/jpeg;base64,IMGDATA HERE 

私は、この文字列はbase64エンコードであるが、私はpythonでこの変換を作成する方法を確認していないと信じています。

答えて

0

私はこれに類似したことをしました。あなたがあなたのURLを持っているなら、まずbase64でエンコードされたsrc文字列のIMGDATA部分をデコードする必要があります。だから最初に入力文字列からIMGDATAを分離する必要があります。これは、使用して行うことができます。

import base64 
imgdata = imgsrcstring.split(',')[1] 
decoded = base64.b64decode(imgdata) 

次にあなたがnumpyの配列に変換することができ、画像に文字列のバイト表現を変換するために、PIL Libararyを使用することができます。

from PIL import Image 
from io import BytesIO 

img = np.array(Image.open(BytesIO(decoded))) 
関連する問題