2つのイメージを表示する必要があります.1つは入力し、もう1つはopencvで処理したイメージです。オンラインで検索したところ、thisが見つかりました。だから私は簡単なフラスコを実行するプログラム -フラスコを使用してブラウザでcv2から画像を表示する方法は?
from flask import Flask, make_response, render_template, Response
app = Flask(__name__)
@app.route('/')
def simple():
import cv2
img = cv2.imread('fruit.jpg')
ret, jpeg = cv2.imencode('.jpg', img)
response = make_response(jpeg.tobytes())
response.headers['Content-Type'] = 'image/png'
return response
if __name__ == "__main__":
app.run()
これはうまくいきました。
2つの画像を表示するために、私は上に投稿したリンクに従った。私は上記のリンクからgallery.html
をコピーした
from flask import Flask, make_response, render_template, Response
app = Flask(__name__)
@app.route('/gallery')
def get_gallery():
import cv2
im_names = []
img = cv2.imread('fruit.jpg')
im = cv2.imread('adapt.png')
ret, jpeg = cv2.imencode('.jpg', img)
ret1, jpeg1 = cv2.imencode('.png', im)
print(im_names)
im_names.append(jpeg.tobytes())
im_names.append(jpeg1.tobytes())
return render_template("gallery.html", image_names=im_names)
if __name__ == "__main__":
app.run()
- それは次のようになります。私は出力がありません。それは内部サーバーのエラーを示します。どのようにしてこの問題を解決できますか?(私はフラスコに初めてです)。
あなたが書き込んだ最初のルートにリンクするページを、各イメージごとに作成します。 – davidism