我正在尝试使用 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)
以大约 30 fps 的速度渲染 C++ 中的相同视频文件没有任何问题。有什么想法为什么 Python 版本这么慢吗?
Python 版本还有一个有趣的地方:它不显示 C++ 版本可以处理的 .wmv 文件(因为我的 Python 只能打开原始视频)。
我使用 OpenCV 2.3.1 和 Python 2.7
感谢您的帮助!
最佳答案
代码在我的机器上正常(快速)运行(win7-64 上的 opencv 2.3.0 和 python 2.6.4,播放未压缩的 avi 文件)。
您是否尝试过使用较旧的 python 接口(interface)(cv 而不是 cv2)的性能?
关于 .wmv 视频播放,python 接口(interface)(或特别是 ffmpeg)有点问题。它只能播放未压缩的 .avi 文件。
关于python - OpenCV 读取视频文件在 Python 中非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8275480/