Operator CutImage

运算符 Library: Synchronization

算子 CutImage 将输入图像动态切割为多个 较小的图像。切割由输入 Cut 控制,该输入与 输入 I 同步。该算子支持两种切割模式, 由参数 Mode 设置:

  • 如果 Mode 设为 Split(默认值),则输入的图像 将被分割成数个部分。当输入 Cut 当前行的任何像素值为 1 时, 当前输出图像会在该行结束时终止,并从下一行 的开头开始新图像。输入 Cut 中 图像最后一行中的任何 1 值均无效。

  • 如果 Mode 设为 Truncate,则输入的图像会被切割为单张 图像,该图像的行数可能比输入图像少。当 输入 Cut 当前行的任何像素值为 1 时, 当前输出图像会在该行结束时终止。在当前图像结束 之前,不会再有任何图像数据转发到输出 O。

[重要] Increased Frame Rate

在 Split 模式下, 算子可以通过保持原始带宽来提高帧率。在 Truncate 模式下,算子不改变帧率, 但可能会降低平均带宽。

您可以使用算子 CutImage 将 1D 图像转换为 2D 图像。 如果将使用图像协议 VALT_LINE1D 的链路连接到算子 的输入,则转换会自动执行。在这种情况下,算子始终处于 Split 模式,且参数 Mode 被禁用。例如,线扫描相机 的 1D 输入可以根据控制输入分割成高度可变的图像, 从而有效地创建 2D 输出流。

该算子支持具有可变行长的图像。

I/O Property

Property 值
Operator Type P
输入链路 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} unsigned 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} as I VALT_IMAGE2D
Color Format any VAF_GRAY as I
Color Flavor any FL_NONE as I
Max. Img Width any as I as I
Max. Img Height any as I as I

1

输入 bit width 的范围是:

  • 对于无符号输入:[1, 64]

  • 对于有符号输入:[2, 64]

  • 对于无符号彩色输入:[3, 63]

  • 对于有符号彩色输入:[6, 63]。

参数

模式
键入 静态读/写参数
默认 Split
范围 {Split,Truncate}

操作模式。

  • 如果 Mode 设为 Split(默认值),则输入图像 会被分割成数个部分。当输入 Cut 当前行的任何像素值为 1 时, 当前输出图像会在该行结束时终止,并从下一行 的开头开始新图像。输入 Cut 中图像最后一行中的任何 1 值均无效。

  • 如果 Mode 设为 Truncate,则输入图像会被切割为 单张图像,该图像的行数可能比输入图像少。当 输入 Cut 当前行的任何像素值 为 1 时,当前输出图像会在该行结束时终止。在 当前图像结束之前,不会再有任何图像数据转发到 输出 O。

使用示例

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