感谢您阅读,我一直试图让这个工作一天,我没有接近解。OpenCV(3.3.0)返回VideoCapture与视频失败,但适用于网络摄像头[OS X]
我试图让object tracker工作。当我使用一个视频从我的摄像头(配:python object-tracker-single.py -d 0
,一切正常
但只要我尝试使用视频文件(我已经尝试过不同的格式:.mp4
,.mkv
& .avi
我。也尝试使用存储库中给出的文件,但这种方式并不奏效。要查看是否存在File not found
-Error,我将一条无效路径传递给该函数,并打印出一个错误,但是当我所以我使用的文件是()是有效的,没有损坏
我安装了dlib
到homebrew
以下this article并编译来自官方源的OpenCV
。这是CMakeCache.txtCMake
吐出来的。在我第一次编译它之后,我添加了opencv_contrib这个组合,认为它可以帮助(我也认为我确实需要它),但是这并没有解决问题。
这是我有问题的代码:
# Create the VideoCapture object
cam = cv2.VideoCapture(source)
# If Camera Device is not opened, exit the program
if not cam.isOpened():
print "Video device or file couldn't be opened"
exit()
print "Press key `p` to pause the video to start tracking"
while True:
# Retrieve an image and Display it.
retval, img = cam.read() #<-- this returns false when trying to read a video
if not retval:
print "Cannot capture frame device"
exit()
在标记线,retval
等于False
和image
等于None
。 如果我能以某种方式调试这种行为,它已经可以帮助我,但我没有找到任何方式。
我发现,许多Windows用户曾与失踪ffmpeg
支持问题,但不适合我的情况,因为我曾经在以前的(不OpenCV的相关)项目ffmpeg
和CMakeCache.txt
报道说ffmpeg
已发现和编译成功了。
我还使用一个完全合格的文件名的视频文件,无论是导致Video device or file couldn't be opened
或者给定的问题尝试。
如果你有任何想法如何这个问题可以彻底解决,对如何解决这个问题的想法或能提供给我的正确调试这种行为,我是超级高兴在这里它的方式!
已经谢谢了!
-
系统:的MacBook Pro(MacOS的塞拉利昂10.12.6
)
OpenCV的版本:3.3.0
DLIB版本(没有必要海事组织,但嘿):19.4.0
编辑2 cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../ >> result.txt
的输出:pastebin
您是否使用硬编码路径(例如'cam = cv2.VideoCapture(“/ home/video.mp4”)')测试了代码? – zindarod
@Zindarod同样的行为,没有区别 – njoye
转到您的OpenCV生成文件夹并运行'cmake .. >> result.txt',在这里发布文件。 – zindarod