OpenCV 2.3 (c++,QtGui),问题初始化一些特定的USB设备和设置



我一直在玩OpenCV,我发现一些特定的捕获设备(PS3 Eye, Logitech C940, iSight)即使在不同的平台上也有一些奇怪的行为。

在Windows中使用OpenCV:上面提到的所有cam都能很好地工作。但是当我想使用2个摄像头,因此创建第二次捕获时,这将取决于我在双摄像头设置中使用的设备。

PS3 Eye + C940:没有问题2x C940:没有问题

2x PS3 Eye:没有机会,只有先连接的特定设备才会初始化。另一只PS3 Eye不能同时使用…没有错误事件,也没有显示有关问题的信息。

现在在MacOSX 10.7中使用OpenCV(与10.6.x相同),使用相同的设备甚至相同的QtGui应用程序与2个独立的GLWidgets在QtGui中显示cv输出存在不同的问题。

只要在Mac OS中不使用PS Eye,每个设置都很棒。我尝试了macam和其他几个工具,但我就是不能让OpenCV在OSX中初始化这个摄像头(我为我的项目买了3个,所以硬件问题不太可能)。

我仍然想知道问题在哪里…也许2个PS Eye能够在OSX上运行?我不知道。

我甚至可以同时从2个罗技全高清网络摄像头拍摄,性能很好。

你知道Windows双PS眼的局限性在哪里吗?也许USB ?为什么OSX中的OpenCV不能从PSEye中捕获,但macam可以访问cam?

我只是想知道发生了什么。也许你们中有人找到了在OSX中至少使用一个PS Eye的方法?还是这根本不可能?openv不能以某种方式使用macam组件?

视频捕获是非常依赖于平台的领域。所以Windows和OS X之间的差异是意料之中的,而不是奇怪的。OpenCV利用大量的视频捕获api来支持尽可能多的设备模型。目前(OpenCV 2.3.1)它在后端使用以下库/api:

Windows:

  • DirectShow (thought VideoInput library)
  • Microsoft Video for Windows (VfW) API
  • CMU 1394数码相机驱动程序
  • matrix Imaging Library (MIL) (opt)
  • OpenNI相机驱动程序(opt)
  • 用于XIMEA器件的XIMEA API (opt)
Linux:

  • libdc1394 (API v1或API v2) - IIDC标准兼容摄像机(opt)
  • Prosilica GigE Vision相机的PvAPI (opt)
  • unicap -用于图像采集设备的统一API (opt)
  • video4linux (V4L或V4L2) (opt)
  • OpenNI相机驱动程序(Kinect) (opt)
  • XINE (选择)
  • 用于XIMEA器件的XIMEA API (opt)
OS X

:

  • QuickTime (选择)
  • QTKit (如果没有QuickTime,这两个在OpenCV中是互斥的)
  • OpenNI相机驱动程序(opt)
  • 用于XIMEA器件的XIMEA API (opt)
Android:

    内置Android摄像头

* (opt) -这些接口是可选的-可以在OpenCV构建期间打开或关闭,可能需要一些额外的SDK。

关于PS3 Eye - on Windows,很可能是VideoInput库或安装的驱动程序的一些限制。在OS X上,首先,确保你的OpenCV是用QuickTime支持构建的。第二,确保macam.component正确安装到QuickTime中。以下是他们的常见问题解答:

为什么我不能在其他应用程序上使用我的摄像头?

。请将macam.组件复制到/Library/QuickTime/目录(供系统所有用户访问)或进入~/Library/QuickTime/(仅供该用户访问)。如果您有以前的副本,请先删除它。重启通常是不需要,但如果你遇到麻烦,试一试是件好事。来验证您的安装是否有效,使用一个简单的程序进行测试,例如如HackTVCarbon, VideoViewer或BTV

最新更新