C# 如何使用IAMVideoProcAmp设置相机的亮度?

C# 如何使用IAMVideoProcAmp设置相机的亮度?,c#,webcam,directshow.net,C#,Webcam,Directshow.net,我正在尝试使用IAMDevideoProCamp(directshow.net C#)设置microsoft摄像头(lifecam studio)的亮度。 我引用了来自的解决方案。此解决方案使用IAMVideoProcAmp设置相机的亮度。在我通过呼叫连接到设备之后 DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice) 我设置了照相机的亮度。但当我调用IAMDevideoProCamp的Set()函数时,它似乎不起作用 int Set

我正在尝试使用IAMDevideoProCamp(directshow.net C#)设置microsoft摄像头(lifecam studio)的亮度。 我引用了来自的解决方案。此解决方案使用IAMVideoProcAmp设置相机的亮度。在我通过呼叫连接到设备之后

DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice)

我设置了照相机的亮度。但当我调用IAMDevideoProCamp的Set()函数时,它似乎不起作用

int Set(
          VideoProcAmpProperty Property, // VideoProcAmpProperty
          int lValue,          // Value to set
          VideoProcAmpFlags Flags  // VideoProcAmp_Flags_* 
       );
我试图为该函数设置各种有效值,但对摄影机没有影响。 我可以通过函数得到相机亮度属性的最大/最小/默认值:

int GetRange(
            VideoProcAmpProperty Property,         // Which property to query
            out int pMin,          // Range minimum
            out int pMax,          // Range maxumum
            out int pSteppingDelta,// Step size
            out int pDefault,      // Default value
            out VideoProcAmpFlags pCapsFlags     // VideoProcAmpFlags
            );
它给了我max=255,min=30,default=133,pcapslags=manual

我还使用了微软的lifecam软件来调整亮度,并立即对相机产生效果。但是亮度的最大/最小值是max=2.5,min=-2.5 请告诉我设置相机亮度的方法,以及为什么我得到的最大/最小值与属性页上的值不同


非常感谢。

最后我发现
IAMVideoProcAmp::Set
不起作用,因为Microsoft lifecam软件。此软件随摄像头驱动程序的安装一起安装。这个软件的TrueColor功能就是这个问题的症结所在,当我从这个软件打开TrueColor时,我就不能再使用
IAMVideoProcAmp::Set
来调整我的应用程序的亮度了。只要卸载Microsoft lifecam,它就可以按照我的愿望工作。希望这些信息能帮助其他人解决同样的问题。

我使用IAMDevieoProCamp::Set value to camera,然后调用IAMDevieoProCamp::get我收到了正确的设置值,但摄像头的亮度没有改变。您能检查这些示例代码是否正确吗,我在这里引用了示例代码,在我设置值之后,其他一些属性对相机有效,但VideoProcAmpProperty.Brightness无效。请帮帮我。