【问题标题】:How can I access my laptop's built-in infrared webcam using python?如何使用 python 访问笔记本电脑的内置红外网络摄像头?
【发布时间】:2021-04-03 15:54:08
【问题描述】:

我正在尝试在 python 项目中访问我笔记本电脑的内置红外网络摄像头(用于 windows hello)。我可以使用 OpenCV 的 VideoCapture 类很容易地访问普通的 RGB 摄像头,但是找不到访问红外摄像头的方法。我尝试将不同的索引传递给 VideoCapture 类,但只有“0”有效,这是普通的网络摄像头。

使用Windows API 可以做到这一点,但是我找不到在 Python 中访问它的方法。

有些人已经能够使用 fswebcam 访问 Ubuntu 上的 windows hello 摄像头。

有没有办法使用 python 访问红外摄像头?也许某种使用 pywin32 与 Windows API 交互的方式?任何帮助开始这将不胜感激。或者,有什么类似于 Windows 的 fswebcam 可以让我做同样的事情吗?

【问题讨论】:

  • 你试过 libuvc for linux 吗?我在 Android 上使用过它,并且能够访问外部网络摄像头。
  • 感谢您的建议,但不幸的是,这行不通,因为我必须为这个项目使用 windows
  • 您是否先尝试使用 vlc 来检查您的设备是否在列表中?您可能还必须先启用摄像头。

标签: python api opencv computer-vision


【解决方案1】:

您提供的那个示例似乎没有使用 win32 api,而是使用 dotnet 框架,特别是 Windows.Media.Capture.Frames.MediaFrameSourceGroup 类。

您似乎可以使用 http://pythonnet.github.io/ 访问 dotnet 框架。之后,应该将 C# 代码移植到 Python。

【讨论】:

    【解决方案2】:

    您需要访问 WinRT API,而不是 Win32 API。

    使用这个库:https://github.com/Microsoft/xlang/tree/master/src/package/pywinrt/projection,您应该能够从您发布的代码中调用 WinRT 中的必要部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多