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

QtG*_*Guy 3 windows macos webcam opencv video-capture

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

在Windows中使用OpenCV:上面提到的所有凸轮都运行良好.但是当我想使用2个凸轮并因此创建第二个捕获时,它将取决于我在双凸轮设置中使用的设备.

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

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

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

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

我仍然想知道问题出在哪里......也许2 PS Eye可以在OSX上工作,如果一个人做的话?我说不出来.

我甚至可以通过2x罗技全高清网络摄像机同时捕捉到良好的性能.

任何想法限制可能与Windows中的双PS眼睛?也许是USB?为什么OSE中的OpenCV不能从PSEye捕获,但是macam可以访问凸轮?

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

And*_*aev 9

视频捕获是非常依赖于平台的区域.因此,Windows和OS X之间的区别非常令人期待.OpenCV利用大量视频捕获API来支持尽可能多的设备模型.目前(OpenCV 2.3.1)它在后端使用以下libs/API:

视窗:

  • DirectShow(思想视频输入库)
  • 微软的Windows视频(VfW)API
  • CMU 1394数码相机驱动程序
  • Matrox成像库(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 (opt)
  • 适用于XIMEA设备的XIMEA API (opt)

OS X:

  • QuickTime (opt)
  • QTKit (如果没有QuickTime,这两个在OpenCV中是互斥的)
  • OpenNI相机驱动程序(opt)
  • 适用于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等简单程序进行测试.