Operator CutLine

Operator Library: Synchronization

運算子CutLine 會將輸入影像的線條動態分割成多條較短的線條。分割操作 由輸入參數Cut 控制,該參數與輸入 I 保持同步。分割作業會依照 並行度 P 所指定的粒度進行。因此,不會產生任何虛擬像素。 當輸入 Cut中的像素值為 1 時,來自輸入I 的 對應像素仍包含於當前行輸出中。該行將在 下一個可能的像素位置之後終止,以滿足粒度條件。此運算子支援 兩種切割模式,由參數Mode 設定:

  • 若「模式」設定為 「分割」(預設值),則傳入的行會被分割 成數個片段。每當輸入中當前行的某個像素 Cut 處的當前輸入行中,任一像素值為 1 時, 當前輸出行將 根據並行度 P 所指定的粒度終止。隨後將以 下一組輸入像素的起始位置開始新的一行。若在 該行最後 P 個像素中出現任何 1 的值,則不 會產生任何影響。

  • 若「模式」設定為 「截斷」,則會將輸入行截短為單一 行,該行可能比原始輸入行更短。 每當輸入Cut處的 當前行中某個像素值為 1 時,正在處理的輸出 行便會根據並行度 P 所指定的粒度而終止。在當前 行結束之前,不會再將任何像素 轉發至輸出O。

該運算子可能會產生具有 不同線段長度的輸出影像。並非所有VisualApplets 運算子都能處理具有不同 線段長度的影像。

您也可以使用 CutLine運算子,將 0D 影像轉換為 1D 影像。 若有一條使用影像協定 VALT_PIXEL0D 的連結連接至該運算子的輸入端,系統將自動執行此轉換。在此情況下,該運算子始終 處於「分割」模式,且參數 「模式」將被停用。

I/O Properties

Property Value
Operator Type M
Input Links I,資料輸入
Cut,控制輸入
Output Link O,資料輸出

Supported Link Format

Link Parameter Input Link I 輸入連結 Cut Output Link O
Bit Width [1, 64]1 1 as I
Arithmetic {unsigned, signed} 無號數 as I
Parallelism any as I as I
Kernel Columns any 1 as I
Kernel Rows any 1 as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I auto2
Color Format any VAF_GRAY as I
Color Flavor any FL_NONE as I
Max. Img Width any as I any3
Max. Img Height any as I any4

1

輸入 Bit Width 的範圍為:

  • 針對無號輸入:[1, 64]

  • 對於有號數值:[2, 64]

  • 對於無號彩色輸入:[3, 63]

  • 針對有號色彩輸入:[6, 63]。

2

若使用 VALT_IMAGE2D 或 VALT_LINE1D,輸出影像協定將與 輸入影像協定相同。若輸入時使用 VALT_PIXEL0D 影像協定, 則該運算子會將影像轉換為 VALT_LINE1D 影像 協定。

3

輸出影像的最大寬度必須小於或等於輸入 影像的最大寬度。

4

輸出影像的最大高度必須大於或等於 輸入影像的高度。

Parameters

Mode
Type 靜態讀取/寫入參數
Default Split
Range {Split,Truncate}

作業模式。

  • 若「模式」設定為 「分割」(預設值),則傳入的行會被 分割成數個片段。每當輸入位置 「Cut」處當前行中的某個像素值為 1 時,當前的輸出行便會 將根據並行度 P 所指定的粒度終止,並以 下一組傳入像素的起始位置 開始新的一行。若在行末 並行度 P 個像素範圍內出現任何值 1, 則不會產生 任何影響。

  • 若「模式」設定為 「截斷」,則傳入的行會被截斷為 單一行,其長度可能短於傳入的行。每當 輸入位置「Cut」處當前行中的某個像素值為 1 時,正在輸出的行便會根據 並行度 P 所指定的粒度而終止。在當前行結束之前, 將不再有像素被轉發至輸出端 O。

Examples of Use

以下範例展示了運算子 CutLine 的用法: