我需要显示2个图像,一个是输入,另一个是opencv处理过的图像。在线搜索后,我找到了this。所以我运行一个简单的烧瓶编程 -
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
。我没有输出。它说内部服务器错误。我怎样才能解决这个问题呢?(我是烧瓶新手。)
答案 0 :(得分:0)
首先创建一个名为“static”的文件夹。 将图像放在该文件夹中。 试试这个:
from flask import Flask, make_response, render_template, Response
app = Flask(__name__)
@app.route('/gallery')
def get_gallery():
return "<img src='static/fruit.jpg'/> <img src='static/adapt.png'>"
if __name__ == "__main__":
app.run()
请注意,您可以使用模板gallery.html,并将html代码直接放在模板中。