Operator ImageInjector

Operator Library: Debugging

算子 ImageInjector 允许您将图像注入到算子的图像数据输出中。 可以直接从文件(文件格式:*.tif)注入图像。 您可以通过 Framegrabber API 或通过 Framegrabber SDK 工具 microDisplay 发送注入命令。

算子 ImageInjector 的工作方式类似于您在 VisualApplets 中模拟设计时使用的 Simulation Sources —— 只是算子 ImageInjector 用于运行时的测试。

支持两种注入方式:插入和替换。

插入模式:当其中一种插入模式激活时,输入链路将被阻塞。

替换模式:当其中一种替换模式激活时, 该算子 在图像注入期间充当图像接收器。 输入链路不会被阻塞。

注入的图像数据通过写入 WritePixel 和 WriteFlag 寄存器逐像素地进行插入。 只有当参数 ReadyForInjection 切换为 “yes”时,写寄存器才会被启用。(要了解参数 ReadyForInjection 何时被设为“yes”,请参阅参数 Mode。)

在注入图像的每一行末尾(最后一行除外),必须向 WriteFlag 寄存器写入一个 EndOfLine 标志。 当到达最后一行的末尾时,必须向 WriteFlag 寄存器写入一个 EndOfFrame 标志。

CurrXPos 和 CurrYPos 参数 指向当前活动的像素位置。

[注意] 参数 EnableInsertModes 将算子的类型从 M 类型更改为 P 类型

算子 ImageInjector 是一个 M 类型算子。但是,如果您将 EnableInsertModes 设置为“no”,VisualApplets 会将该算子当作 P 类型算子来处理。

[注意] 停用注入模式

切换回默认模式 FlowThrough(即停用所有类型的注入) 仅当 参数 ReadyForFlowThrough 设置为“yes”时才被允许。

[重要] 运行时测试

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

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

I/O Property

Property 值
Operator Type M
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 1 as I
Kernel Columns 1 1
Kernel Rows 1 1
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

参数

模式
键入 动态写入参数
默认 FlowThrough
范围 {FlowThrough, InsertAfterEof, InsertAfterEol, ReplaceAfterEof, ReplaceAfterEol}

此模式参数用于启用和禁用图像注入。 在图像注入期间,算子会阻塞输入链路(InsertAfterEof、InsertAfterEol) 或者丢弃注入期间到达的图像数据(ReplaceAfterEof、ReplaceAfterEol)。

Inject:在此模式下,算子会立即阻塞输入链路并将参数 ReadyForInjection 设置为“yes”。 一旦 ReadyForInjection 设置为“yes”,您就可以从文件注入图像。

FlowThrough:图像注入被禁用。 切回默认模式 FlowThrough(即停用所有类型的注入)仅在参数 ReadyForFlowThrough 设置为“yes”时才被允许。

InsertAfterEof:设置为此模式时,算子会查找帧结束 (EoF) 标志。 一旦找到 EoF 标志(即到达当前图像末尾时), 算子就会阻塞输入链路并将参数 ReadyForInjection 设置为“yes”。一旦 ReadyForInjection 设置为“yes”,您就可以从文件注入图像。 此模式不适用于 LINE-1D 图像协议。 此模式仅在参数 EnableInsertModes 设置为“yes”时可用, 这也意味着该算子属于 M 类型。

InsertAfterEol:设置为此模式时,算子会查找行结束 (EoL) 标志。 一旦找到 EoL 标志(即到达当前行末尾时), 算子就会阻塞输入链路并将参数 ReadyForInjection 设置为“yes”。一旦 ReadyForInjection 设置为“yes”,您就可以从文件注入图像。 此模式不适用于 LINE-1D 图像协议。 此模式仅在参数 EnableInsertModes 设置为“yes”时可用, 这也意味着该算子属于 M 类型。

当设置为两个可用替换模式中的一个时,算子在图像注入期间充当图像接收器。

ReplaceAfterEof:算子等待当前图像结束。 一旦找到 EoF 标志,算子就会将参数 ReadyForInjection 设置为“yes”。一旦 ReadyForInjection 设置为“yes”,您就可以从文件注入图像。 在注入期间,传入的图像数据将被丢弃。 不适用于 LINE-1D 图像协议。

ReplaceAfterEol:算子等待当前行结束。 一旦找到 EoL 标志,算子就会将参数 ReadyForInjection 设置为“yes”。一旦 ReadyForInjection 设置为“yes”,您就可以从文件注入图像。 在注入期间,传入的图像数据将被丢弃。

EnableInsertModes
键入 静态写参数
默认 没有
范围 {yes, no}

如果设置为“yes”,参数 Mode 可以设置为插入模式 InsertAfterEof 或 InsertAfterEol。在这种情况下, 算子属于 M 类型。 如果设置为“no”,参数 Mode 将不允许使用这两个插入模式, 并且算子属于 P 类型。

ReadyForInjection
键入 动态只读参数
默认 没有
范围 {yes, no}

当参数 Mode 处于插入或替换模式时,指示是否准备好写入像素或标志。必须将其设置为 "yes" 才能启用参数 WritePixel 和 WriteFlag。

ReadyForFlowThrough
键入 动态只读参数
默认 没有
范围 {yes, no}

指示是否准备好切换回 FlowThrough 模式(对应参数 Mode)。

当参数 WriteFlag 满足以下条件时,该参数会自动设置为 "yes"

  • 在 IMAGE-2D 模式下写入 EndOfFrame,或者
  • 在 LINE-1D 模式下写入 EndOfLine。

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

显示当前行位置。

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

显示当前图像高度位置。

WritePixel
键入 动态写入参数
默认 0
范围 [0, 2^BitWidth-1]

像素值。如果使用 24 bit Color Format,则必须应用以下位映射:Red = [0, 7], Green = [9,15], Blue = [16,23]。

WriteFlag
键入 动态写入参数
默认 EndOfLine
范围 {EndOfLine, EndOfFrame}

您需要在每条注入行的末尾写入一个 EndOfLine 标志,但图像最后一行的末尾除外。

您需要在注入图像的最后一行末尾写入一个 EndOfFrame 标志。

此参数还会影响参数 ReadyForFlowThrough:

当满足以下条件时,参数 ReadyForFlowThrough 将被设置为 "yes":

  • 在 IMAGE-2D 模式下写入 EndOfFrame,或者
  • 在 LINE-1D 模式下写入 EndOfLine。

[注意] 一次只能使用一个标志

在图像末尾,只能向该参数写入一个 EndOfFrame 标志。

切勿将 EoL 与 EoF 一起写入。EoF 始终包含 EoL+EoF。

ImageFile
键入 动态写入参数
默认 image.tif
范围

要注入的图像文件。图像尺寸必须小于或等于输出 link 属性。图像文件的像素深度可以为每个 component 8 bit 或 16 bit。如果图像每个 component 的像素深度不等于 link property 定义的 Bit Width,系统将对图像 component 进行移位,使其按最高有效位 (MSB) 对齐到 link property 定义的像素 component。要在 microDisplay 中选择文件,请手动设置文件路径或右键单击此参数以打开文件选择菜单。

InjectFromFile
键入 动态写入参数
默认 没有
范围 {no, yes}

当设置为 "yes" 时, 图像文件将被注入到输出 link 中。 在 FlowThrough 模式下禁用(即当参数 Mode 设置为 FlowThrough 时)。

使用示例

以下示例展示了 ImageInjector operator 的使用方法: