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