Operator Library: Base
「DynamicROI」運算子會從輸入連結 I 中擷取一個矩形感興趣區域(ROI)。 輸出影像的高度與線寬由 ROI 影像參數 Ylength 和 Xlength 定義。 此 ROI 的大小由四個輸入連結 Xoffset、Yoffset、Xlength 及 Ylength 動態定義。 此運算子的目的是根據影像處理步驟的結果,調整 ROI 的尺寸與位置。 ROI 的所有參數在不同影像間可能有所不同。
從 I 到 O 的影像流由 Xoffset、Yoffset、Xlength 和 Ylength 這四個連結所控制。 這四條連結既可完全以非同步方式運作(由不同的 M 型運算子提供資料),也可完全以同步方式運作(由 同一個 M 型運算子 透過任意 O 型運算子網路提供資料)。 若要在輸出端 O 輸出 ROI,必須在所有五個輸入端皆提供影像。 那些已提供影像的輸入端將被阻塞,直至所有輸入端均提供影像為止。強烈建議在 各個輸入端, 特別是輸入連結 I 上,設置緩衝元件。 您可以將 DynamicROI 的運作行為想像成一個閥門,該閥門僅在所有輸入端均提供影像時才會開啟。
每當影像傳送到四個控制輸入端中的任一端時,每個控制鏈路的最後一個像素便會由 DynamicROI 擷取。 一旦 DynamicROI 接收完所有控制輸入端的影像,閥門便會開啟,允許影像從 I 傳輸至 O。 此時,會利用已擷取的 ROI 座標來提取 ROI。 當 ROI 影像傳輸至 O 之後,閥門再次關閉,並等待下一組影像的 ROI 座標集出現在 控制鏈路上。
此運算子的重要用途之一,是與 `CreateBlankImage ` 及 `CoefficientBuffer` 配合使用,或與 物件偵測實作的結果結合使用。 用於透過參數控制 ROI 座標的運算子是 SelectROI。
Operator Restrictions
- 若 Xlength 並非連結 I 與 O 並行度的整數倍,運算子將擴展 ROI 寬度 以符合並行度。 每行末端會新增虛擬像素。 該虛擬像素的值未定義。 在 VA 模擬中,為提高可視性,虛擬像素將被設為零。
- 若 ROI 的座標不合法,亦即 X 長度和/或 Y 長度為零,或偏移量超出影像邊界, 則該運算子會裁切並輸出一個空影像,或直接移除該影像。此行為可透過參數 SuppressEmptyRoI 來控制。
- 如果偏移座標有效,但 X 長度和/或 Y 長度座標超出影像邊界, 則該運算子會將 ROI 縮減至影像邊界內。
- 當 ROI 輸入提供了一個空的座標集(即高度與寬度皆為 0 的 ROI 幀)時, DynamicROI 運算子會將此類空 ROI 視為座標無效的 ROI。 該運算子將裁切並輸出一張空影像,或直接移除該影像。此行為可透過參數 SuppressEmptyRoI 進行控制。
- 不支援在埠 I 上顯示空白影像。
- 連接埠 I 上每個輸入影像的行必須具有相同的長度。因此,不允許行長度可變的影像。
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | I,影像輸入 Xoffset,X 偏移量輸入 Yoffset,Y 偏移量輸入 Xlength,X 長度輸入 Ylength,Y 長度輸入 |
| Output Link | O,資料輸出 |
Synchronous and Asynchronous Inputs
- 所有輸入皆為非同步的,也就是說,它們可能來自不同的 M 型運算子。
| SuppressEmptyRoI | |
|---|---|
| Type | 靜態參數 |
| Default | ON |
| Range | {開啟、關閉} |
|
此參數用於控制當 ROI 座標不合法時,是否從運算子的輸出中移除空影像。 更多資訊請參閱「運算子限制」。 |
|
以下範例展示了 DynamicROI 運算子的使用方式:
-
範例 - 將斑點分析運算子套用到輸入相機影像。 此小程式展示了小程式中斑點資料的使用方式。 在此情況下,會定位出具有最大面積的物件,並使用其座標從 原始影像中切割出該物件。






上一頁

