影像擷取#
持續收購#
此範例說明如何使用 LatestImageOnly 抓取策略.
with pylon.InstantCamera(pylon.FirstFound) as camera:
camera.StartGrabbing(pylon.GrabStrategy_LatestImageOnly)
while camera.IsGrabbing():
with camera.RetrieveResult(5000) as grab_result:
if grab_result.GrabSucceeded():
image = grab_result.Array
擷取策略#
抓取策略用以定義當攝影機產生的幀速率高於應用程式處理速度時,系統應如何在內部緩衝區佇列中處理影像。
簡單來說,它們解答了這樣一個問題:當應用程式仍在處理舊影像時,若有新影像送達,該如何處理?
有兩種常見的抓取策略:
- 僅顯示最新圖片:
- 僅保留最新的圖片。
- 較舊的畫框可予以丟棄。
- OneByOne:
- 所有幀都會被排入佇列,並依序處理。
- 不會丟失任何幀(除非發生緩衝區溢出)。
以下幾點或可協助您決定何時該採用哪種策略:
- 使用 LatestImageOnly 適用於:
- 即時顯示
- 圖形使用者介面 (GUI)
- 低延遲系統
- 使用 OneByOne 適用於:
- 檢測系統
- 錄製
- 確定性處理
關於權衡取捨與內部運作的詳細說明,請參閱「效能優化」主題。