2015-01-10 14 views
20

Po uruchomieniu przykładów z samouczków python dotyczących przetwarzania wideo OpenCV, wszystkie pojawiają się w dedykowanym oknie. Wiem, że notebook IPython może wyświetlać filmy z dysku i YouTube, więc zastanawiam się, czy istnieje sposób, aby skierować odtwarzanie wideo OpenCV do przeglądarki notebooków i czy jest on odtwarzany w komórce wyjściowej zamiast w osobnym oknie (najlepiej bez zapisywania go na dysk, a następnie odtworzyć go z tego miejsca).Czy możliwe jest wyświetlanie wideo OpenCV w IPython/JuPyter Notebook?

Poniżej znajduje się kod z samouczka 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

Też tego szukam i nie znalazłem żadnego rozwiązania ... Myślę, że nie jest to możliwe, ponieważ jądro pozostaje aktywne tak długo, jak długo istnieje okno. Jeśli więc okno znajdowało się wewnątrz skoroszytu, nie mogliśmy go zamknąć, co oznacza, że ​​bieżąca komórka będzie działała z jego kodem, itd ... –

+3

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

+0

Łącze dostarczone przez @EzerK można uznać za rozwiązanie –

Odpowiedz

2

VIDEO zakodowane dane (jeśli w formacie przeglądarka może dekodować, np h264 zakodowane w kontenerze mp4 ISO.) Mogą być wyświetlane przy użyciu HTML <video> tag i IPython.core.display.HTML(), to zapewni standardową wydajność odtwarzania.

<video> może być link, lub zostały osadzone base64'ed dane (ten ostatni jest co matplotlib.animation robi, na przykład), a jego dane mogą oczywiście być generowane w notesie za pomocą OpenCV (np. VideoWriter).

Powiązane problemy