手动将相机对准EMGU CV

Sul*_*lNR 2 .net c# opencv emgucv

我在我的应用程序中使用EMGU CV库.如何手动将相机焦点设置为对象?现在我正在使用Capture类来获取图像.

Sul*_*lNR 8

我使用DirectShow找到了解决方案.通过IAMCameraControl界面,我可以控制相机的曝光和聚焦.代码示例:

 DsDevice[] devs = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice); // getting video devices
 IFilterGraph2 graphBuilder = new FilterGraph() as IFilterGraph2; 
 IBaseFilter capFilter = null;
 if (graphBuilder != null)
 graphBuilder.AddSourceFilterForMoniker(devs[0].Mon, null, devs[0].Name, 
    out capFilter); //getting capture filter for converting it into IAMCameraControl
 IAMCameraControl _camera = capFilter as IAMCameraControl;
 _camera.Set(CameraControlProperty.Focus, 250, CameraControlFlags.Manual); //Setting focus to macro (in my camera, range between 0 - 250)
Run Code Online (Sandbox Code Playgroud)