Operator Library: Accumulator
ModuloCounter 用于对输入链路上的像素、行或帧数进行计数。其计数字序列受模数除数(modulo divisor)的限制。计数器在序列重复前可能拥有的唯一状态数由模数除数定义。 模数除数通过 Divisor 参数进行定义。 例如,模数除数为 4 时将执行“n MOD 4”计数,即 0、1、2、3、0、1、2、3、0、1、2、3 ...
输出帧的图像尺寸始终等于输入帧的图像尺寸。 输出端的像素数据表示计数结果。 请注意,不会使用任何像素值。计算时仅考虑像素、行或帧索引。
计数器始终从零开始计数。 可以配置 CountEntity 参数,以对输入链路的每个像素、行或帧进行计数。 例如,如果将 CountEntity 参数设置为 PIXEL,则该 operator 将在输入的每个像素处递增其计数器。
如果将 CountEntity 设置为 LINE,则计数器会在每行的开头递增, 从而对输入链路的行进行计数。 例如,模数除数为 4 时,其结果将是第 0 行的所有像素值均为 0。 第 1 行的像素值将为 1,依此类推。 但是,第 4 行的像素值将再次为零。
如果将 CountEntity 设置为 FRAME, 则计数器会在每帧的开头递增。
以下示例说明了该 operator 的用法。 第一个示例显示了两个连续的帧,其图像宽度和图像高度均为 8 个像素。 所有像素值均以数字形式显示。帧索引 0 表示初始帧,即 Acquisition Start 之后的第一个帧。
-
配置: Divisor = 6, CountEntity = PIXEL, AutoClear = EoF

从本例中可以看出,当将 CountEntity 参数设置为 PIXEL 时,计数器会随着每个像素而递增。 由于 Divisor 设置为 6,因此结果值在 0 到 5 的范围内。 在第二帧中,operator 再次从零开始,因为计数器在帧结束时被重置。
-
配置: Divisor = 6, CountEntity = LINE, AutoClear = NONE

在此示例中,operator 对行而不是像素进行计数。 因此,图像的每个像素都代表行号。 在此,参数 AutoClear 设置为 NONE。 因此,operator 在第二帧中继续对行进行计数,而不会在第一图像行重置。
-
配置: Divisor = 6, CountEntity = FRAME, AutoClear = NONE

最后一个示例显示了帧的计数。 在此,每个像素的值代表帧号。
如果在采集过程中更改了除数参数,则新值将在下一帧开始时生效。 对于 1D 输入,新值将应用于下一行。 如果输入端是 0D 数据,则新的除数将立即生效。
图像限制
-
空图像
不允许使用空图像(即不包含像素的图像)。
| Divisor | |
|---|---|
| 键入 | 静态/动态写入参数 |
| 默认 | 1 |
| 范围 | [1..2^OutputBitWidth] |
|
此参数定义求模运算的除数。 除数值必须小于或等于 2^OutputBitwidth。 |
|
| CountEntity | |
|---|---|
| 键入 | static 参数 |
| 默认 | PIXEL |
| 范围 | {PIXEL, LINE, FRAME} |
|
此参数定义 operator 计数器是针对每个像素、 每个行启用,还是仅针对每帧启用一次。 选项 FRAME 仅适用于图像协议 VALT_IMAGE2D。 LINE 仅适用于图像协议 VALD_IMAGE2D 和 VALT_LINE1D。 对于图像协议 VALT_PIXEL0D,该参数将始终对像素进行计数。 |
|
| AutoClear | |
|---|---|
| 键入 | static 参数 |
| 默认 | NONE |
| 范围 | {EoL, EoF, NONE} |
|
通过 AutoClear 选项,可以在行结束、帧结束时或不进行任何清除时将 Counter 重置为零。 如果 CountEntity 设置为 PIXEL,则可以选择该参数的所有三个选项。 如果 CountEntity 设置为 LINE,则可以使用 EoF 和 NONE 选项。 对于 CountEntity FRAME,无法对算子进行自动清除。 如果使用 VALT_LINE1D 图像协议,则无法在帧结束时进行清除。 在 VALT_PIXEL0D 中,该算子没有自动清除功能。 |
|
以下示例展示了 ModuloCount 算子的用法:
-
' Multiple DMA Channel Designs '
移除 10 张图像中的 9 张。
-
示例 - 展示了运算符 Blob_Analysis_1D 在线扫描应用中的用法。
-
'Color Plane Separation Option 3 - Sequential with Operator ImageBufferMultiRoI'
色彩通道的串行 DMA 输出。 色彩分离通过算子 ImageBufferMultiROI 执行。
-
“Color Plane Separation Option 5 - Sequential Output with Advances Processing”
颜色平面分离示例。 RGB 输入被拆分为其分量,并通过一个 DMA 通道进行顺序输出。 通过并行字收集相同分量并使用 FrameBufferRandomRead 读取来执行拆分。
-
示例 - 出于调试目的,Scope 算子提供了用于分析灰度图像的选项。
-
示例 - 在不使用 SampleDn 算子的前提下按 3x3 因子进行下采样。
-
示例 - 输入图像上叠加了一个网格。 网格像素值由输入像素值决定。


上一页

