等时启动失败。错误:0x2;从2个摄像机开始读取时PTGrey

Ash*_*yan 3 c++ camera opencv

我有一个PTGrey FL3-U3-13E4C-C USB 3相机。我可以从PTGrey提供的默认代码读取和存储单个摄像机的图像。
但是,当我尝试在连接了2个摄像机的情况下运行MultipleCameraEx进行测试时,出现“等时启动失败”错误。
我尝试将摄像机的数量手动设置为2,并在没有for循环的情况下运行代码,但对于2台摄像机,我仍然遇到相同的错误。
我收到以下错误。

FlyCapture2库版本:2.10.3.266应用程序生成日期:2017年4月8日17:45:42

检测到的摄像机数量:2

*摄像机信息* 序列号-16362359摄像机型号-Flea3 FL3-U3-13E4C摄像机供应商-点灰度研究传感器-E2v EV76C560(1 / 1.8英寸彩色CMOS)分辨率-1280x1024固件版本-2.15.3.3固件构建时间-周三29 16:41:55 2015年

*摄像机信息* 序列号-16362353摄像机型号-Flea3 FL3-U3-13E4C摄像机供应商-点灰度研究传感器-E2v EV76C560(1 / 1.8英寸彩色CMOS)分辨率-1280x1024固件版本-2.15.3.3固件构建时间-周三29 16:41:55 2015年

错误跟踪:源:IidcCameraInternal.cpp(469)内置:2016年10月20日20:17:21-启动同步流时出错。+->来自:Iso.cpp(2046)内置:2016年10月20日20:16:34-等时启动失败。错误:0x2。

Sim*_*nti 5

如果您在Linux下进行开发,则问题可能与分配给USB子系统的最大可用内存量有关,因为内存太小(这就是我的问题所在!)

要使用多台摄像机,usbfs_memory_mb应将usbcore变量设置为适当的大值(例如1024)。就我而言,即使只有一台Point Grey Blackfly BFLY-U3-23S6C摄像机,分配的默认缓冲区(在运行Ubuntu 16.04 LTS的计算机上为16)仍然太小。

为此使用

$ sudo modprobe usbcore usbfs_memory_mb=1024
Run Code Online (Sandbox Code Playgroud)

要么

$ sudo sh -c 'echo 1024 > /sys/module/usbcore/parameters/usbfs_memory_mb'
Run Code Online (Sandbox Code Playgroud)

更改将一直有效,直到下一次重新启动。

要使更改永久生效,请添加options usbcore usbfs_memory_mb=1024到适当的/etc/modprobe.d文件(例如/etc/modprobe.d/usbcore.conf

检查当前usbfs_memory_mb使用设置

$ sudo cat /sys/module/usbcore/parameters/usbfs_memory_mb
Run Code Online (Sandbox Code Playgroud)