运算符 Library: Synchronization
InsertLine 算子将 N 个输入链路 I[0] 到 I[n-1] 的行复用到输出链路 O 中。 因此,该算子按顺序在 O 处输出所有输入的输入图像行。
该算子将输入图像行依次转发到输出端。 对于每一个新帧,该算子都从输入 I[0] 开始。 首先,处理输入 I[0] 的第一行并将其转发到输出端。接下来,处理输入 I[1] 的第一行。 在处理完 I[n-1] 的第一行后,算子继续处理 I[0] 的第二行,依此类推。 该算子会等待,直到当前选定的输入端出现所需的行。 因此,无法跳过输入。 这里没有“先来先处理”的策略。
如前所述,该算子在特定时间仅转发特定的输入。 在处理某个输入时,所有其他输入都会被阻塞。 如果图像行出现在被阻塞的输入上,请确保可以对其进行缓冲,直到处理该行为止。 此外,用户必须确保多个输入不是由同一个图像源提供的,因为这会导致死锁。 请查看“基础与示例”中的 “复用两个相机的图像” 以了解有关正确插入的更多信息。该示例与 InserLine 算子类似。
对于每个输入 I[k],该算子提供了一个控制输入 Ins[k]。 这些输入用于控制是否必须使用图像行的数据并将其转发到输出端,还是应该将其丢弃。 Ins[k] 输入接受二进制数据。 如果在相应图像行的第一个像素处提供 1,则该行将被转发到输出端。 而如果在相应图像行的第一个像素处提供 0 值,则该行将被处理但会被丢弃。
The I[k] and Ins[k] pairs are synchronous i.e. they have to be sources by the same M-type source though an arbitrary network of O-type operators. See 'M-type Operators with Multiple Inputs' for more information. Therefore, no SYNC operator is required for these pairs (different in VA versions < VA2).
该算子的输出图像尺寸是输入图像尺寸的 n 倍。 但是,输出 Parallelism 并未增加。 因此,输出带宽等于输入带宽,而可能需要传输更多的数据。 在算子处理数据之前,可能需要增加输入的 Parallelism。
I[k] 处的所有图像可以具有不同的宽度。 但是,所有图像的高度必须相同。 对于空的输入行,控制输入 Ins[k] 将被忽略。 这些行将不会被转发到输出端,即会被丢弃。
|
对于无符号输入,输入 Bit Width 的范围是 [1, 64]。 对于有符号输入,范围是 [2, 64]。 对于无符号彩色输入,范围是 [3, 63],对于有符号彩色输入,范围是 [6, 63]。 |
|
|
最大输出图像宽度是所有输入图像宽度的最大值。 |
|
|
从 VisualApplets 3.3.0 版本开始,并且仅当在 中选中了 选项时:如果 Image Protocol 设置为 VALT_LINE1D,则最大输出图像高度将被强制设为 1。 |
同步和异步输入
- 同步组:I[k] 和 Ins[k]
- 所有组彼此异步。
以下示例展示了 InsertLine 算子的使用方法:
-
时序同步 - 将 M 型算子与同步输入组配合使用并避免死锁。
-
示例 - 使用该算子拼接两个相机的图像。
-
“Color Plane Separation 选项 4 - 结合使用算子 ImageBufferMultiRoI 和 Color Plane 预排序的顺序处理”
色彩平面的顺序 DMA 输出。 使用算子 ImageBufferMultiROI 执行色彩分离。 附加的预排序可优化带宽和资源。
-
示例 - Scaling 线扫描图像
-
示例 - 演示如何使用该算子




上一页

