小编And*_*ran的帖子

Windows Hello 红外摄像头 - 如何使用 C++/WinRT Media Foundation Platform API 修改 InfraredTorchControl 的当前模式

测试环境

\n
    \n
  • 操作系统:Windows 11 家庭版 22H2
  • \n
  • 红外摄像头:NexiGo HelloCam N930W 摄像头
  • \n
  • 集成开发环境:Visual Studio 2202
  • \n
  • 编程语言:C++ 20
  • \n
  • 应用程序类型:Windows 桌面应用程序 (C++/Winrt) [非通用 Windows 应用程序][Xaml UI]。
  • \n
  • 源代码: https: //github.com/andresbeltranc/ir_camera_sample_win32
  • \n
\n

语境

\n

Windows Hello 摄像头使用红外摄像头和红外发射器,并将两者结合起来感测帧中的深度。它类似于 Apple 的 FaceID 或 Xbox Kinect 中的技术。访问 Windows Hello 摄像头的深度传感功能对于研究人员和应用程序开发人员来说可能非常有价值。

\n

我能够创建一个应用程序,该应用程序能够访问嵌入在启用 Windows Hello 的网络摄像头中的红外摄像头。然而我发现红外发射器的行为不一致。我已将代码发布到上面链接的 github 存储库中。

\n

问题

\n

在我能够访问红外摄像机的每一帧后,我意识到我的摄像机没有打开Infrared Torch(摄像机红外发射器 LED)。但我知道红外手电筒可以工作,因为当我使用 Windows Hello 的面部识别功能时,红外手电筒确实会打开。

\n

我发现驱动程序级别的 Windows 红外摄像头具有以下红外手电筒模式:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
触摸模式描述
KSCAMERA_EXTENDEDPROP_IRTORCHMODE_OFFOff
KSCAMERA_EXTENDEDPROP_IRTORCHMODE_ALWAYS_ONAlways on
KSCAMERA_EXTENDEDPROP_IRTORCHMODE_ALTERNATING_FRAME_ILLUMINATION …

camera infrared ms-media-foundation windows-hello c++-winrt

7
推荐指数
0
解决办法
638
查看次数