Подтвердить что ты не робот

Можно ли отображать видео в формате OpenCV внутри IPython/JuPyter Notebook?

При запуске примеров из обучающих программ python по обработке видео в OpenCV все они появляются в отдельном окне. Я знаю, что ноутбук IPython может отображать видео с диска и YouTube, поэтому я задаюсь вопросом, есть ли способ перенаправить воспроизведение видео в OpenCV в браузер Notebook и воспроизводить его в выходной ячейке вместо отдельного окна (желательно без сохранения на диск, а затем воспроизвести его оттуда).

Ниже приведен код из учебника 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()
4b9b3361

Ответ 1

Видеокодированные данные (если в формате, который может декодировать браузер, например, h264-кодированный в контейнере ISO mp4), могут отображаться с использованием тега HTML <video> и IPython.core.display.HTML(), это обеспечит стандартную производительность воспроизведения.

<video> может быть ссылкой или иметь встроенные данные base64 (последнее - это то, что делает matplotlib.animation, например), и его данные, конечно, могут быть сгенерированы в вашем ноутбуке с использованием OpenCV (например. VideoWriter).