gpt4 book ai didi

python - OpenCV (3.3.0) 在带有视频的 VideoCapture 上返回失败,但适用于网络摄像头 [OS X]

转载 作者:行者123 更新时间:2023-12-02 17:40:08 25 4
gpt4 key购买 nike

感谢您已经阅读,我一直试图让它工作一天,但我没有更接近解决方案。

我试图得到这个object tracker去工作。当我使用网络摄像头中的视频时(带有: python object-tracker-single.py -d 0 ,一切都按预期工作。

但是,一旦我尝试使用视频文件(我尝试了不同的格式: .mp4.mkv.avi 。我还尝试使用存储库中给出的文件,但没有用以及。要查看是否存在 File not found -错误,我将无效路径传递给函数并打印了错误,当我使用其他视频时尚未打印。所以我的文件使用 is(/are) 有效且未损坏。

我安装了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等于 Falseimage等于 None .
如果我能以某种方式调试这种行为,它已经对我有所帮助,但我没有找到任何这样做的方法。

我发现很多 Windows 用户都遇到了丢失 ffmpeg 的问题。支持,但对我来说不是这样,因为我使用了 ffmpeg在以前的(不是 OpenCV 相关的)项目和 CMakeCache.txt报告 ffmpeg已找到,编译成功。

我还尝试对视频文件使用完全限定的文件名,结果是 Video device or file couldn't be opened或给定的问题。

如果您对如何完全解决此问题有任何想法,对如何解决此问题有任何想法,或者可以为我提供正确调试此行为的方法,我会非常高兴来到这里!

已经谢谢了!

-

系统:MacBook Pro (macOS Sierra 10.12.6)

OpenCV 版本: 3.3.0
Dlib 版本(不需要 imo,但是嘿): 19.4.0
编辑 2 cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../ >> result.txt 的输出: pastebin

最佳答案

我对 OpenCV 3.3.0 有同样的问题。在 Ubuntu 14.04 上。

cv2.VideoCapture 失败的原因,似乎是因为 OpenCV 安装错误。

应遵循官方安装方式:http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

我已经使用 pip 安装了,显然无法正常工作。

我最终只是拉了一个 docker 图像:
https://hub.docker.com/r/victorhcm/opencv/

那工作得很好。

关于python - OpenCV (3.3.0) 在带有视频的 VideoCapture 上返回失败,但适用于网络摄像头 [OS X],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46057594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com