由于自动对焦,我很难校准两个相机并获得它们的姿势。我正在使用两个相同类型的logitech网络摄像头,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
);
}
只使用一台相机,但有两台相机 - 不是。
谁能帮助我?
答案 0 :(得分:0)
IAMCameraControl 界面在DirectShow捕获过滤器上公开。您没有展示如何获得此接口,但通常您需要从每个捕获过滤器获取此接口的单独实例,如(C#代码示例)所示:
IAMVideoProcAmp VideoProcAmp1 { get { return cap1 as IAMVideoProcAmp; } }
IAMVideoProcAmp VideoProcAmp2 { get { return cap2 as IAMVideoProcAmp; } }