引用dll:DirectShowLib-2005.dll
capture代码是网上搜的,若要修改相机参数,需要略做如下修改:
1.capture的构造函数以及要调用的相关函数增加需要修改的参数。
2.增加函数
//修改曝光值;
private void SetExposure(IBaseFilter capFilter, int iExposure)
{
IAMCameraControl cameraControl = capFilter as IAMCameraControl;
DirectShowLib.CameraControlFlags eFlags = CameraControlFlags.Manual;
cameraControl.Set(CameraControlProperty.Exposure, iExposure, eFlags);
}
//修改增益值;
private void SetGain(IBaseFilter capFilter, int iGain)
{
IAMVideoProcAmp videoProcAmp = capFilter as IAMVideoProcAmp;
DirectShowLib.VideoProcAmpFlags gFlags = VideoProcAmpFlags.Manual;
videoProcAmp.Set(VideoProcAmpProperty.Gain, iGain, gFlags);
}
3.在Capture的SetupGraph函数中加入下面代码
SetGain(capFilter, iGain);
SetExposure(capFilter, iExposure);
这样就可以实现曝光等参数的设置了。