2012-05-11 46 views
1

私は2つのUSBウェブカメラ(フィリップスSPC 900NC)とのライブビデオを利用したいと思いますが、私は彼らが私のラップトップ上でsimutaneously動作しないことが判明。 2つのUSBウェブカメラのいずれかが単独で動作したり、別のウェブカメラ(元々はノートパソコンに取り付けられています)で動作します。Matlabで複数のUSBウェブカメラを同時に使用するには?

I「は、ビデオ装置から」Simulinkのブロックを使用する場合、MATLABはとエラーメッセージ「複数VIDEOINPUTオブジェクトが同時に同じデバイスにアクセスすることはできません。」が得られました。次に、コマンド 'imaqhwinfo'でビデオ入力デバイスを確認したところ、USB Philipsウェブカメラの1つだけが検出されました。

私は

  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); 

ステレオモードを有効にする(同時に働いて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(); 

は、上記機能の外側stereocallback関数を定義します。

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

//Process 2 images here 
} 
関連する問題