c++ - 同步启动失败。错误 : 0x2 ;When starting reading from 2 cameras PTGrey

标签 c++ opencv camera

我有一个 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。

最佳答案

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

要使用多个摄像头,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

关于c++ - 同步启动失败。错误 : 0x2 ;When starting reading from 2 cameras PTGrey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43297480/

相关文章:

c++ - 无法从终端编译c++文件

android - setLocation 在媒体记录器 android

android - 如何在许多不同的设备上测试我的相机应用程序

c++ - 如何在 Linux 中运行 OCI

c++ - 使用模板类作为方法参数

c++ - 使用 -march 编译会导致线程显示 "pure virtual method called"

objective-c - 在 UIView 中嵌入 ZBar 相机

c++ - 错误 C2440 : 'initializing' : cannot convert from 'std::_Vector_iterator<_Ty,_Alloc>' to 'type *'

c++ - 特殊编译错误 : ‘cap’ does not name a type

qt - 在Windows中使用Qt配置openCV