我有一台PTGrey FL3-U3-13E4C-C USB 3相机。我能够从PTGrey提供的默认代码中读取和存储单个摄像机的图像
但是当我尝试运行MultipleCameraEx以连接2个摄像头进行测试时,我得到了失败的等时启动错误。
我尝试手动将摄像机数量设置为2并运行没有for循环的代码,我仍然得到2个摄像机的相同错误。
我收到以下错误。
FlyCapture2库版本:2.10.3.266 申请建立日期:2017年4月8日17:45:42
检测到的摄像机数量:2
*相机信息* 序列号 - 16362359 相机型号 - Flea3 FL3-U3-13E4C 相机供应商 - Point Grey Research 传感器 - E2v EV76C560(1 / 1.8"彩色CMOS) 分辨率 - 1280x1024 固件版本 - 2.15.3.3 固件构建时间 - 2015年7月29日星期三16:41:55
*相机信息* 序列号 - 16362353 相机型号 - Flea3 FL3-U3-13E4C 相机供应商 - Point Grey Research 传感器 - E2v EV76C560(1 / 1.8"彩色CMOS) 分辨率 - 1280x1024 固件版本 - 2.15.3.3 固件构建时间 - 2015年7月29日星期三16:41:55
错误追踪: 来源:IidcCameraInternal.cpp(469)内容:2016年10月20日20:17:21 - 错误启动等时流。 + - >来自:Iso.cpp(2046)建立:2016年10月20日20:16:34 - 等时启动失败。错误:0x2。
答案 0 :(得分:5)
如果您在Linux下进行开发,您的问题可能与分配给USB子系统的最大可用内存量有关,而且太小(这是我的问题的原因!)。
要使用多个摄像头,应将usbcore变量usbfs_memory_mb
设置为大(例如1024)。在我的情况下,即使只有一个Point Grey Blackfly BFLY-U3-23S6C相机,分配的默认缓冲区(在我的机器上运行Ubuntu 16.04 LTS时为16)太小了。
要做到这一点
$ sudo modprobe usbcore usbfs_memory_mb=1024
或强>
$ sudo sh -c 'echo 1024 > /sys/module/usbcore/parameters/usbfs_memory_mb'
更改将在下次重新启动之前生效。
要永久更改,请将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