在我的应用程序中,我需要打开网页内的网络摄像头,并且还需要处理网络摄像头框架并将结果再次返回到网页。为此,我不使用按钮。我在这里找到了如何在网页中使用网络摄像头
web cam in a webpage using flask and python
但是我无法将结果传递给网页。如何将结果传递到同一网页?
from flask import Flask, render_template, Response, jsonify
from camera import VideoCamera
import cv2
app = Flask(__name__)
video_stream = VideoCamera()
@app.route('/')
def index():
return render_template('index.html')
def gen(camera):
while True:
frame = camera.get_frame()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
@app.route('/video_feed')
def video_feed():
return Response(gen(video_stream),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run(host='127.0.0.1', debug=True,port="5000")
class VideoCamera(object):
def __init__(self):
self.video = cv2.VideoCapture(0)
def __del__(self):
self.video.release()
def get_frame(self):
ret, frame = self.video.read()
# DO WHAT YOU WANT WITH TENSORFLOW / KERAS AND OPENCV
ret, jpeg = cv2.imencode('.jpg', frame)
return jpeg.tobytes()
<!DOCTYPE html>
<html lang="en">
<head>
<title>Video Stream</title>
</head>
<body>
<img src="{{ url_for('video_feed') }}" />
</body>
</html>
在 camera.py 脚本中,我可以处理框架并且可以打印结果以进行记录,但是我需要将这些结果传递给网页。
我做了很多事情,但没有一个对我有用!
请帮助我。
谢谢。