我正在使用opencv(python 2.7)在我的烧瓶应用程序中通过网络摄像头捕获图像。我想在前端显示此图像到客户端以获取鼠标点击图像的坐标。如何编写要发送的函数和分别通过flask和javascript接收图像。
烧瓶服务器代码:
from flask import Flask,render_template
import cv2
app = Flask(__name__)
@app.route('/')
def capture_image(self):
self.cam = cv2.VideoCapture(0)
self.img = self.cam.read()
self.cam.release()
render_template(index.html,ob=self.img)
@app.route('/index')
#display image in html
if __name__=='__main__':
app.run()
javascript代码:
<html>
<head>
<title> image </title>
</head>
<body>
<img src = "{{ url_for('imagefield') }}">
</body>
</html>
答案 0 :(得分:0)
我的建议是使用imwrite在“static / filename.jpg”中保存图像。然后发送URL而不是实际图像,让你的div使用图像文件重新加载它。我已经发送了整个图像,当我检查POSTMAN时加载大约需要10秒钟,然而,它在浏览器中根本没有任何问题。如果您坚持要发送该文件,请参阅flask return image created from database
我正在做这样的事情:
flask:
return jsonify({'image_url': imgPath})
part of ajax request:
success: function (data) {
console.log(data);
$('#myimg').html('<img class="img-responsive" src="'+data.image_url+'"/>');
}
希望这有帮助。