我正在尝试在 python 项目中访问我的笔记本电脑的内置红外网络摄像头(用于 windows hello)。我可以使用 OpenCV 中的 VideoCapture 类轻松访问普通 RGB 摄像头,但是找不到访问红外摄像头的方法。我尝试将不同的索引传递给 VideoCapture 类,但是只有“0”有效,这是普通的网络摄像头。
可以使用 Windows API 执行此操作,但是我找不到在 Python 中访问它的方法。
有些人已经能够使用 fswebcam 在 Ubuntu 上访问 windows hello 摄像头。
无论如何都可以使用python访问红外摄像头吗?也许某种方式使用 pywin32 与 Windows API 接口?任何帮助开始这将不胜感激。或者,是否有类似于 Windows 的 fswebcam 的东西可以让我做同样的事情?
答案 0 :(得分:3)
您提供的那个示例似乎没有使用 win32 api,而是使用 dotnet 框架,特别是 Windows.Media.Capture.Frames.MediaFrameSourceGroup 类。
您似乎可以使用 http://pythonnet.github.io/ 访问 dotnet 框架。之后应该是将 C# 代码移植到 Python 的情况。
答案 1 :(得分:1)
您需要访问 WinRT API,而不是 Win32 API。
使用此库:https://github.com/Microsoft/xlang/tree/master/src/package/pywinrt/projection,您应该能够从您发布的代码中调用 WinRT 中的 invoke 必要部分。