核心概念#
收購生命週期#
心智模型#
- 攝影機以非同步方式運作。
- Python 會以同步方式擷取資料。
- 緩衝區將這兩個領域解耦。
阻擋行為#
GenICam 節點#
什麼是GenICam 節點?#
一個`GenICam ` 節點代表攝影機的單一可配置功能或屬性。這些節點在 `GenICam ` 標準中有所定義,該標準提供了一種統一的方式,可獨立於硬體供應商來存取攝影機的功能。
每個節點的行為類似於強類型參數,並公開各種資訊:
- 姓名(例如:
ExposureTime) - 資料類型(例如:浮點數、整數、枚舉等)
- 存取權限(唯讀或讀寫)
- 有效的數值範圍或選項
在 pypylon 中,節點是作為相機物件的屬性來存取的,並提供如下所示的方法:
exposure_time = camera.ExposureTime # Read exposure time in microseconds.
camera.ExposureTime.Value = 3000 # Value is in microseconds. Check Increment and ValueRange for valid values.
常見的節點類型#
| 參數 | 範例 | 描述 |
|---|---|---|
| 浮動 | ExposureTime | 映射至離散硬體設定的連續數值 |
| 整數 | Width | 離散值 |
| 枚舉 | TriggerMode | 預定義字串值 |
| 布林值 | AcquisitionFrameRateEnable | 對/錯 |
| 命令 | ExecuteSoftwareTrigger | 執行一項動作 |
了解節點至關重要,因為pypylon 中的所有相機設定都是透過節點來執行的。
電塔參數#
pylon 參數會封裝GenICam 節點,並提供一套擴展且一致的介面,用於讀取和寫入值。它們同時負責處理類型轉換、範圍檢查以及存取模式的處理。
若找不到該節點,則 pylon.PlaceholderParameter 會傳回此值,讓您的程式碼能妥善處理節點缺失的情況。這種情況常見於系統設定中,因為不同的相機型號或韌體版本可能具備不同的可用功能。