Operator AppendLine

Operator Library: Synchronization

運算子 AppendLine 會將連結 I 處輸入影像的影像行串接為連結 O 處輸出影像中較大的行。 要合併為新行的行數由參數 AppendNumber 定義。 例如,當 AppendNumber 設定為 2 時,運算子會將輸入影像中的 2 個連續行串接為輸出影像中的新大行。 當輸入影像高度無法被 AppendNumber 參數值整除時,輸出影像中的最後一行會較短, 並且會包含將輸入影像剩餘的最後幾行串接在一起的內容。

請注意,此運算子既不會改變影格率,也不會改變頻寬。

運算子的輸出連結影像通訊協定也可以設定為 VALT_PIXEL0D,亦即運算子會將所有送入的 行附加到無限寬度的行中。 因此,此運算子可用於將 2D 影像串流或 1D 行串流轉換為 0D 像素串流。

藉由在擷取執行期間動態變更 AppendNumber 值,運算子可確保行的完整性。 運算子會保留舊的 AppendNumber 值,直到輸出行為止。 在目前輸出行完成後,運算子將開始使用新的 AppendNumber 值進行進一步的合併。

[警告] 防止超過最大影像尺寸

透過使用此運算子,有可能會超過輸出連結中定義的最大影像寬度和高度。因此, 請務必確保串接的輸入行不會超過輸出連結已參數化的最大影像寬度。 同時也請確保輸出連結已參數化的最大影像高度夠大。 如果影像寬度或高度超過連結 Property 指定的限制,後續的運算子可能無法正常運作。

例如,串接 3 個寬度為 1024 的輸入行。 輸出影像寬度將會是 3072。 必須在輸出連結中指定此寬度,以確保 VisualApplets 運算子的正確功能。

I/O Properties

Property Value
Operator Type P
Input Link I, data input
Output Link O, data output

支援的 Link 格式

Link Parameter Input Link I Output Link O
Bit Width [1, 64]1 as I
Arithmetic {unsigned, signed} as I
Parallelism any as I
Kernel Columns any as I
Kernel Rows any as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D}
Color Format any as I
Color Flavor any as I
Max. Img Width any any2
Max. Img Height any any

1

無號輸入的 Bit Width 範圍為 [1, 64]。 針對有號輸入,範圍為 [2, 64]。 針對無號彩色輸入,範圍為 [3, 63],而針對有號彩色輸入,範圍為 [6, 63]。

2

最大影像寬度必須大於或等於參數 AppendNumber 乘以輸入影像寬度。

參數

AppendNumber
Type 動態讀取/寫入參數
Default 1
Range 輸入 IMAGE2D:[1, 輸入最大影像高度];輸入 LINE1D:[1, 輸出最大影像寬度 / Parallelism]

串接成單一輸出的輸入列數量。

只有在輸出連結影像通訊協定未設定為 VALT_PIXEL0D 時,才可以變更此參數。

LinesToSimulate
Type static read/write parameter
Default 1
Range [1, 2^32 - 1]

模擬 1D 輸出串流中的行數。

如果在模擬期間輸入影像通訊協定設定 為 VALT_IMAGE2D 且輸出通訊協定設定為 VALT_IMAGE1D,則只能使用此參數。

剛好會產生一個輸出影像。其餘的輸入行將會被捨棄。

PixelsToSimulate
Type static read/write parameter
Default 1
Range [1, 2^32 - 1]

模擬 0D 輸出串流中的輸入像素數。

如果在模擬期間輸入影像通訊協定設定 為 VALT_IMAGE2D 或 VALT_IMAGE1D 且輸出通訊協定設定為 VALT_IMAGE0D,則只能使用此參數。

剛好會產生一個輸出影像。其餘的輸入像素將會被捨棄。

使用範例

以下範例顯示了 AppendLine 運算子的使用方式: