我需要顯示2個圖像,一個是輸入,另一個是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()
這工作正常。
對於顯示兩個圖像,我跟着我上面發佈的鏈接。這看起來像 -
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()
這裏,我從上面的鏈接複製gallery.html
。我沒有輸出。它說內部服務器錯誤。我該如何解決這個問題?(我是燒瓶新手)。
您可以爲每個圖像編寫一個鏈接到您寫的第一條路線的頁面。 – davidism