Uscire da while server in una REST api

di
Anonimizzato26948
il
1 risposte

Uscire da while server in una REST api

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()
        
 

1 Risposte

  • Re: Uscire da while server in una REST api

    Non mi è chiaro perché devi premere un tasto per terminare l'analisi.
    Comunque leggendo la documentazione quando termina il video, read ti dovrebbe ritornare una sfilza di None.
    Usa questa condizione per uscire dal ciclo.
Devi accedere o registrarti per scrivere nel forum
1 risposte