结果 Acquisition Frame Rate#
例如,如果您想知道两次触发之间必须等待多长时间,这将很有用。
帧速率以每秒帧数 (fps) 表示。
该功能的使用#
为什么要检查 Resulting Frame Rate#
优化帧速率#
当相机配置为 free run image acquisition 和连续采集时,了解 Resulting Frame Rate 对于希望为成像应用优化帧率的用户非常有用。您可以调整 limiting the frame rate 的相机设置,直至 Resulting Frame Rate 达到期望值。
优化触发图像采集#
当相机配置为 triggered image acquisition 时,了解 Resulting Frame Rate 有助于您在不发生过触发的情况下尽可能频繁地触发相机。您可以通过对 Resulting Frame Rate 取倒数来计算每次触发信号后必须等待的时间:1 / Resulting Frame Rate。
示例:如果 Resulting Frame Rate 为 12.5,则每次触发信号后您必须至少等待 1/12.5 = 0.08 秒。否则,相机将忽略该触发信号并生成 Frame Start Overtrigger 事件。
检查 Resulting Frame Rate#
要检查 Resulting Frame Rate(即在当前相机设置下的估算帧率),请获取以下参数的值: BslResultingAcquisitionFrameRate 参数。该值以每秒帧数 (fps) 表示。
此参数值考虑了所有限制帧速率的因素。
信息
- 在某些相机型号上,提供了
ResultingFramePeriod参数也可用。它允许您确定 resulting frame period,即帧率的倒数(1 / 帧率)。 - 无论相机处于空闲状态还是正在采集图像,检查 Resulting Frame Rate 均有效。
- 如果您想检查当前未连接到计算机的 Basler 相机的 Resulting Frame Rate,请使用在线 Basler Frame Rate Calculator。
限制帧速率的因素#
有几个因素可能会限制任何 Basler 相机的帧速率:
- Acquisition Frame Rate:如果启用了 Acquisition Frame Rate 功能,相机的帧速率受帧采集速率的限制。例如,如果启用了 Acquisition Frame Rate 功能并将帧采集速率设为 10 fps,相机的帧速率将永远不会高于 10 fps。
- 分配带宽:带宽限制会降低帧速率,尤其是当一台以上的相机连接到计算机时。减少的程度取决于相机型号、连接到计算机的相机数量以及计算机的硬件。
- Binning:如果可用,传感器像素合并可以提高帧速率。
- Camera Operation Mode: 如果
CameraOperationMode参数可用并设置为LongExposure,帧率会降低。 - Device Link Throughput: 如果
DeviceLinkThroughputLimitMode参数可用并设置为On,它会将数据传输的可用带宽限制为DeviceLinkThroughputLimit参数值。这也会限制帧率。 - 曝光时间:如果使用很长的曝光时间,则每秒可以采集到的帧数更少。
- 场输出模式:如果可用,则使用场 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 相机#
/* 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);
ace Classic/U/L USB 3.0、dart Classic 和 pulse 相机#
/* 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);
其他相机#
/* 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);
您也可以使用 pylon Viewer 轻松设置参数。