繁体   English   中英

如何使用python opencv在jupyter笔记本上以正常速度播放mp4

[英]How to play mp4 at normal speed on jupyter notebook using python opencv

有什么方法可以使用python opencv在jupyter笔记本上以与实际文件相同的速度播放mp4视频?
当我制作.py文件并使用cv2.imshow()时,速度是正常的,但是当我在jupyter笔记本上尝试下面的代码时,它变得非常慢。
我的代码:

import cv2
import matplotlib.pyplot as plt
from IPython import display
%matplotlib inline

cap = cv2.VideoCapture('video.mp4')

while(cap.isOpened()):
    try:
        ret, frame = cap.read()
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        plt.imshow(frame)

        display.clear_output(wait=True)
        display.display(plt.gcf())

    except KeyboardInterrupt:
        cap.release()

以我的经验,即使您在Jupyter笔记本电脑上工作,也最好使用OpenCV的显示功能。 可以这样实现:

fps = 30
title = 'normal speed video'
delay = int(1000 / fps)

for frame in frames(video):
    cv2.imshow(title, frame)

    if cv2.waitKey(delay) & 0xFF == ord('q'):
        break

cv2.destroyAllWindows()

在这里, frames发生器只是逐帧产生视频,可以在这里找到


也可以通过Video以编程方式在Jupyter中显示Video

from IPython.display import Video

Video(‘https://archive.org/download/Sita_Sings_the_Blues/Sita_Sings_the_Blues_small.mp4’)
Video(‘path/to/video.mp4’)
Video(‘path/to/video.mp4’, embed=True)
Video(b’raw-videodata’, embed=True)

查看文档以获取更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM