算子 AppendLine

运算符 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 Property

Property 值
Operator Type P
Input Link I,数据输入
Output Link O,数据输出

Supported Link Format

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
键入 动态读/写参数
默认 1
范围 输入 IMAGE2D:[1, 输入最大图像高度];输入 LINE1D:[1, 输出最大图像宽度 / Parallelism]

连接成单条输出行的输入行数。

只有在输出链路图像协议未设置为 VALT_PIXEL0D 时,才可以更改此参数。

LinesToSimulate
键入 静态读/写参数
默认 1
范围 [1, 2^32 - 1]

模拟 1D 输出流中的行数。

如果在仿真期间输入图像协议设置为 VALT_IMAGE2D 且输出协议设置为 VALT_IMAGE1D,则只能使用此参数。

仅生成一张输出图像。其余输入行将被丢弃。

PixelsToSimulate
键入 静态读/写参数
默认 1
范围 [1, 2^32 - 1]

模拟 0D 输出流中的输入像素数。

如果在仿真期间输入图像协议设置为 VALT_IMAGE2D 或 VALT_IMAGE1D 且输出协议设置为 VALT_IMAGE0D,则只能使用此参数。

仅生成一张输出图像。其余输入像素将被丢弃。

使用示例

以下示例展示了 AppendLine 算子的使用: