cvCaptureFromCAM导致程序挂起
cvCaptureFromCAM causes program to hang
我有一个多摄像头设置和一个OpenCV应用程序,该应用程序一直在使用两个摄像头。一台相机是罗技C310,另一台是我在MacBook Pro上的内置相机。初始化时,我调用cvCaptureFromCAM(),每个相机调用一次。然而,连接第二台Logitech C310(共3台相机)会导致我的MacBook pro相机挂起对cvCaptureFromCAM()的调用。
罗技的两个摄像头配合得很好。一旦我为我的MacBook相机调用cvQueryFrame(),它就会挂起,但最终可能在2-3分钟后,它会返回一个看起来有效的指针(即不是NULL),但该相机没有初始化。我没有收到来自该相机的帧,并且在使用相机时通常为绿色的灯光没有点亮。
以下是我的代码片段:
for( size_t i = 0; i < NUM_CAMERAS; i++ ) // Works fine when NUM_CAMERAS is 2, but hangs when it is 3
{
capture[i] = cvCaptureFromCAM( i );
if( capture[i] != NULL )
{
// Start a thread for each camera
}
}
// Threads manage calling cvQueryFrame() for each camera.
我确信这不是多线程的问题,因为cvQueryFrame()总是挂起,即使我没有启动任何新线程。
谢谢你的帮助-我很难找到其他有类似问题的人。
OpenCV 2.4.5OSX 10.8.4gcc 4.2问题5.0.2增强版1053002.4GHz英特尔酷睿i7,retina Mac,8BG RAM2个Logitech C310,1个MacBook Pro摄像头1 x沮丧的Dude
这是我的MacBook Pro的一个限制。运行2个USB摄像头以及内置的iSight(我相信它内部也是USB),第三个设备的初始化挂起。我无法提供技术原因,但似乎是USB带宽问题。
我使用Thunderbolt底座解决了这个问题(http://www.belkin.com/us/p/P-F4U055)其具有额外的USB端口。现在,我的应用程序运行良好,并按照应该的方式初始化所有相机。还验证了Apple Thunderbolt显示器(内置USB集线器)也能工作。
干杯!
- 使用互斥会挂起程序
- 在C++和 Python 程序中使用命名管道的 IPC 挂起
- 设置变量时C++程序挂起
- 第一次尝试使用new动态创建结构数组,程序挂起没有错误
- 有时ShowWindow从不调用OnShowWindow,主应用程序挂起
- 访问类成员的成员变量时 cpp 程序挂起
- 为什么我的 N-Queens 程序在填充=3、行=4 和 col=7/8 时挂起?
- 处理程序在处理 SIGWINCH 后挂起
- 程序在没有操作系统信号的情况下在函数中的特定行挂起
- C++多线程应用程序将永远挂起
- 如何在C++中挂起程序,然后"取消挂起"它
- 为什么新操作员挂起我的程序?
- C++程序在调用'mkfifo'时挂起(Lustre FS)
- 为什么线程分离时程序挂起
- 程序中止挂起命名的互斥锁
- 如何在Cocos2d Android应用程序中获得呼叫/挂起事件
- 当后端响应需要很长时间时,WXWIDGET应用程序会挂起
- 在非阻塞套接字上挂起程序
- 随机数的正态分布会挂起程序
- 挂起程序,直到ofstream::flush()完成