OpenCV:cv2.videoCapture 成功,但 isOpen 立即失败

OpenCV: cv2.videoCapture successful, but isOpen fails right after

我找到了一些其他线程,但它们对我的问题没有帮助。 我感到困惑的行是:

print("videopath",os.path.isfile(video_path),video_path)
self.cap = cv2.VideoCapture(video_path)
print("is open?",self.cap.isOpened())

它说我的文件存在(第一行 returns 正确,并打印到我的 .mp4 的直接路径),当我将 cv2.VideoCapture 放入 try/catch,毫无问题地成功了。但是它说视频没有打开,我无法从中提取任何帧。我在 Ubuntu 16.04,使用 OpenCV 3.3 和 Python 3.5。 任何建议将不胜感激,谢谢。

最后是因为我在手动安装的基础上安装了 OpenCV 的 wheel 版本。不要使用 pip install opencv-python 因为它不是官方的并且会发生这样的错误。这是一个令人难以置信的指南,使它变得非常简单:https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

不过要明确一点,我已经经历了整个过程一次,然后尝试了 pip 只是因为,它破坏了它,所以一旦你手动安装它,不要碰 wheel 包!