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

一段时间以来,我一直在玩OpenCV,甚至在不同的平台上,我发现了一些特定捕捉设备(PS3 Eye,Logitech C940,iSight)的一些奇怪的行为。

Windows中使用OpenCV:上面提到的所有摄像头都工作正常。 但是当我想使用2个摄像头并因此创build第二个摄像头时,将取决于我在双摄像头设置中使用的设备。

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

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

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

只要在Mac OS中不使用PS Eye,每个安装程序都很棒。 我尝试了macam和其他几个工具,但是我只是无法让OpenCV在OSX中初始化这个凸轮(我为我的项目买了3个,所以硬件probs不太可能)。

我仍然想知道问题出在哪里……也许2个PS Eye在OSX上工作,如果只有一个呢? 我不知道。

我甚至可以从2个罗技FULL HDnetworking摄像机同时拍摄出不错的performance。

任何想法可以限制在Windows双PS眼睛? 也许USB? 为什么不能从PSEye OSX Capture中打开OpenCV,但是macam可以访问凸轮?

我只是想了解发生了什么。 也许你们中的任何一个人都find了在OSX中至less使用单个PS Eye的方法? 或者这是不可能的? 不能opencv以某种方式使用macam组件?

视频捕捉是非常依赖于平台的领域。 所以Windows和OS X之间的区别是比想象中的更期待的。 OpenCV利用大量视频捕获API来支持尽可能多的设备模型。 目前(OpenCV 2.3.1)它在后端使用以下libs / API:

视窗:

  • DirectShow(思想VideoInput库)
  • 微软的Windows视频(VfW)API
  • CMU 1394数码相机驱动程序
  • Matrox成像库(MIL) (opt)
  • OpenNI相机驱动程序(选择)
  • XIMEA设备的XIMEA API (opt)

Linux的:

  • libdc1394(API v1或API v2) – 符合IIDC标准的相机(opt)
  • Prosilica GigE视觉相机的PvAPI (可选)
  • unicap – 统一的图像采集设备API (opt)
  • video4linux(V4L或V4L2) (opt)
  • OpenNI相机驱动程序(用于Kinect) (选择)
  • XINE (opt)
  • XIMEA设备的XIMEA API (opt)

OS X:

  • QuickTime (选择)
  • QTKit (如果没有QuickTime,这两者在OpenCV中是互斥的)
  • OpenNI相机驱动程序(选择)
  • XIMEA设备的XIMEA API (opt)

安卓:

  • 内置的Android相机

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

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

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

您可以。 请将macam.component复制到/ Library / QuickTime /目录(供系统中所有用户访问)或〜/ Library / QuickTime /(仅供该用户访问)。 如果您有以前的副本,请先删除它。 通常不需要重新启动,但是如果遇到问题,尝试一下是件好事。 要验证您的安装是否正常,请使用HackTVCarbon,VideoViewer或BTV等简单程序进行测试。