а ниже мой маршрут
@app.route("/video_feed")
def video_feed():
return Response(
myobjectdetectionFunc(), mimetype="multipart/x-mixed-replace; boundary=frame"
)
и myobjectdetectionFunc() возвращает
ret, buffer = cv2.imencode(".jpg", img)
if ret:
img = buffer.tobytes()
# Yield the frame as a response to the client
yield (b"--frame\r\n" b"Content-Type: image/jpeg\r\n\r\n" + img + b"\r\n")
Приведенный выше код отлично работает при использовании flask run. Но он не работает, когда я использую
"uwsgi dev.ini"
или когда я развертываю его с помощью nginx или любой внешний сервер, кроме сервера разработки Flask.
Я не могу понять, чего мне не хватает?
Я хочу решить вышеуказанную проблему, связанную с сервером разработки Flask.
Ниже приведена моя полная функция myobjectdetectionFunc();
def myobjectdetectionFunc():
cap = cv2.VideoCapture(0) # For Webcam
cap.set(3, 1280)
cap.set(4, 720);
model = YOLO("assets/models/mymodel.pt");
classNames = [..."classnames"
]
myColor = (0, 0, 255)
while True:
success, img = cap.read()
results = model(img, stream=True)
for r in results:
boxes = r.boxes;
ret, buffer = cv2.imencode(".jpg", img)
if ret:
img = buffer.tobytes()
# Yield the frame as a response to the client
yield (b"--frame\r\n" b"Content-Type: image/jpeg\r\n\r\n" + img + b"\r\n")
cv2.waitKey(1)
Подробнее здесь: https://stackoverflow.com/questions/764 ... ts-working