Operator ImageAnalyzer

Operator Library: Debugging

算子 ImageAnalyzer 用于分析图像属性,而无需修改图像数据。

该算子用于分析单张图像。若要分析图像序列,请使用算子 ImageStatistics。

算子 ImageAnalyzer 提供

  • 关于上一帧的数据(整帧的值),以及
  • 当前帧的中间值(当前正在传输的帧)。

算子 ImageAnalyzer 用于分析面阵应用(2D)中的帧。 您也可以将其用于分析线阵应用(1D)中的数据。

该算子提供了动态读取参数,可用于获取以下数据:

  • 图像尺寸(宽度 x 高度)和图像大小(像素),
  • 帧内行长度的偏差,
  • 行间的时间间隔,
  • 算子输入的阻塞状态(已阻塞/未阻塞)。

此外,该算子还提供了一些用于控制算子本身的参数。

当内部 Counter 溢出时,会在 OverflowMask Property 中设置相应的溢出位,并且 Counter 会停止运行。

[重要] 运行时测试

此 operator 专为在运行时测试和分析您的设计而设计:您需要构建(综合)设计,将其加载到目标硬件上,并启动实际图像 processing,然后才能使用该 operator 进行调试。

该 operator 不适用于 VisualApplets 中的设计仿真。

I/O Property

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

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width [1, 64] 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} as I
Color Format any as I
Color Flavor any as I
Max. Img Width any as I
Max. Img Height any as I

参数

ClearMode
键入 动态写入参数
默认 ClearWithProcessStart
范围 {NoClearing, ClearWithProcessStart, ClearWithProcessReset, SendClearPulse}

Operator Control:

此 Property 定义了所有 read Property 的重置行为。

NoClearing:保留所有 read 参数的值。 ProcessEnable 和 ProcessReset 对这些值没有影响。

ClearWithProcessStart:仅在 ProcessEnable 的上升沿清除所有 read 参数的值。

ClearWithProcessReset:仅在 ProcessReset 的上升沿清除所有 read 参数的值。

SendClearPulse:按需清除所有 read 参数的值。

FrameCountWidth
键入 静态写参数
默认 24
范围 [4, 63]

Operator Control:

设置参数 FrameCounter 的 Bit Width。

GapCountWidth
键入 静态写参数
默认 20
范围 [4, 63]

Operator Control:

设置行间隙计数器的 Bit Width (FrameMinLineGap, FrameMaxLineGap, CurrLineGap)。

FrameCount
键入 动态只读参数
默认 0
范围 [0, (2^FrameCountWidth) -1]

一般信息:

对所有以 EndOfFrame 结束的图像进行计数。

FramePixelCount
键入 动态只读参数
默认 0
范围 [0, (2^ (ImageWidthBitwidth+ImageHeightBitwidth+4))-1]

上一帧:

最后完成的帧的大小(以像素为单位)。

FrameHeight
键入 动态只读参数
默认 0
范围 [0, (2^(ImageHeightBitwidth+4))-1]

上一帧:

上一完整帧的高度(以像素为单位)。

FrameMinWidth
键入 动态只读参数
默认 0
范围 [0, (2^(ImageWidthBitwidth+4))-1]

上一帧:

上一完整帧中出现的最小宽度(以像素为单位)。

FrameMaxWidth
键入 动态只读参数
默认 0
范围 [0, (2^(ImageWidthBitwidth+4))-1]

上一帧:

上一完整帧中出现的最大宽度(以像素为单位)。

FrameMinLineGap
键入 动态只读参数
默认 0
范围 [0, (2^GapCountWidth)-1]

上一帧:

上一完整帧中出现的最小行间隙。在下图所示的示例中,FrameMinLineGap = 3。

FrameMaxLineGap
键入 动态只读参数
默认 0
范围 [0, (2^(ImageWidthBitwidth+ImageHeightBitwidth+4))-1]

上一帧:

在最后一帧完成的帧中遇到的最大行间隙。在下图所示的示例中,FrameMaxLineGap = 4。

CurrPixelCount
键入 动态只读参数
默认 0
范围 [0, (2^(ImageWidthBitwidth+ImageHeightBitwidth+4))-1]

当前帧:

当前处于活动状态且正在检查的帧中的像素数。

CurrXPos
键入 动态只读参数
默认 0
范围 [0, (2^(ImageWidthBitwidth+4))-1]

当前帧:

当前处于活动状态且正在检查的帧中的当前水平位置。

CurrYPos
键入 动态只读参数
默认 0
范围 [0, (2^(ImageHeightBitwidth+4))-1]

当前帧:

当前处于活动状态且正在检查的帧中的当前垂直位置。

CurrMinWidth
键入 动态只读参数
默认 0
范围 [0, (2^(ImageWidthBitwidth+4))-1]

当前帧:

在当前处于活动状态且正在检查的帧中检测到的最小宽度。

CurrMaxWidth
键入 动态只读参数
默认 0
范围 [0, (2^(ImageWidthBitwidth+4))-1]

当前帧:

在当前处于活动状态且正在检查的帧中检测到的最大宽度。

CurrLineGap
键入 动态只读参数
默认 0
范围 [0, (2^GapCountWidth)-1]

当前帧:

当前行与前一行之间的间隙(在当前处于活动状态且正在检查的帧中)。

CurrBlocked
键入 动态只读参数
默认 0
范围 [0, 1]

一般信息:

如果设置为 1:值 1 表示输入链路当前被输出链路阻塞。

OverflowMask
键入 动态只读参数
默认 0
范围 [0, 31]

Operator Control:

位编码的溢出信号。置位的位表示以下 Counter 发生溢出:

[0] = FrameCount

[1] = PixelCount

[2] = xPos

[3] = yPos

[4] = LineGapCount。

使用示例

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