Mac 上的 OpenCV 无法打开 USB 网络摄像头

2024-01-06

我使用失败OpenCV http://en.wikipedia.org/wiki/OpenCV的 VideoCapture.open(int) 从我的 USB 网络摄像头获取视频捕获MacBook Pro http://en.wikipedia.org/wiki/MacBook_Pro运行 Mac OS X v10.7 (Lion)。使用 open(0) 成功从 iSight 摄像头捕获图像。但我没能找到网络摄像头。

网络摄像头已安装并可正常使用Skype http://en.wikipedia.org/wiki/Skype,以及macam http://webcam-osx.sourceforge.net/驱动程序应用程序。

这是我正在使用的代码的一部分:

VideoCapture cap; 
for (int i = 1; i < 1500; i++) {
    if (cap.open(i))
    {
        cout << "Found camera %d\n" << i;
        break;
    }
}
if(!cap.isOpened()) {  // Check if we succeeded
    return -1;
}

如果我初始化i设置为 0 时,它会立即找到 iSight 摄像头。如果我初始化i为 1,然后它再次找到 iSighti = 500.

我该如何解决这个问题?


尝试在没有此行的情况下运行您的代码:break;。您可能会发现不止一台相机,其中之一就是网络摄像头。
请注意,参数cap.open不仅是相机的数量 - 它还定义了您要使用的 API:

相机调度方法:index是相机编号。

  • 如果给定一个从 0 到 99 的索引,它会尝试找到第一个
  • 可以访问给定相机索引的 API。
  • 添加 100 的倍数来选择 API(来自 cap.cpp 的注释)

可能性(取自 highgui_c.h):

CV_CAP_ANY      =0,     // autodetect  
CV_CAP_MIL      =100,   // MIL proprietary drivers  
CV_CAP_VFW      =200,   // platform native  
CV_CAP_V4L      =200,
CV_CAP_V4L2     =200,  
CV_CAP_FIREWARE =300,   // IEEE 1394 drivers  
CV_CAP_FIREWIRE =300,  
CV_CAP_IEEE1394 =300,  
CV_CAP_DC1394   =300,  
CV_CAP_CMU1394  =300,  
CV_CAP_STEREO   =400,   // TYZX proprietary drivers  
CV_CAP_TYZX     =400,  
CV_TYZX_LEFT    =400,  
CV_TYZX_RIGHT   =401,  
CV_TYZX_COLOR   =402,  
CV_TYZX_Z       =403,  
CV_CAP_QT       =500,   // QuickTime  
CV_CAP_UNICAP   =600,   // Unicap drivers  
CV_CAP_DSHOW    =700,   // DirectShow (via videoInput)  
CV_CAP_PVAPI    =800,   // PvAPI, Prosilica GigE SDK  
CV_CAP_OPENNI   =900,   // OpenNI (for Kinect)  
CV_CAP_OPENNI_ASUS =910,   // OpenNI (for Asus Xtion)  
CV_CAP_ANDROID  =1000,  // Android  
CV_CAP_XIAPI    =1100,   // XIMEA Camera API  
CV_CAP_AVFOUNDATION = 1200  // AVFoundation framework for iOS (OS X Lion will have the same API)

大概CV_CAP_AVFOUNDATION = 1200就是你正在寻找的 - 尝试从 1200 开始循环,不要忘记删除break;我认为您会找到您想要的东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac 上的 OpenCV 无法打开 USB 网络摄像头 的相关文章

随机推荐