跳转到内容

Sensor Readout Time#

相机的 Sensor Readout Time 功能可让您确定从传感器读出图像数据所需的时间。

信息

此功能仅提供对传感器读数时间的非常粗略的估计。如果要针对触发图像采集重叠图像采集优化相机,请使用 Resulting Frame Rate 功能。

该功能的使用#

为什么要确定传感器读出时间#

每个图像采集过程包括两个部分:

  1. 成像传感器像素的曝光,即曝光时间
  2. 来自传感器的像素值的读出,即传感器读出时间。

如果您想估计图像采集过程的哪一部分限制了相机的帧速率,Sensor Readout Time 功能很有用。

为此,应将曝光时间与传感器读出时间进行比较:

  • 如果传感器的读出时间比曝光时间得多,请考虑调整影响传感器读出时间的相机功能,例如,BinningDecimation 或者 Image ROI
  • 如果传感器的读出时间比曝光时间得多,请考虑缩短曝光时间

确定传感器读出时间#

要确定当前设置下的传感器读出时间,请读取 SensorReadoutTime 参数的值。传感器读出时间以微秒为单位。

结果仅为近似值,取决于各种相机设置和功能,例如 BinningDecimation 或者 Image ROI

示例代码#

ace classic/U/L GigE 相机#

// Determine the sensor readout time under the current settings
double d = camera.ReadoutTimeAbs.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Determine the sensor readout time under the current settings
double d = CFloatPtr(nodemap.GetNode("ReadoutTimeAbs"))->GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Determine the sensor readout time under the current settings
double d = CFloatParameter(nodemap, "ReadoutTimeAbs").GetValue();
// Determine the sensor readout time under the current settings
double d = camera.Parameters[PLCamera.ReadoutTimeAbs].GetValue();
// Determine the sensor readout time under the current settings
double d = Pylon.DeviceGetFloatFeature(hdev, "ReadoutTimeAbs");
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
double d = 0;
/* Determine the sensor readout time under the current settings */
errRes = PylonDeviceGetFloatFeature(hdev, "ReadoutTimeAbs", &d);
CHECK(errRes);

其他相机#

// Determine the sensor readout time under the current settings
double d = camera.SensorReadoutTime.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Determine the sensor readout time under the current settings
double d = CFloatPtr(nodemap.GetNode("SensorReadoutTime"))->GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Determine the sensor readout time under the current settings
double d = CFloatParameter(nodemap, "SensorReadoutTime").GetValue();
// Determine the sensor readout time under the current settings
double d = camera.Parameters[PLCamera.SensorReadoutTime].GetValue();
// Determine the sensor readout time under the current settings
double d = Pylon.DeviceGetFloatFeature(hdev, "SensorReadoutTime");
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK;  /* Return value of pylon methods */
double d = 0;
/* Determine the sensor readout time under the current settings */
errRes = PylonDeviceGetFloatFeature(hdev, "SensorReadoutTime", &d);
CHECK(errRes);

您也可以使用 pylon Viewer 轻松设置参数。