在OpenCV中,OpenCV读取的视频文件非常慢

Aks*_*son 6 python video performance opencv

我正在尝试使用Python中的OpenCV进行一些视频处理,对我来说它的工作速度非常慢.例如,简单的读取和显示所有帧的工作速度约为1 fps:

import cv2
cap = cv2.VideoCapture("out1.avi")
cv2.namedWindow("input")
while(True):
    f, img = cap.read()
    cv2.imshow("input", img)
    cv2.waitKey(1)
Run Code Online (Sandbox Code Playgroud)

C++中的相同视频文件在大约30 fps时没有任何问题地呈现.有没有想法为什么Python版本如此之慢?

Python版本还有一个有趣的事情:它没有显示C++版本可以处理的.wmv文件(因为我的Python只能打开原始视频).

我使用OpenCV 2.3.1和Python 2.7

感谢帮助!

小智 2

代码在我的机器上正常(快速)运行(win7-64上的opencv 2.3.0和python 2.6.4,播放未压缩的avi文件)。

您是否尝试过使用旧版 python 接口(cv 而不是 cv2)的性能?

关于 .wmv 视频播放,Python 接口(或者特别是 ffmpeg)有点问题。除了未压缩的 .avi 文件之外,它无法播放。