我正在尝试使用 IAMVideoProcAmp (directshow.net C#) 为微软相机 (lifecam studio) 设置亮度。我从这里参考解决方案。此解决方案使用 IAMVideoProcAmp 设置相机的亮度。在我通过调用连接到设备后
DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
我设置相机的亮度。但是当我调用 IAMVideoProcAmp 的 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,pCapsFlags = manual。
我还使用了微软的lifecam软件来调整亮度,它立即对相机产生影响。但是亮度的最大值/最小值是最大值 = 2.5,最小值 = -2.5 请告诉我设置相机亮度的方法以及为什么我得到的最大值/最小值与属性页上的值不同?
十分感谢。