关于参数设置方面之前一直不是很懂,想做做笔记,以免时间久了就忘记了,好记性不如烂笔头嘛~~
camera.Open() //在获取相机参数之前,相机必须打开。
参数是使用参数列表来访问。参数列表是一种类似编程语言里的枚举,它包含了一组参数的名称。
PLCamera就是参数列表。它可以列出所有设想设备的参数的名称。
另外,附加设备的具体参数列表也是可用的,例如PLUsbCamera参数列表是针对摄像头设备。
有多种类型的参数比如说string parameters 、integer parameters 、enum parameter .....
string parameters 例如:DeviceVendorName, DeviceModelName,DeviceFirmwareVersion
integer parameters 例如:AOI. OffsetX, OffsetY, Width, and Height
enum parameter 例如设置 PixelFormat
eg:string oldPixelFormat ==camera.Parameters[PLCamera.PixelFormat].GetValue();
boolean parameter 例如GameraEnable的设置
camera.Parameters[PLCamera.GammaEnable].TrySetValue(true);
有些型号的相机可以有自动的功能,想要设置为特定的值时必须先把自动的功能禁用掉才可以,例如
camera.Parameters[PLCamera.GainAuto].TrySetValue(PLCamera.GainAuto.Off);
参数的获取状态
每个参数要么是可读的,要么是可写的,或是即可写有可读。
Console.WriteLine("OffsetX readable : {0}", camera.Parameters[PLCamera.OffsetX].IsReadable);
Console.WriteLine("TriggerSoftware writable: {0}", camera.Parameters[PLCamera.TriggerSoftware].IsWritable);
空参数
相机型号有不同的参数设置,比如说GammaEnable 就不是USB相机设备的参数。如果请求的参数不存在,就会返回空参数对象,空参数既不可读也不可写。
预定义相机参数设置
配置类提供了一组预定义的相机参数配置,这个类可以被添加到CameraOpened事件中。如果相机被打开,配置方法将自动调用,相机配置也相应的改变。也可以创建自己的配置方法,并将它们添加到CameraOpened事件中。这样的方式使相机打开的时候参数总是正确的。例如在设置采集方式时的配置:
camera.CameraOpened += Configuration.AcquireContinuous;
camera.Open();
目前就职看了SDK这么多,以后在补充~~