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

C++ 网络摄像头:以编程方式调整网络摄像头参数,c++,webcam,platform-independent,C++,Webcam,Platform Independent,在我们的项目中,我们希望以编程方式访问网络摄像头图像。 我们面临的主要问题是,网络摄像头会根据拍摄图像的亮度自动调整灵敏度 是否有任何(独立于平台的)方法来更改网络摄像头的此类参数(最好是任何型号) 我们目前使用的是Ubuntu 10.04、Microsoft Windows XP和7。编程语言为C/C++ 任何想法都值得赞赏 谢谢和问候 Tobias很可能不会有任何独立于平台的方式来满足您的需求。如果有的话,可能是因为使用了一些高级语言,这可能不适合 我不知道linux平台,但我是一名C++/

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

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

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

任何想法都值得赞赏

谢谢和问候
Tobias

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

我不知道linux平台,但我是一名C++/windows/COM/DirectShow开发人员,负责基于internet的视频应用程序

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

有关windows上视频捕获的一般概述,请参阅MSDN的一节

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

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

一旦你得到了设备,你的查询说你想要配置设备。检查一下这个

DirectShow是微软最全面(也是最难学的)API之一。是非常活跃和初学者友好的,我强烈建议你去看看

最后,在DirectShow中创建捕获图并不是最容易的,我将从一个简单的播放图开始—例如,从磁盘播放媒体文件,然后从那里开始捕获图

是开源的跨平台的,它使用DirectShow在windows平台上播放


祝你好运

接受。你好,弗里法尔。谢谢你的回复。我想我们应该找到一个方法来做这件事。但是VLC的提示可以解决我们的问题。非常感谢。