Operator Register

Operator Library: Accumulator

Register 是一个数据存储元素。 当 Capture 输入设置为 1 时,输入像素会被存储并转发至输出。 如果 Capture 设置为 0,则会保持之前存储的值。

可以在行尾、帧尾或从不重置寄存器至初始值。 此行为通过参数 AutoClear 进行控制。 可以使用参数 Init 定义初始值。 该初始值在启动时应用。

Register 算子通常用于存储中间结果。

[注意] 资源消耗

该算子的 FGPA 资源消耗会随着 Parallelism 的增加而急剧上升。 我们建议在此算子中使用较低的 Parallelism。

在此算子的许多用例中, 可以通过在此算子之前使用算子 SelectFromParallel 选择最后一个并行组件来降低 Parallelism。

I/O Property

Property 值
Operator Type O
输入链路 I,图像输入
Capture,用于控制寄存器的二进制输入
Output Link O,数据输出

Supported Link Format

Link Parameter Input Link I 输入链接 Capture 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, VALT_PIXEL0D, VALT_SIGNAL} as I as I
Color Format any VAF_GRAY as I
Color Flavor any FG_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]。

参数

AutoClear
键入 static 参数
默认 EoL
范围 {EoL, EoF, None}

该参数用于选择是在行尾 (EoL)、帧尾 (EoF) 还是从不 (None) 将寄存器重置为初始值。

如果使用的是图像协议 VALT_LINE1D,则无法在帧尾进行自动清除。 对于 VALT_PIXEL0D 或 VALT_SIGNAL,该参数将被禁用。

Init
键入 static 参数
默认 0
范围 [0, 2^InputBitWidth-1]

该参数定义了 Register 算子在设计启动时、设计重置后或自动清除事件后的初始化值。 最小值为 0。 最大值可由输入端的像素位宽推导得出。 目前无法编辑有符号值。若要将参数设置为有符号值,请输入无符号的二进制补码 表示形式。 对于色彩和其他多组件格式,参数 Init 定义了所有组件的初始化值, 即所有组件都将使用相同的值进行初始化。

使用示例

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

  • “Blob2D ROI Selection”

    示例 - 将斑点分析运算符应用于输入的相机图像。 该小程序展示了斑点数据在小程序中的用法。 在这种情况下,将定位面积最大的对象,并使用其坐标从原始图像中裁剪出该对象。