OpenCVでウェブカメラを接続するのに苦労しています。Windows 7 64 ビットのラップトップの Web カメラは正常に動作します。しかし、別の Web カメラを接続すると、コードはまったく機能しません。
capWebcam = cvCaptureFromCAM(0);
if(capWebcam == NULL) {
printf("error: capture is NULL \n");
getchar();
return(-1);
}
Web カメラがないため、エラー メッセージが返されます。ラップトップのウェブカメラを無効にしましたが、うまくいきましたが、黒い画面が表示されます。
Logitech HD Pro C920とMicrosoftのLifeCam Cinemaという 2 つの Web カメラを試しました。これは、カムを取得する責任がある行です。
CvCapture* mycapWebcam = cvCaptureFromCAM(0);
0 を別の値 (0-10) に変更しました。これは、この構造に関する情報です。
CvCapture* cvCaptureFromCAM(int インデックス)
カメラからのビデオのキャプチャを初期化します。
パラメータ: index – 使用するカメラのインデックス。カメラが 1 つしかない場合、またはどのカメラを使用してもかまわない場合は、-1 を渡すことができます。
関数 cvCaptureFromCAM() は、カメラからビデオ ストリームを読み取るための CvCapture 構造体を割り当てて初期化します。現在、Windows では次の 2 つのカメラ インターフェイスを使用できます。Video for Windows (VFW) と Matrox Imaging Library (MIL)。Linux では V4L と FireWire (IEEE1394) の 2 つです。
構造を解放するには、ReleaseCapture を使用します。
この問題を解決するにはどうすればよいですか?