如何在Matlab中使用多个USB摄像头同时工作?

如何在Matlab中使用多个USB摄像头同时工作?,matlab,webcam,Matlab,Webcam,我想用两个USB摄像头(飞利浦SPC 900NC)拍摄现场视频,但我发现它们不能在我的笔记本电脑上同时工作。两个USB网络摄像头中的任何一个都可以单独工作,也可以与另一个网络摄像头(最初安装在我的笔记本电脑上)一起工作 当我使用simulink块“来自视频设备”时,Matlab给出了错误消息“多个视频输入对象无法同时访问同一设备”。然后我用命令“imaqhwinfo”检查了视频输入设备,只能检测到一个USB飞利浦网络摄像头 我想知道 这种情况的原因是什么?是因为硬件限制(USB总线带宽)还是仅仅

我想用两个USB摄像头(飞利浦SPC 900NC)拍摄现场视频,但我发现它们不能在我的笔记本电脑上同时工作。两个USB网络摄像头中的任何一个都可以单独工作,也可以与另一个网络摄像头(最初安装在我的笔记本电脑上)一起工作

当我使用simulink块“来自视频设备”时,Matlab给出了错误消息“多个视频输入对象无法同时访问同一设备”。然后我用命令“imaqhwinfo”检查了视频输入设备,只能检测到一个USB飞利浦网络摄像头

我想知道

  • 这种情况的原因是什么?是因为硬件限制(USB总线带宽)还是仅仅matlab视频对象不支持相同的多个视频设备

  • 这个问题的解决办法是什么?谁能给我一些建议吗


  • 您可能对此链接感兴趣:

    其中包括:

    首先,初始化cvcam库并通过以下方式获得凸轮数:

    int ncams = cvcamGetCamerasCount( );    //returns the number of available cameras in the system
    
    显示对话框以选择正在使用的摄影机

    int* out; int nselected = cvcamSelectCamera(&out);
    
    获取选定的凸轮并启用它们

    int cam1 = out[0];
    int cam2 = out[1];
    
    cvcamSetProperty(cam1, CVCAM_PROP_ENABLE, CVCAMTRUE);
    cvcamSetProperty(cam1, CVCAM_PROP_RENDER, CVCAMTRUE);  //We'll render stream from this source
    cvNamedWindow("Cam1", 1);
    cvcamWindow MyWin1 = (cvcamWindow)cvGetWindowHandle("Cam1");
    cvcamSetProperty(cam1, CVCAM_PROP_WINDOW, &MyWin1);   // Selects a window for  video rendering
    //Same code for camera 2
    cvcamSetProperty(cam2, CVCAM_PROP_ENABLE, CVCAMTRUE);
    cvcamSetProperty(cam2, CVCAM_PROP_RENDER, CVCAMTRUE);
    cvNamedWindow("Cam2", 1);
    cvcamWindow MyWin2 = (cvcamWindow)cvGetWindowHandle("Cam2");
    cvcamSetProperty(cam2, CVCAM_PROP_WINDOW, &MyWin1);
    
    //If you want to open the property dialog for setting the video format parameters, uncomment this line
    //cvcamGetProperty(cam1, CVCAM_VIDEOFORMAT, NULL);
    //cvcamGetProperty(cam2, CVCAM_VIDEOFORMAT, NULL);
    
    启用立体模式(两个摄像头同时工作)

    在上述函数之外定义stereocallback函数

    void stereocallback(IplImage* image1, IplImage* image2) {
    
    //Process 2 images here
    }
    
    void stereocallback(IplImage* image1, IplImage* image2) {
    
    //Process 2 images here
    }