質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

0回答

1132閲覧

【Flask】FlaskからPIL画像をHTMLに渡し表示する方法

yauri-yaya

総合スコア10

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/05/27 08:45

編集2020/05/27 08:46

前提・実現したいこと

今、Flaskで画像を解析し、解析した結果の画像をHTMLに渡して表示するプログラムを書いています。
PIL画像をBASE64文字列に変換しHTMLに渡しているのですが、HTMLで画像が表示されません(エラーは起きません)。

試したこと

python

1@app.route("/img", methods=["POST", "GET"]) 2def img(): 3 img = cv2.imdecode(np.fromstring(request.files['video'].read(), np.uint8), cv2.IMREAD_UNCHANGED) 4 image = cv2.resize(img, (480, 300)) 5 pil_img = Image.fromarray(image.astype('uint8')) 6 7 file_object = io.BytesIO() 8 pil_img.save(file_object, 'PNG') 9 file_object.seek(0) 10 11 plot_url = base64.b64encode(file_object.getvalue()).decode("utf-8") 12 # plot_url = base64.b64encode(file_object.read()) 13 14 return '<img src="data:image/png;base64,{}">'.format(plot_url)

html

1<img sec="data:image/png;base64, {{ plot_url }}">

実行すると、文字列は指定されていますが、画像は表示されません。

"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAEsCAIAAACUnPcNAAEAAElEQVR4nFz9z6+lybIkCpm5x7d2VlW3EIxASOjpjfn/ZzBgzogBDBiA9CSEeLdfd997K3OvC...

いくつかのBASE64を使用したやり方(b64encode(file_object.read())など)を試しましたが、結果は同じでした。お知恵を拝借させてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FiroProchainezo

2020/06/02 02:36

表示されないことが確認できる、プログラム全文を提示していただけませんか? いったんファイルに落としてそれを表示する場合は表示されますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問