OpenCV cap.get(cv2.CAP_PROP_FRAME_COUNT) 返回 -1

OpenCV cap.get(cv2.CAP_PROP_FRAME_COUNT) returning -1

我最近使用以下教程 http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/

在我的 ubuntu 电脑上为 python 安装了 opencv 3.0

所以我运行下面的代码来获取一个mp4视频的帧数

   import cv2

   cap = cv2.VideoCapture('vid.mp4')
   length = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
   print length 

St运行gely 我得到“-1”作为 "length" 的输出。视频确实加载了,我得到了

的准确值
   int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))  #480

   int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))   #640

所以很奇怪为什么帧计数不起作用。请帮助。

问题出在 opencv 构建上(因为它也发生在 c++ 中)。我最终重建了我的 opencv,并且在

之后一切正常