C# 带Basler摄像机的自动增益控制

C# 带Basler摄像机的自动增益控制,c#,camera,C#,Camera,我用C#程序驱动Basler相机,我想执行自动增益控制,因为增益会根据亮度自动调整。我需要你的帮助,因为乍一看,我并没有意识到它有多么直观 一个图书馆配备了摄像头,多亏了她,我才控制了摄像头。用户有机会捕获照片、视频捕获和停止视频捕获。它还可以手动控制增益。我希望现在对自动增益进行编程,也就是说,增益根据拍摄图像的强度自动调整。用户只需激活此设置,增益设置将自动启动 Camera camera = new Camera(); private void checkBox1_Check

我用C#程序驱动Basler相机,我想执行自动增益控制,因为增益会根据亮度自动调整。我需要你的帮助,因为乍一看,我并没有意识到它有多么直观

一个图书馆配备了摄像头,多亏了她,我才控制了摄像头。用户有机会捕获照片、视频捕获和停止视频捕获。它还可以手动控制增益。我希望现在对自动增益进行编程,也就是说,增益根据拍摄图像的强度自动调整。用户只需激活此设置,增益设置将自动启动

Camera camera = new Camera();       
private void checkBox1_CheckedChanged_1(object sender, EventArgs e)
{   
    camera.Parameters[PLUsbCamera.GainSelector].SetValue(PLUsbCamera.GainSelector.DigitalAll);
    camera.Parameters[PLUsbCamera.AutoGainLowerLimit].SetValue(0.0); 
    camera.Parameters[PLUsbCamera.AutoGainUpperLimit].SetToMaximum(); 
    camera.Parameters[PLUsbCamera.AutoTargetBrightness].SetValue(0.50196); 
    camera.Parameters[PLUsbCamera.GainAuto].SetValue(PLUsbCamera.GainAuto.Continuous);
}
我运行程序时出现异常。此异常表示“仅当摄像头打开时,才能访问CameraDevice路径中的参数。”


我不知道如何更正此错误,因为我的相机已经打开,我可以进行拍摄。

您的代码中是否确实有行
camera-camera=new-camera()
?或者你没有包括打开相机的代码吗?是的,我有。我的代码中有这一行。好的-那么这台相机是否已初始化并“打开”?如果不是,那么这就可以解释您的错误。当我运行我的表单时,我可以捕获照片和视频,以便打开相机。但是捕获是使用该相机对象还是其他对象?您的代码中是否确实有行
camera camera=new camera()
?或者你没有包括打开相机的代码吗?是的,我有。我的代码中有这一行。好的-那么这台相机是否已初始化并“打开”?如果不是,那就可以解释你的错误。当我运行我的表单时,我可以捕获照片和视频,以便打开相机。但是捕获是使用该相机对象还是其他对象?