Operator Library: Base
DynamicROI 算子从输入链接 I 中提取矩形感兴趣区域 (ROI)。 输出图像高度和行宽由 ROI 图像参数 Ylength 和 Xlength 定义。 此 ROI 的大小由四个输入链接 Xoffset、Yoffset、Xlength 和 Ylength 动态定义。 该算子的目的是使 ROI 的尺寸和位置适应图像处理步骤的结果。 ROI 的所有参数可能因图像而异。
从 I 到 O 的图像流由四个链接 Xoffset、Yoffset、Xlength 和 Ylength 控制。 这四个链接既可以完全异步工作(由不同的 M 类型算子提供源),也可以完全同步工作(通过 O 类型算子的任意网络 由相同的 M 类型算子 提供源)。 若要在输出 O 处输出 ROI,必须在所有五个输入处提供图像。 在所有输入都提供图像之前,已提供图像的那些输入将被阻塞。 强烈建议在各个输入端、 尤其是输入链接 I 处设置缓冲元件。 您可以将 DynamicROI 的行为想象为一个阀门,只有在所有输入处都提供图像时才会打开。
每当图像到达四个控制输入中的每一个时,DynamicROI 就会捕获每个控制链接的最后一个像素。 一旦 DynamicROI 在控制输入端接收到所有图像,阀门就会打开,并允许图像从 I 传递到 O。 现在,使用捕获的 ROI 坐标来提取 ROI。 将 ROI 图像传输到 O 后,阀门再次关闭,并等待出现在控制链接上的下一组图像 ROI 坐标。
该算子的一个重要用途是与 CreateBlankImage 和 CoefficientBuffer 结合使用,或者与 object detection 实现的结果结合使用。 使用参数控制 ROI 坐标的算子是 SelectROI。
算子限制
- 如果 Xlength 不是链接 I 和 O 的 Parallelism 的整数倍,算子将扩展 ROI 宽度 以匹配 Parallelism。 虚拟像素会添加到每行的末尾。 该虚拟像素的值未定义。 在 VA 仿真中,为了便于观察,虚拟像素将被设为零。
- 如果 ROI 坐标非法,即 Xlength 和/或 Ylength 为零或偏移量超出图像边界, 算子将裁剪并输出空图像或移除图像。可以通过参数 SuppressEmptyRoI 来控制此行为。
- 如果偏移坐标有效,但 Xlength 和/或 Ylength 坐标超出图像边界, 算子会将 ROI 缩减至图像边界。
- 如果在 ROI 输入端提供了空的坐标集(即高度和宽度均等于 0 的 ROI 帧), 算子 DynamicROI 会将此类空 ROI 视为坐标无效的 ROI。 算子将裁剪并输出空图像或移除图像。可以通过参数 SuppressEmptyRoI 来控制此行为。
- 不支持端口 I 上的空图像。
- 端口 I 处每个输入图像的行必须具有相同的长度。因此不允许行长度可变的图像。
| Property | 值 |
|---|---|
| Operator Type | M |
| 输入链路 | I,图像输入 Xoffset,x 偏移输入 Yoffset,y 偏移输入 Xlength,x 长度输入 Ylength,y 长度输入 |
| Output Link | O,数据输出 |
同步和异步输入
- 所有输入都是异步的,即它们可以由不同的 M 类型算子提供源。
| SuppressEmptyRoI | |
|---|---|
| 键入 | static 参数 |
| 默认 | 开启 |
| 范围 | {ON, OFF} |
|
如果 ROI 坐标非法,此参数用于控制移除算子输出上的空图像。 有关更多信息,请参阅 Operator Restrictions。 |
|
算子 DynamicROI 的用法如以下示例所示:
-
示例 - 将斑点分析运算符应用于输入的相机图像。 该小程序展示了斑点数据在小程序中的用法。 在这种情况下,将定位面积最大的对象,并使用其坐标从原始图像中裁剪出该对象。






上一页

