gpt4 book ai didi

c++ - 网络摄像头:以编程方式调整网络摄像头参数

转载 作者:行者123 更新时间:2023-11-30 03:09:39 26 4
gpt4 key购买 nike

在我们的项目中,我们希望以编程方式访问网络摄像头图像。我们遇到的主要问题是网络摄像头会根据捕获图像的亮度自动调整灵敏度。

是否有任何(独立于平台的)方法来更改网络摄像头(最好是任何型号)的此类参数?

我们目前使用的是 Ubuntu 10.04、Microsoft Windows XP & 7。编程语言是 C/C++。

任何想法都会受到赞赏。

感谢和问候托拜厄斯

最佳答案

很可能不会有任何独立于平台的方式来满足您的需求。如果存在,则可能是使用了一些可能不适合的高级语言。

我不知道 linux 平台,但我是一名 C++/windows/COM/DirectShow 开发人员,从事基于互联网的视频应用程序。

在 Windows 平台上,捕获设备通过 COM 和 DirectShow 进行通信。

有关 Windows 上视频捕获的一般概述,请参阅 Video Capture MSDN 部分。

看看Selecting a Capture Device有关如何枚举系统上的捕获设备的信息。您需要枚举 CLSID_VideoInputDeviceCategory 中的设备,以便(以编程方式)将网络摄像头发现为视频输入设备 - 此类别中可能有很多设备。

视频捕获设备有一个“FriendlyName”来帮助识别您的网络摄像头,您可以存储和检索设备供以后使用。

获得设备后,您的查询表明您想要配置设备。查看Configuring a Video Capture Device为此。

DirectShow 是 Microsoft 最全面(也是最难学)的 API 之一。 The MSDN developer forum on DirectShow非常活跃并且对初学者友好,我强烈建议您检查一下。

最后,捕获图形并不是在 DirectShow 中构建的最简单的东西,我将从一个简单的回放图形开始——例如从磁盘播放媒体文件并从那里开始捕获图形。

VLC project开源跨平台,windows平台使用DirectShow播放。

祝你好运!

关于c++ - 网络摄像头:以编程方式调整网络摄像头参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3914594/

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