運算子 InsertLine

運算子函式庫:同步

運算子 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]將被忽略。 這些行不會被轉發至輸出端,也就是說將會被捨棄。

I/O 屬性

屬性 價值
運算子類型 M
輸入連結 I[0],資料輸入
I[k],資料輸入
Ins[k],控制輸入
輸出連結 O,資料輸出

支援的連結格式

連結參數 輸入連結 I[0] 輸入鏈路 I[k] 輸入鏈路 Ins[k] 輸出鏈結 O
Bit Width [1,64]1 正如我[0] 1 正如我[0]
Arithmetic {無符號、有符號} 正如我[0] 未簽名 正如我[0]
Parallelism 任何 正如我[0] 正如我[0] 正如我[0]
核心專欄 任何 正如我[0] 1 正如我[0]
內核行 任何 正如我[0] 1 正如我[0]
Img 協定 {VALT_IMAGE2D, VALT_LINE1D} 正如我[0] 正如我[0] 正如我[0]
Color Format 任何 正如我[0] VAF_GRAY 正如我[0]
色彩 風味 任何 正如我[0] FL_NONE 正如我[0]
圖片最大寬度 任何 任何 當我[k] auto2
圖片最大高度 任何 正如我[0] 當我[k] N * I[0]3

1

對於無符號輸入,輸入位元寬度的範圍為 [1, 64]。 對於有符號輸入,範圍為 [2, 64]。 對於無符號色彩輸入,範圍為 [3, 63];對於有符號色彩輸入,範圍為 [6, 63]。

2

輸出影像的最大寬度即為所有輸入影像寬度的最大值。

3

自VisualApplets 版本 3.3.0 起,且僅當位於 「模擬建置設定」 中啟用選項 「逐行模擬 1D」 選項:若影像通訊協定設定為VALT_LINE1D,則輸出影像的最大高度將被強制設定為1。

同步與非同步輸入

  • 同步群:I[k] 與 Ins[k]
  • 所有群組之間皆為非同步運作。

參數

無

使用範例

以下範例展示了 InsertLine 運算子的使用方式: