運算子函式庫:同步
運算子 InsertLine 將 N 條輸入鏈路 I[0] .. I[n-1] 的行多工傳輸至輸出鏈路 O。 因此,該運算子會將所有輸入的影像行依序輸出至 O。
該運算子將輸入影像的各行依序轉發至輸出端。 每當出現新幀時,該運算子便從輸入 I[0] 開始處理。 首先,處理輸入 I[0] 的第一行並將其轉發至輸出端;接著,處理輸入 I[1] 的第一行。 在處理完 I[n-1] 的第一行後,操作員會繼續處理 I[0] 的第二行,以此類推。 操作員會等待,直到當前選定的輸入中出現所需的行為止。 因此無法跳過任何輸入。 此處並無「先到先處理」的策略。
如前所述,此運算子僅會在特定時間轉發特定的輸入。 當其中一個輸入正在處理時,所有其他輸入都會被阻塞。 若被阻塞的輸入端存在影像行,請確保該影像行可被緩衝,直至其完成處理為止。 此外,使用者必須確保多個輸入不會來自同一個影像來源,否則將導致死鎖。 請參閱「基礎與範例」中的「多工處理兩台攝影機的影像」,以獲取有關正確插入的更多資訊。此範例與 InserLine 運算子的情況類似。
對於每個輸入 I[k],該運算子會提供一個控制輸入Ins[k]。 這些輸入用於控制影像行中的資料是否應被採用並傳送至輸出端,抑或應 被捨棄。 Ins[k]輸入接受二進位資料。 若對相應影像行的第一個像素提供「1」,該行將被轉發至輸出端。 反之,若對相應影像行的第一個像素提供「0」,該行將被處理但予以捨棄。
The I[k] and Ins[k] pairs are synchronous i.e. they have to be sources by the same M-type source though an arbitrary network of O-type operators. See 'M-type Operators with Multiple Inputs' for more information. Therefore, no SYNC operator is required for these pairs (different in VA versions < VA2).
該運算子的輸出影像大小是輸入影像大小的 n 倍。 然而,輸出並行度並未增加。 因此,儘管可能需要傳輸更多資料,但輸出頻寬仍等於輸入頻寬。 在運算子處理資料之前,可能需要先提高輸入端的並行度。
I[k] 中的所有圖片寬度可以各不相同。 然而,所有圖片的高度必須相同。 對於空的輸入行,其控制輸入Ins[k]將被忽略。 這些行不會被轉發至輸出端,也就是說將會被捨棄。
|
對於無符號輸入,輸入位元寬度的範圍為 [1, 64]。 對於有符號輸入,範圍為 [2, 64]。 對於無符號色彩輸入,範圍為 [3, 63];對於有符號色彩輸入,範圍為 [6, 63]。 |
|
|
輸出影像的最大寬度即為所有輸入影像寬度的最大值。 |
|
|
自VisualApplets 版本 3.3.0 起,且僅當位於 中啟用選項 選項:若影像通訊協定設定為VALT_LINE1D,則輸出影像的最大高度將被強制設定為1。 |
同步與非同步輸入
- 同步群:I[k] 與 Ins[k]
- 所有群組之間皆為非同步運作。
以下範例展示了 InsertLine 運算子的使用方式:
-
時序同步 — 使用具有同步輸入群組的 M 型運算子,並避免死鎖。
-
範例 — 使用該運算子將兩台相機的影像進行拼接。
-
「色彩平面分離選項 4 — 採用 ImageBufferMultiRoI 運算子並對色彩平面進行預先排序的順序處理」
色彩層的順序 DMA 輸出。 色彩分離是透過 ImageBufferMultiROI 運算子來執行的。 額外的預排序可優化頻寬與資源。
-
範例 -Scaling 一張線掃描影像
-
範例 — 說明如何使用該運算子




上一頁

