跳转到内容

结果 Acquisition Frame Rate#

The Resulting Acquisition Frame Rate camera feature allows you to determine the estimated frame rate with the current camera settings.

例如,如果您想知道两次触发之间必须等待多长时间,这将很有用。

帧速率以每秒帧数 (fps) 表示。

该功能的使用#

Why Check the Resulting Acquisition Frame Rate#

优化帧速率#

When the camera is configured for free run image acquisition and continuous acquisition, knowing the resulting acquisition frame rate is useful if you want to optimize the frame rate for your imaging application. You can adjust the camera settings limiting the frame rate until the resulting acquisition frame rate reaches the desired value.

优化触发图像采集#

When the camera is configured for triggered image acquisition, knowing the resulting acquisition frame rate is useful if you want to trigger the camera as often as possible without overtriggering. You can calculate how long you must wait after each trigger signal by taking the reciprocal of the resulting acquisition frame rate: 1 / Resulting Acquisition Frame Rate.

Example: If the resulting acquisition frame rate is 12.5, you must wait for a minimum of 1/12.5 = 0.08 seconds after each trigger signal. Otherwise, the camera ignores the trigger signal and generates a Frame Start Overtrigger event.

Checking the Resulting Acquisition Frame Rate#

To check the resulting acquisition frame rate, i.e., the estimated frame rate with the current camera settings, get the value of the BslResultingAcquisitionFrameRate parameter. The value is expressed in frames per second (fps).

此参数值考虑了所有限制帧速率的因素

信息

  • On some camera models, the ResultingFramePeriod parameter is also available. It allows you to determine the resulting frame period, which is the reciprocal of the resulting frame rate (1 / frame rate).
  • Checking the resulting acquisition frame rate works when the camera is idle as well as when the camera is acquiring images.
  • If you want to check the resulting acquisition frame rate of Basler cameras that aren't connected to your computer at the moment, use the online Basler Frame Rate Calculator.

限制帧速率的因素#

有几个因素可能会限制任何 Basler 相机的帧速率:

  • Acquisition Frame Rate如果启用了 Acquisition Frame Rate 功能,相机的帧速率受帧采集速率的限制。例如,如果启用了 Acquisition Frame Rate 功能并将帧采集速率设为 10 fps,相机的帧速率将永远不会高于 10 fps。
  • 分配带宽:带宽限制会降低帧速率,尤其是当一台以上的相机连接到计算机时。减少的程度取决于相机型号、连接到计算机的相机数量以及计算机的硬件。
  • Binning:如果可用,传感器像素合并可以提高帧速率。
  • Camera Operation Mode: If the CameraOperationMode parameter is available and set to LongExposure, the frame rate decreases.
  • Device Link Throughput: If the DeviceLinkThroughputLimitMode parameter is available and set to On, it limits the available bandwidth for data transmission to the DeviceLinkThroughputLimit parameter value. This also limits the frame rate.
  • 曝光时间如果使用很长的曝光时间,则每秒可以采集到的帧数更少。
  • 场输出模式:如果可用,则使用场 0 输出模式或场 1 输出模式可提高相机的帧速率。
  • Image ROI如果使用较大的 Image ROI,则每秒可以获取的帧数更少。在大多数相机上,降低 Image ROI 高度可以提高帧速率。在部分相机上,减小 Image ROI 宽度也能提高帧速率。
  • 参数限值:在部分相机上,您可以使用 Remove Parameter Limits 功能删除帧速率限值的功能。
  • Sensor Bit Depth在部分相机上,可以通过减小传感器位深来提高帧速率。
  • 传感器读出模式在部分相机上,您可以启用快速传感器读出模式,该模式可以提高帧速率。但是可能会对图像质量产生不利影响。
  • 传感器Shutter Mode如果选择了全局重置释放快门模式,则无法获取重叠的图像。这会降低相机的帧速率。
  • 层叠分区成像如果可用,请使用 Stacked Zone Imaging 功能提高帧速率。
  • Transfer Bit Depth在部分相机上,可以通过减小传输位深来提高帧速率。

示例代码#

ace Classic/U/L GigE 相机#
// Get the resulting acquisition frame rate
double d = camera.ResultingFrameRateAbs.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Get the resulting acquisition frame rate
double d = CFloatParameter(nodemap, "ResultingFrameRateAbs").GetValue();
// Get the resulting acquisition frame rate
double d = camera.Parameters[PLCamera.ResultingFrameRateAbs].GetValue();
/* 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;
/* Get the resulting acquisition frame rate */
errRes = PylonDeviceGetFloatFeature(hdev, "ResultingFrameRateAbs", &d);
CHECK(errRes);
# Get the resulting acquisition frame rate
d = camera.ResultingFrameRateAbs.Value
ace Classic/U/L USB 3.0, dart Classic, and pulse Cameras#
// Get the resulting acquisition frame rate
double d = camera.ResultingFrameRate.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Get the resulting acquisition frame rate
double d = CFloatParameter(nodemap, "ResultingFrameRate").GetValue();
// Get the resulting acquisition frame rate
double d = camera.Parameters[PLCamera.ResultingFrameRate].GetValue();
/* 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;
/* Get the resulting acquisition frame rate */
errRes = PylonDeviceGetFloatFeature(hdev, "ResultingFrameRate", &d);
CHECK(errRes);
# Get the resulting acquisition frame rate
d = camera.ResultingFrameRate.Value
其他相机#
// Get the resulting acquisition frame rate
double d = camera.BslResultingAcquisitionFrameRate.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Get the resulting acquisition frame rate
double d = CFloatParameter(nodemap, "BslResultingAcquisitionFrameRate").GetValue();
// Get the resulting acquisition frame rate
double d = camera.Parameters[PLCamera.BslResultingAcquisitionFrameRate].GetValue();
/* 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;
/* Get the resulting acquisition frame rate */
errRes = PylonDeviceGetFloatFeature(hdev, "BslResultingAcquisitionFrameRate", &d);
CHECK(errRes);
# Get the resulting acquisition frame rate
d = camera.BslResultingAcquisitionFrameRate.Value

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