gpt4 book ai didi

c# - Aforge VideoCapabilities 列表 - 可能不完整?

转载 作者:行者123 更新时间:2023-11-30 23:29:14 25 4
gpt4 key购买 nike

我在 c# 应用程序中使用 Forge.NET 库来访问平板电脑 Lenovo Yoga 2(内置摄像头)上的摄像头设备。

我正在尝试设置流的特定(最大可能)分辨率。为此,我使用了 VideoCaptureDevice 对象的 VideoCapabilities 属性。我相信 VideoCapabilities 列表并不完整。我的问题是“为什么?”是否有可能检索更多它们 (VideoCapabilities)?

否则,如果没有办法获得更高的分辨率,如何检查并确保我的内置相机仅与从 VideoCapabilities 属性中获取的那些一起运行?

是什么让我相信我应该看到更多结果:

  • 我已经使用 DirectShowCaptureCapabilities-Win32.exe 检查了 DirectShow 功能应用。它给了我更多的能力。例如我正在尝试设置的 1280x960。

  • 在运行默认 Windows 应用程序(从平板电脑锁定屏幕)后,我看到了更大分辨率的预览 - 可能是 1280x960

  • 在 2.2.5 版库中运行示例 aForge.NET 应用程序 (Snapshot Maker) 的代码我获得了 5 种不同的功能,而在 2.2.0 版库中运行相同的代码则获得了 10 种不同的功能

代码是:

videoDevices = new FilterInfoCollection( FilterCategory.VideoInputDevice );
...
videoDevice = new VideoCaptureDevice( videoDevices[devicesCombo.SelectedIndex].MonikerString );
videoCapabilities = videoDevice.VideoCapabilities;// that gives me not full list of capabilities
...
videoDevice.VideoResolution = videoCapabilities[videoResolutionsCombo.SelectedIndex];

最佳答案

经过一点发现,这就是我所取得的成就

Aforge 开发人员告诉我:

the list may be incomplete. Especially on these modern tablets, which tend to provide high resolution, but with small bits per pixel value.

First, all 12 bpp resolutions are ignored, since cause issues in VideoCaptureDevice. Until fixed, those resolutions are simply ignored. Second, as you can see from the code, only the highest BPP is reported. So if you have two resolutions like 640x480x32 and 640x480x24, then only the x32 is shown.

这是 code .

此外,如果你们中的任何人遇到类似问题 - 请注意,相机不仅通过流行的 DirectShow 接口(interface)公开其功能,而且还通过其他接口(interface)公开其功能,或者可能有自己的 API。所以也试着看看这些。

我想要实现的解决方案是通过 MediaCapture Api 提供给我的.但那是专用于 Windows Store Aps/UWP 的。可以很容易地找到在 Windows 8/8.1 桌面应用程序下使用它的方法。

关于c# - Aforge VideoCapabilities 列表 - 可能不完整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com