我有一个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。
如果您在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)
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |