2015-01-10 15 views
20

Quando si eseguono gli esempi dalle esercitazioni Python per l'elaborazione video OpenCV, vengono visualizzati in una finestra dedicata. So che il notebook IPython può visualizzare video da disco e YouTube, quindi mi chiedo se c'è un modo per dirigere la riproduzione di video OpenCV sul browser Notebook e farlo riprodurre nella cella di output anziché in una finestra separata (preferibilmente senza salvarlo su disco e poi riprodurlo da lì).È possibile visualizzare un video OpenCV all'interno del notebook IPython/JuPyter?

Di seguito è riportato il codice dell'esercitazione OpenCV.

import cv2 

cap = cv2.VideoCapture('/path/to/video') 

while(True): 
    # Capture frame-by-frame 
    ret, frame = cap.read() 

    # Our operations on the frame come here 
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 

    # Display the resulting frame 
    cv2.imshow('frame',gray) 
    if cv2.waitKey(1) & 0xFF == ord('q'): 
     break 

# When everything done, release the capture 
cap.release() 
cv2.destroyAllWindows() 
+0

Anche io sto cercando questo e non ho ancora trovato alcuna soluzione ... Immagino che non sia possibile, visto che il kernel rimane attivo finché esiste la finestra. Quindi se la finestra era all'interno della cartella di lavoro, non potremmo chiuderla, il che significa che la cella corrente sta eseguendo il suo codice, ecc ... –

+3

controlla questo: https: //github.com/bikz05/ipython-notebooks/blob /master/computer-vision/displaying-video-in-ipython-notebook.ipynb –

+0

Il collegamento fornito da @EzerK può essere considerato come la soluzione –

risposta

2

I dati video codificati (se in un formato il browser può decodificare, h264 codificato in un contenitore MP4 ISO es.) Può essere visualizzato utilizzando un <video> tag HTML e IPython.core.display.HTML(), questo fornirà prestazioni di riproduzione standard.

Il <video> può essere un collegamento, o hanno incorporato i dati base64'ed (quest'ultimo è quello che matplotlib.animation fa, per esempio), ei dati possono naturalmente essere generato nel vostro notebook, utilizzando OpenCV (ad es. VideoWriter).

Problemi correlati