Ciao... ho un problema...
uso OpenCV per analizzare un video da request POST e quindi si tratta di una Rest API.
In pratica, se mostro la finestra col video con cv2.imshow allora poi posso terminare il ciclo while premendo il pulsante ESC, il server backend chiude il video distruggendo la finestra e termina il while e restituisce in risposta il JSON.
Il problema avviene perchè io non voglio mostrare il video dal backend ma solo restituire il JSON e poi mostrarlo nel frontend (sviluppato in Angular).
Però cosi facendo, il programma server in Python va in loop... perchè non permette di premere il tasto ESC.
Come posso risolvere? esiste una condizione che vada bene per terminare correttamente il ciclo while del server e quindi restituire il JSON senza mostrare il video lato backend?
ecco uno spezzone di codice per far capire il problema:
cap = cv2.VideoCapture('video.mp4')
while cap.isOpened():
ret, frame = cap.read()
.............codice che analizza il video
# cv.imshow('Finestra', frame)
key = cv2.waitKey(1) & 0xff
if key == 27:
break
cv2.destroyAllWindows()
cap.release()