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是虚拟设备,依次类推。
具体原因见:Linux下OpenCV打开USB接口的UVC摄像头的方法以及索引号为什么要是202的原因_jirryzhang的博客-CSDN博客