Я пытаюсь остановить бесконечное время, пока l oop передает кадры с камеры, используя функцию выхода, но также пропускает метку подтверждения («подтверждение»), если во время идентификации в камере был идентифицирован нужный человек. Итак, я написал заявление if, которое проверяет, что подтверждение не равно «notfound», и если это так, это означает, что это человек, и мне нужно куда-то перенаправить, в этих примерах - домашняя страница.
from flask import Flask, render_template, Response, redirect, url_for
import cv2
import numpy as np
from camera2 import VideoCamera
app = Flask(__name__)
light_on = False
@app.route('/', methods=['GET', 'POST'])
@app.route('/home', methods=['GET', 'POST'])
def home():
return render_template("main.html")
@app.route('/recognition', methods=['GET', 'POST'])
def recognition():
return render_template('recognition.html')
def gen(camera2):
while True:
confirmation, frame = camera2.get_frame()
print(confirmation)
# yield ('--frame\r\nContent-Type: image/jpeg\r\n\r\n' + frame + '\r\n\r\n')
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
if confirmation != "notfound":
return redirect(url_for("home"))
@app.route('/video_feed')
def video_feed():
return Response(gen(VideoCamera()),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run("localhost", 5050, debug=True, threaded=True)
Но всякий раз, когда я пытаюсь это сделать, я получаю сообщение об ошибке:
"Attempted to generate a URL without the application context being"
RuntimeError: Attempted to generate a URL without the application context being pushed. This has to be executed when application context is available.
Буду признателен за любую помощь или совет!
Спасибо!