请教opencv能同时打开3个USB摄像头,但4个不能同时打开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教opencv能同时打开3个USB摄像头,但4个不能同时打开相关的知识,希望对你有一定的参考价值。

参考技术A 可以通过OpenCV的capture类函数或者结合DirectShow来实现双摄像头的捕获,具体可见我的读书笔记《OpenCV学习笔记(6)基于
VC+OpenCV+DirectShow 的多个摄像头同步工作 》。文中曾提及不能用cvCreateCameraCapture
同时读取两个摄像头,不过后来一位研友来信讨论说只要把摄像头指针的创建代码按照摄像头序号降序执行,就可以顺利打开多个摄像头 ,例如:

CvCapture* capture2 = cvCreateCameraCapture( 1 );
CvCapture* capture1 = cvCreateCameraCapture( 0 );本回答被提问者采纳

Linux opencv VideoCapture()函数打开多个USB摄像头

Linux操作系统下看到的USB摄像头

root@ubuntu-20-04-2-lts:/home/zhao# ls /dev/video*
/dev/video0  /dev/video1  /dev/video2  /dev/video3
root@ubuntu-20-04-2-lts:/home/zhao#

可以看到/dev/video0  /dev/video1  /dev/video2  /dev/video3四个设备,实际上真实的设备是偶数设备/dev/video0 和/dev/video2,奇数设备为虚拟设备,不可用;

opnecv下的VideoCapture();函数的库在windows下和linux下是不同的;

Windows下使用Opencv打开USB摄像头,0就是VideoCapture(0),1就是VideoCapture(1),不存在虚拟设备;

Linux/Ubuntu下使用Opencv打开USB摄像头,0就是VideoCapture(200+0),1是虚拟设备,2就是VideoCapture(200+2),3是虚拟设备,依次类推。

具体原因见:https://blog.csdn.net/jirryzhang/article/details/73465298

以上是关于请教opencv能同时打开3个USB摄像头,但4个不能同时打开的主要内容,如果未能解决你的问题,请参考以下文章

opencv如何打开usb摄像头

求助关于多usb摄像头和多显卡协同工作的问题

同时读取两个USB摄像头采集

opencv不能打开USB摄像头问题

opencv怎么打开usb摄像头

OpenCV 打开USB摄像头帧率低问题解决