我正在尝试使用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)
C ++中的相同视频文件在大约30 fps时没有任何问题。有什么想法为什么Python版本这么慢?
还有一个关于Python版本的有趣的事情:它没有显示C ++版本可以处理的.wmv文件(因为我的Python只能打开原始视频)。
我使用的是OpenCV 2.3.1和Python 2.7
感谢您的帮助!
答案 0 :(得分:2)
代码在我的机器上正常(快速)运行(win7-64上的opencv 2.3.0& python 2.6.4,播放未压缩的avi文件)。
您是否尝试使用较旧的python接口(cv而不是cv2)?
关于.wmv视频播放,它有点问题python接口(或特别是ffmpeg)。除了未压缩的.avi文件之外,它无法播放。
答案 1 :(得分:-1)
尝试更改" 1"在cv2.waitKey(1)中更高的值说cv2.waitKey(30)