Operator Library: Base
DynamicROI 運算子會從輸入鏈結 I 中擷取矩形感興趣區域 (ROI)。 輸出影像的高度和行寬是由 ROI 影像參數 Ylength 與 Xlength 所定義。 此 ROI 的大小是由四個輸入鏈結 Xoffset、Yoffset、Xlength 和 Ylength 動態定義。 此運算子的目的是使 ROI 的尺寸與位置能配合影像處理步驟的結果。 ROI 的所有參數可能會隨每張影像而有所不同。
從 I 到 O 的影像串流是由四個鏈結 Xoffset、Yoffset、Xlength 和 Ylength 所控制。 這四個鏈結可以完全非同步運作(由不同的 M 類型運算子提供來源),也可以完全同步運作(透過 O 類型運算子的任意網路, 由相同的 M 類型運算子 提供來源)。 若要在輸出 O 輸出 ROI,必須在所有五個輸入端提供影像。 已提供影像的輸入端將會遭到封鎖,直到所有輸入端都提供影像為止。強烈建議在個別輸入端, 尤其是輸入鏈結 I 端, 使用緩衝元素。 您可以將 DynamicROI 的行為想像成一個閥門,只有在所有輸入端都提供影像時才會開啟。
每當影像到達四個控制輸入端的每一個時,DynamicROI 就會擷取每個控制鏈結的最末一個像素。 一旦 DynamicROI 在控制輸入端接收到所有影像,閥門就會開啟,並允許影像從 I 傳送到 O。 此時會使用擷取的 ROI 座標來擷取 ROI。 在 ROI 影像傳輸至 O 之後,閥門會再次關閉,並等待下一組出現在控制鏈結上的影像 ROI 座標。
此運算子的一個重要用途是與 CreateBlankImage 和 CoefficientBuffer 結合使用,或與 Object Detection 實作的結果結合使用。 使用參數控制 ROI 座標的運算子為 SelectROI。
算子限制
- 如果 Xlength 不是鏈結 I 與 O 之 Parallelism 的整數倍,運算子將會擴充 ROI 寬度 以符合 Parallelism。 會在每行的結尾新增虛擬像素。 該虛擬像素的值未定義。 在 VA 模擬中,虛擬像素將會設為零以便於檢視。
- 如果 ROI 座標無效(即 Xlength 和/或 Ylength 為零,或位移超過影像邊界), 運算子將會切割並輸出空白影像,或移除該影像。此行為可以使用參數 SuppressEmptyRoI 來控制。
- 如果位移座標有效,但 Xlength 和/或 Ylength 座標超過影像邊界, 運算子會將 ROI 縮減至影像邊界。
- 當在 ROI 輸入端提供空白座標集(即高度和寬度等於 0 的 ROI 方框)時, 運算子 DynamicROI 會將此類空白 ROI 視為具有無效座標的 ROI。 運算子將會切割並輸出空白影像,或移除該影像。此行為可以使用參數 SuppressEmptyRoI 來控制。
- 不支援連接埠 I 上的空白影像。
- 連接埠 I 處每個輸入影像的行必須具有相同的長度。因此不允許行長度不一致的影像。
| Property | Value |
|---|---|
| Operator Type | M |
| 輸入連結 | I,影像輸入 Xoffset,x 位移輸入 Yoffset,y 位移輸入 Xlength,x 長度輸入 Ylength,y 長度輸入 |
| Output Link | O, data output |
同步與非同步輸入
- 所有輸入均為非同步,即它們可能由不同的 M 類型運算子提供來源。
| SuppressEmptyRoI | |
|---|---|
| Type | static parameter |
| Default | ON |
| Range | {ON, OFF} |
|
此參數可控制當 ROI 座標無效時,是否移除運算子輸出端上的空白影像。 請參閱Operator Restrictions以取得詳細資訊。 |
|
以下範例顯示了運算子 DynamicROI 的使用方式:
-
範例 - 將 blob 分析運算子套用至輸入相機影像。 此 applet 顯示了 applet 中 blob 資料的使用方式。 在此情況下,會定位出具有最大面積的物件,並使用其座標從原始影像中裁切出該物件。






上一頁

