Operator AppendImage

运算符 Library: Synchronization

AppendImage 算子将输入图像串联成一个更大的输出链路图像。 在输出链路 O 上组合的图像数量由参数 AppendNumber 定义。 例如,当 AppendNumber 设置为 2 时, 该算子会将两个连续的图像组合为一个新的更大图像。

请注意,该算子在保持原始带宽的同时降低了输出端的帧率。 帧率降低的倍数为 AppendNumber。

该算子的输出链路图像协议也可以设置为 VALT_LINE1D。 在这种情况下,该算子会将所有传入的图像拼接成一个高度无限的图像。 通过这种方式,该算子可用于将 2D 图像流转换为 1D 线扫描流。 如果在 VisualApplets 仿真中使用 2D 到 1D 转换,则不会串联图像。 在仿真中,每个输入图像会生成一个输出图像。

如果在采集正在运行的同时动态更改 AppendNumber 值, 该算子可确保图像完整性。 该算子会保留旧的 AppendNumber 值,直到当前输出帧完成。 在当前输出帧完成后,该算子将开始使用新的 AppendNumber 值进行后续合并。

[Caution] 超出最大图像高度

请注意,使用此算子可能会超过输出链路中定义的的最大图像高度。 请务必确保串联的输入图像不超过输出链路参数化的最大图像高度。 如果超出图像高度,后续算子可能无法正常工作。

例如,串联 3 个高度为 1024 的输入图像。 输出图像高度将为 3072。 因此,必须将输出链路中的最大图像高度设置为 3072 或更高, 以确保 VisualApplets 算子正常运行。

[提示] 将 1D 转换为 2D

如果您想执行 1D 到 2D 转换,可以使用 SplitImage 算子。请参见 SplitImage 算子相关文档。

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_IMAGE2D, VALT_LINE1D
Color Format any as I
Color Flavor any as I
Max. Img Width any as I
Max. Img Height any any2

1

The range of the input bit width is [1, 64] for unsigned inputs. For signed inputs, the range is [2, 64]. For unsigned color inputs, the range is [3, 63] and for signed color, the range is [6, 63].

2

最大输出图像高度必须大于或等于参数 AppendNumber 与输入图像高度的乘积。 但是,如果输出链路图像协议设置为 VALT_LINE1D,则参数 AppendNumber 将被停用。

参数

AppendNumber
键入 动态读/写参数
默认 1
范围 [1, Max. Image Height(output link)]

串联为一个输出图像的输入图像数量。

只有将输出链路图像协议设置为 VALT_IMAGE2D 时,才能更改此参数。

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

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

只有在仿真期间将输出协议设置为 VALT_IMAGE1D 时, 才能使用此参数。

背景信息:在 VisualApplets 仿真中,始终会创建二维图像。 为了能够模拟行,创建了此参数(仅用于仿真)。 该参数允许指定要模拟的行数。 在仿真期间,这些行组合为一个二维“图像”。 通过这种方式,可以模拟各个行。 在达到 LinesToSimulate 指定的数量之后传入的所有行都将被丢弃。 为仿真精确生成一个二维输出图像。

使用示例

以下示例展示了 AppendImage 算子的使用方法: