跳至內容
測試伺服器
開發伺服器

Resulting Acquisition Line Rate#

「Acquisition Line Rate 」相機功能可讓您根據當前的相機設定,估算預期的每秒幀數。

例如,若您想知道兩個觸發事件之間需要等待多久,這就很有用。

線速以赫茲(Hz)為單位表示。

使用功能#

為何要檢查結果Acquisition Line Rate#

優化線速#

當相機設定為自由運行影像擷取及連續擷取模式時,若您希望針對影像應用優化擷取線速,了解最終的擷取線速將有所助益。您可以調整相機設定以限制線速,直到最終的擷取線速達到所需數值為止。

優化觸發式影像擷取#

當相機設定為觸發式影像擷取時,若您希望在不造成過度觸發的情況下盡可能頻繁地觸發相機,了解由此產生的擷取行速將有所助益。您可以透過將產生的擷取行速取倒數,來計算每次觸發訊號後必須等待的時間:1 / 產生的Acquisition Line Rate 。

範例:若最終的採樣線速率為 100000 Hz,則每次觸發訊號後,必須等待至少 1/100000 = 10 µs。

檢查結果Acquisition Line Rate#

要檢查最終的幀率(即根據當前相機設定估算的幀率),請取得 BslResultingAquisitionLineRate 參數。其單位為赫茲(Hz)。

該參數值已將所有影響線速的因素納入考量。

資訊

  • 在某些相機型號上,提供有 ResultingFramePeriod 此外還提供一個參數。它可讓您設定最終的幀週期,即最終幀率的倒數(1 / 幀率)。
  • 在相機閒置時以及進行影像擷取時,皆可檢查最終的擷取幀率是否正常。
  • 若您想查詢目前未連接至電腦的 Basler 攝影機所產生的實際幀率,請使用Basler 線上幀率計算器。

限制線速的因素#

以下幾個因素可能會限制 Basler 攝影機的線速:

  • Acquisition Line Rate:若啟用「Acquisition Line Rate 」功能,相機的行速將受取樣行速所限制。例如,若您啟用「Acquisition Line Rate 」功能,並將取樣行速設定為 100000 Hz,則相機的行速絕不會高於 100000 Hz。
  • 已分配頻寬:頻寬限制可能會降低線速,特別是在有多台攝影機連接至同一台電腦時。降低的程度取決於攝影機型號、連接至該電腦的攝影機數量,以及電腦的硬體規格。
  • Binning:若支援,感測器像素合併可提高線速。
  • Camera Operation Mode: 若 buffer operator 的 CameraOperationMode 該參數已啟用,並設定為 LongExposure, 線速會降低。
  • 裝置連結吞吐量: 若 buffer operator 的 DeviceLinkThroughputLimitMode 該參數已啟用,並設定為 On, 它將可用於資料傳輸的頻寬限制在 DeviceLinkThroughputLimit 參數值。這也會限制線速。
  • Exposure Time:若使用非常長的曝光時間,每秒所能擷取的線數就會減少。
  • 場輸出模式:若可用,使用「場 0 輸出模式」或「場 1 輸出模式」可提高攝影機的行速。
  • Image ROI:若使用較大的影像 ROI,每秒可擷取的行數會減少。在大多數相機上,減少影像 ROI 的高度可提高行速。在某些相機上,減少影像 ROI 的寬度同樣可提高行速。
  • 參數限制:在某些相機上,您可以使用 Remove Parameter Limits 功能來解除幀率限制。
  • Sensor Bit Depth:在某些相機上,您可以降低感光元件的位元深度,以提高每秒幀數。
  • Sensor Readout Mode:在某些相機上,您可以啟用快速感光元件讀取模式,藉此提高掃描線速率。然而,此舉可能會對影像品質造成負面影響。
  • Sensor Shutter Mode:若選取「全域重置釋放」快門模式,則無法進行重疊影像擷取。這會降低相機的行速。
  • Stacked Zone Imaging:若有此功能,使用「Stacked Zone Imaging 」功能可提升線路傳輸速率。
  • Transfer Bit Depth:在某些相機上,您可以降低傳輸位元深度以提高線速率。

範例程式碼#

// Get the resulting acquisition line rate
double d = camera.BslResultingAcquisitionLineRate.GetValue();
INodeMap& nodemap = camera.GetNodeMap();
// Get the resulting acquisition line rate
double d = CFloatParameter(nodemap, "BslResultingAcquisitionLineRate").GetValue();
// Get the resulting acquisition line rate
double d = camera.Parameters[PLCamera.BslResultingAcquisitionLineRate].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 line rate */
errRes = PylonDeviceGetFloatFeature(hdev, "BslResultingAcquisitionLineRate", &d);
CHECK(errRes);
# Get the resulting acquisition line rate
d = camera.BslResultingAcquisitionLineRate.Value

您也可以 use the pylon Viewer 來輕鬆設定參數。