c# - 在 EMGU CV 中手动对焦相机

标签 c# .net opencv emgucv

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

最佳答案

我通过使用 DirectShow 找到了解决方案.通过 IAMCameraControl 接口(interface),我可以控制相机的曝光和对焦。代码示例:

 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)

关于c# - 在 EMGU CV 中手动对焦相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18124646/

相关文章:

c# - Linq to XML 从结果中删除重复项

.net - 将配置信息放入DLL

.net - 等待异步模式和工作窃取线程

c# - Azure KeyVault : Azure. Identity.CredentialUnavailableException:DefaultAzureCredential 无法从包含的凭据中检索 token

python - Python 中的 OpenCV。问 : Recognize my face and put my name. 像数据库

c# - 如何计算网络速度?

c# - 迭代未知的数据结构?

c# - DbContextOptionsBuilder 不包含 'UseSqlServer' 的定义

opencv - FFMpeg、AVFrame 和 AVBuffer

python - 使用 Python 从视频中提取文本