目前正在尝试使用连接到安装了 Ubuntu 18.04 的 Raspberry Pi 4(通过板载 USB 端口和 USB 集线器)的 10 个 USB 摄像头同时捕获 10 个图像。我正在使用多线程方法来创建多个将捕获照片的相机对象。我目前有 4 个摄像头工作(这上升到 /dev/video7,每个物理摄像头占用 2 个设备索引。
我目前遇到的问题是访问任何大于 7 索引的相机设备(将无法访问 5 或更高的物理相机)。我目前收到以下错误:
“视频错误:V4L:索引 8 不正确!”
它与位于 modules/videoio/src/cap_v4l.cpp 的 opencv_3.4.1 源文件相关联。在这个源文件中,它提到它已针对多达 8 个输入进行了测试,是否有人设法获得超过 8 个输入设备来使用 Raspberry Pi 拍摄照片?
我还将添加一些我已经尝试过的调试信息。
- 将 #define MAX_CAMERAS 8(位于 cap_v4l.cpp 中)更改为更大的值并重建了 opencv 模块,但没有任何影响。
- 我也尝试过自己访问设备索引大于 7 的任何相机,但它仍然存在。
- 我设法使用 ROS melodic 上的 usb_cam 访问这些摄像头,因此它们可以正常工作和连接。如果可能的话,我更愿意通过 opencv-python 来完成这项工作,但如果没有解决方案,我将探索一种 ROS 方法来解决该任务。
任何帮助或建议表示赞赏,谢谢。