2012-05-11 3 views
1

두 개의 USB 웹캠 (Philips SPC 900NC)으로 라이브 비디오를 찍고 싶습니다.하지만 랩톱에서 동시에 작동하지 않는다는 것을 알았습니다. 두 개의 USB 웹캠 중 하나만 사용하거나 다른 웹캠으로 작업 할 수 있습니다 (원래 노트북에 장착).Matlab에서 여러 USB 웹캠을 동시에 사용하는 방법은 무엇입니까?

'비디오 장치에서'시뮬 링크 블록을 사용할 때 Matlab에서 '다중 VIDEOINPUT 개체가 동일한 장치에 동시에 액세스 할 수 없습니다.'라는 오류 메시지를 표시했습니다. 그런 다음 'imaqhwinfo'명령으로 비디오 입력 장치를 확인했는데 USB 필립스 웹캠 중 하나만 감지되었습니다.

나는

  1. 이 상황의 이유는 무엇 것을 알고 싶습니다? 하드웨어 제한 (USB 버스 대역폭) 또는 그냥 matlab 비디오 객체가 동일한 다중 비디오 장치를 지원하지 않기 때문입니까?

  2. 무엇이 해결책입니까? 아무도 나에게 제안을 줄 수 있니?

대단히 감사합니다.

답변

-2
당신은이 링크에 관심 있습니다

다음 cvcam 라이브러리 init을,

처음에 의해 캠의 수를 얻을 :

http://opencv.willowgarage.com/wiki/faq#How_to_use_2_cameras_.28multiple_cameras.29_with_cvCam_library

포함

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 함수를 정의 (동시에 작동하는 2 개 카메라)

cvcamSetProperty(cam1, CVCAM_STEREO_CALLBACK , stereocallback); //stereocallback is the function running to process every frames 

cvcamInit(); 
cvcamStart(); 

//Your app is working 
while (1) 
{ 
    int key = cvWaitKey(5); 
    if (key == 27) break; 
} 
cvcamStop(); 
cvcamExit(); 

를 스테레오 모드를 활성화.

void stereocallback(IplImage* image1, IplImage* image2) { 

//Process 2 images here 
} 
관련 문제