微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OpenCV无法从Linux上超过8个networking摄像机捕获

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)。

用Qt显示WebCamvideo

Java上的便携式应用程序使用networking摄像头

libv4l2:打开stream的错误:设备上没有剩余空间

使用Opencv直接从networking摄像头获取灰度图像

Windows + Qt以及如何在没有OpenCV的情况下捕捉networking摄像头

同时从多个应用程序访问摄像头

什么是在Linux上的Pythonvideo捕捉最好的库?

如何从networking摄像机拍摄单张快照?

如何从@R_404_6268@Windows手机8.1.app调用系统相机

DirectShow:networking摄像头预览和图像捕捉

这个问题是由OpenCV源代码中的这一行引起的:

#define MAX_CAMERAS 8

只需更改MAX_CAMERAS值并重建OpenCV即可解决问题。 要更改的文件是libv4l版本的modules / highgui / src / cap_libv4l.cpp( 第260行 ),以及v4l版本的cap_v4l.cpp。 (有关这两个构建选项,请参阅此答案 )。对于OpenCV 3.0,目录更改为modules / videoio / src /。

注意:在达到8摄像头限制之前,通常会遇到摄像头带宽问题。 看,例如,这个答案 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐