【发布时间】:2016-07-27 17:41:13
【问题描述】:
OpenCV 无法在 Linux 上为超过 8 个网络摄像头打开 VideoCaptures。这里举个简单的例子:
# "opencap.py"
import cv2, sys
dev = int(sys.argv[1])
cap = cv2.VideoCapture(dev)
print "device %d: %s" %(dev, "success" if cap.isOpened() else "failure")
对于我的设置(OpenCV 2.4.11,Ubuntu 14.04),比如 9 个网络摄像头,opencap.py 对前 8 个网络摄像头 (0-7) 成功,但对于我得到的最后一个网络摄像头
> python opencap.py 8
HIGHGUI ERROR: V4L: index 8 is not correct!
device 8: failure
注意:v4l2-ctl --list-devices 正确列出了 9 个网络摄像头(/dev/video0、...、/dev/video8)。
【问题讨论】:
-
我认为 GPU 无法处理 8 个网络摄像头,尤其是在网络摄像头具有高分辨率的情况下。
-
我的应用是实时追踪果蝇。跟踪器目前仅使用 CPU,并且在使用 8 个网络摄像头进行跟踪时仅占 i7-4930K 的 12%,每个摄像头为 320x240 像素和 7.5 fps。
-
那我错了。我会想点别的
-
我刚刚用
top和vmstat更仔细地检查了CPU 负载,在12 个网络摄像头的实验中,得到的CPU 仅为7%(主要是用户;系统约为0.4%)。这适用于“实验模式”,其中跟踪器还显示帧和实时热图并写入 M-JPEG 电影。 8 个网络摄像头的 12% CPU 数量来自我几个月前写的一些 ppt;很高兴我又看了一遍。 :) -
我一个字都听不懂:D!!。能否请您简化一下,以便我理解您的意思
标签: python linux opencv limit webcam