コンテンツにスキップ
ステージングサーバー
開発サーバー

結果として得られるAcquisition Frame Rate#

Resulting Frame Rate camera featureを使用すると、現在のカメラ設定での推定フレームレートを確認できます。

これは、トリガー間の待機時間を確認する場合などに便利です。

フレームレートは、フレーム/秒(fps)で表されます。

機能を使用する#

Resulting Frame Rateを確認する理由#

フレームレートの最適化#

カメラがfree run image acquisitionおよび連続取り込みに設定されている場合、イメージングアプリケーションのフレームレートを最適化したいときに、Resulting 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 パラメータも使用できます。これにより、結果のフレーム期間(フレームレートの逆数、つまり1 / フレームレート)を決定できます。
  • Resulting Frame Rateの確認は、カメラがアイドルの状態でも、画像を取り込んでいる最中でも機能します。
  • 現在コンピュータに接続されていないBaslerカメラのResulting Frame Rateを確認したい場合は、オンラインのBasler Frame Rate Calculatorを使用してください。

フレームレートを制限する要因#

Baslerカメラのフレームレートを制限する要因はいくつかあります。

  • Acquisition Frame Rate:Acquisition Frame Rate機能が有効になっている場合、カメラのフレームレートは撮影フレームレートによって制限されます。例えば、Acquisition Frame Rate機能を有効にして、撮影フレームレートを10fpsに設定した場合、カメラのフレームレートは10fpsを超えることはありません。
  • Bandwidth Assigned:特に複数のカメラがコンピューターに接続されている場合、帯域幅の制限によりフレームレートが低下することがあります。低下の程度は、カメラのモデル、コンピューターに接続されているカメラの数、コンピューターのハードウェアによって異なります。
  • Binning:使用可能な場合、センサービニングによりフレームレートが上がることがあります。
  • Camera Operation Mode: If the CameraOperationMode パラメータが利用可能で、次のように設定されている場合: LongExposure、フレームレートが低下します。
  • Device Link Throughput: If the DeviceLinkThroughputLimitMode パラメータが利用可能で、次のように設定されている場合: On、データ伝送に使用できる帯域幅が次のパラメータ値に制限されます。 DeviceLinkThroughputLimit パラメータ値。これによりフレームレートも制限されます。
  • Exposure Time:非常に長い露光時間を使用する場合、取得できる1秒あたりフレーム数は少なくなります。
  • Field Output Mode:使用可能な場合は、Field 0 Output Modeまたは Field 1 Output Modeを使用すると、カメラのフレームレートが上がります。
  • Image ROI:大きな画像ROIを使用する場合は、1秒あたりのフレーム取得数を減らすことができます。ほとんどのカメラでは、画像ROIの高さを下げるとフレームレートが上がります。一部のカメラでは、画像ROIの幅を小さくするとフレームレートも上がります。
  • Parameter Limits:一部のカメラでは、Remove Parameter Limits機能を使用してフレームレートの制限を解除できます。
  • Sensor Bit Depth:一部のカメラでは、センサービット深度を小さくしてフレームレートを上げることができます。
  • Sensor Readout Mode:一部のカメラでは、高速センサー読み出しモードを有効にして、フレームレートを上げることができます。ただし、これは画質に悪影響を及ぼす可能性があります。
  • Sensor Shutter Mode:Global Reset Releaseシャッターモードが選択されている場合、オーバーラップ画像取得はできません。これにより、カメラのフレームレートが低下します。
  • Stacked Zone Imaging:使用できる場合、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、およびpulseカメラ#
// 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を使用して、パラメーターを簡単に設定することもできます。