0

オートフォーカスのため、2台のカメラのキャリブレーションとポーズの取得に大きな問題があります。同じタイプの2つのlogitechWebカメラ、openCVとC++を使用しています。

私はこれを試しました:

cv::Size imageSize(1600,1200);      
cv::VideoCapture cap1(0);
cap1.set(CV_CAP_PROP_FRAME_WIDTH,imageSize.width);
cap1.set(CV_CAP_PROP_FRAME_HEIGHT,imageSize.height);

cv::VideoCapture cap2(1);
cap2.set(CV_CAP_PROP_FRAME_WIDTH,imageSize.width);
cap2.set(CV_CAP_PROP_FRAME_HEIGHT,imageSize.height);




IAMCameraControl *pCameraControl; 
HRESULT hr; 
if (hr == S_OK) {
  long defaultFocusValue = 0;
  hr = pCameraControl->Set(CameraControl_Focus, // property 
                        defaultFocusValue, // value
                        CameraControl_Flags_Manual //Flag
                                ); 
}   

1台のカメラだけを使用して動作しますが、2台のカメラを使用します-そうではありません。

誰がここで私を助けることができますか?

4

1 に答える 1

0

IAMCameraControlインターフェイスは、DirectShowキャプチャフィルターで公開されますこのインターフェイスをどのように取得したかは示していませんが、一般に、(C#コード例)のように、各キャプチャフィルターからこのインターフェイスの個別のインスタンスを取得する必要があります。

IAMVideoProcAmp VideoProcAmp1 { get { return cap1 as IAMVideoProcAmp; } }
IAMVideoProcAmp VideoProcAmp2 { get { return cap2 as IAMVideoProcAmp; } }
于 2013-03-15T09:11:35.133 に答える