0

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 を使用します。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

0

別の API を使用してみてください - Stack Overflow の質問OpenCV on Mac is not opening USB web cameraに対する私の回答を見てください。

多くの場合、最初のフレームは黒です (理由はわかりません)。しばらく待ってから、別のフレームを取得してください。

于 2013-01-07T00:34:33.663 に答える