C# 如何使用MediaCapture.VideoDevice控制器进行二维码扫描来控制UWP中网络摄像头的曝光或亮度

C# 如何使用MediaCapture.VideoDevice控制器进行二维码扫描来控制UWP中网络摄像头的曝光或亮度,c#,uwp,qr-code,webcam,mediacapture,C#,Uwp,Qr Code,Webcam,Mediacapture,我正在开发一个UWP应用程序,需要从笔记本电脑网络摄像头扫描二维码。我正在为此使用Windows.Media.Capture.MediaCapture类。除了在智能手机上使用二维码时,由于内置摄像头的动态范围有限,二维码的亮度设置过高,所以一切都可以正常工作。网络摄像头的自动曝光处于活动状态,但与环境相比,屏幕可能仍然太亮 我正在寻找一种方法来控制或覆盖亮度或曝光手动或使用某种曝光补偿模式 在我的常规内置网络摄像头上启用/使用的与亮度/曝光相关的唯一属性是亮度和对比度,它们会相应地改变图像,但看

我正在开发一个UWP应用程序,需要从笔记本电脑网络摄像头扫描二维码。我正在为此使用Windows.Media.Capture.MediaCapture类。除了在智能手机上使用二维码时,由于内置摄像头的动态范围有限,二维码的亮度设置过高,所以一切都可以正常工作。网络摄像头的自动曝光处于活动状态,但与环境相比,屏幕可能仍然太亮

我正在寻找一种方法来控制或覆盖亮度或曝光手动或使用某种曝光补偿模式

在我的常规内置网络摄像头上启用/使用的与亮度/曝光相关的唯一属性是亮度和对比度,它们会相应地改变图像,但看起来像是后期处理效果。它们不会改变相机本身的曝光,因此无法解决问题

mediaCapture.VideoDeviceController.ExposureCompensationControl.Supported;
mediaCapture.VideoDeviceController.ExposureControl.Supported;
mediaCapture.VideoDeviceController.ExposurePriorityVideoControl.Supported;
mediaCapture.VideoDeviceController.Exposure.Capabilities.Supported;
全部返回false

mediaCapture.VideoDeviceController.Brightness.TrySetValue(10);

更改图像,但高光仍会消失,并且没有扫描仪拾取的详细信息

关于通过windows驱动程序以编程方式控制相机曝光,您正在考虑正确的界面。使用MS Surface Pro 4,我已使用此界面成功修改了曝光:

mediaCapture.VideoDeviceController.ExposureControl

此外,MS还提供了一些很好的示例和文档,说明如何实现这一点。请记住,如果硬件不支持曝光功能,示例(和MS camera应用程序)将隐藏控件


缺乏成像控制(如曝光)与质量无关。这更多地与相机解决方案的完整性有关。摄像头传感器有一个控制接口(例如i2c),该接口与驱动图像的数据接口分离。大多数第三方相机模块不会实现启用这些控制所需的硬件/软件。

关于通过windows驱动程序以编程方式控制相机曝光,您正在考虑正确的界面。使用MS Surface Pro 4,我已使用此界面成功修改了曝光:

mediaCapture.VideoDeviceController.ExposureControl

此外,MS还提供了一些很好的示例和文档,说明如何实现这一点。请记住,如果硬件不支持曝光功能,示例(和MS camera应用程序)将隐藏控件


缺乏成像控制(如曝光)与质量无关。这更多地与相机解决方案的完整性有关。摄像头传感器有一个控制接口(例如i2c),该接口与驱动图像的数据接口分离。大多数第三方摄像头模块不会实现启用这些控件所需的硬件/软件。

您检查过智能手机摄像头是否支持扫描二维码吗?@Bite,对不起,这并不能回答我的问题或提供任何帮助真的。。。我需要在笔记本电脑上进行扫描。你说它可以在笔记本电脑上进行扫描,除了在智能手机上。@Bite我相信你还没有完全理解我的设置:我正在尝试从笔记本电脑网络摄像头扫描二维码,而不是从智能手机扫描二维码。该应用程序只为笔记本电脑/台式机设计,永远不会在智能手机上运行。QR码本身本质上是一种图像,可以打印在纸上,但更可能显示在智能手机显示屏上,举到笔记本电脑的网络摄像头前。如果该显示器设置得太亮,则网络摄像头的曝光变化不够,无法对其进行扫描。这就是我试图解决的问题。试试。你检查过智能手机摄像头是否支持扫描二维码吗?@Bite,对不起,这并没有回答我的问题,也没有任何帮助真的。。。我需要在笔记本电脑上进行扫描。你说它可以在笔记本电脑上进行扫描,除了在智能手机上。@Bite我相信你还没有完全理解我的设置:我正在尝试从笔记本电脑网络摄像头扫描二维码,而不是从智能手机扫描二维码。该应用程序只为笔记本电脑/台式机设计,永远不会在智能手机上运行。QR码本身本质上是一种图像,可以打印在纸上,但更可能显示在智能手机显示屏上,举到笔记本电脑的网络摄像头前。如果该显示器设置得太亮,则网络摄像头的曝光变化不够,无法对其进行扫描。这就是我要解决的问题。试试看。