运算符 Library: Synchronization
InsertImage 算子将多个 n 个输入链路 I[0] 到 I[n-1] 多路复用到输出链路 O 中。 因此,该算子按顺序在 O 处输出所有输入的输入图像。
该算子将输入图像依次转发到输出端。 首先处理输入链路 I[0],然后是链路 I[1]。在处理完链路 I[n-1] 后,算子将再次从 I[0] 处的下一幅图像开始处理,依此类推。 该算子会等待,直到当前选定的输入端出现图像。 因此,无法跳过输入端。 这里不存在“先到先处理”的策略。
如前所述,该算子在特定时间仅转发特定的输入。 在处理一个输入时,所有其他输入都会被阻塞。 如果在被阻塞的输入端出现了图像,请确保对其进行缓冲,直到该图像被处理。 此外,用户必须确保多个输入不是由同一个图像源提供,因为这会导致死锁。 请查阅基础与示例中的 “多路复用两台相机的图像” 以了解有关正确插入的更多信息。
对于每个输入 I[k],该算子提供了一个控制输入 Ins[k]。 这些输入用于控制图像数据是必须被使用并转发到输出端,还是应该被丢弃。 Ins[k] 输入接受二进制数据。 如果在相应图像的第一个像素处提供 1,则该图像将被转发到输出端。 而如果在相应图像的第一个像素处提供 0,则该图像将被处理但会被丢弃。
I[k] 和 Ins[k] 对是同步的,即它们必须由相同的 M 型源通过 O 型算子的任意网络提供源。 有关更多信息,请参阅 “具有多个输入的 M 型算子”。 因此,这些对不需要 SYNC 算子。
该算子的输出帧率是输入帧率的 n 倍。 但是,输出 Parallelism 并未增加。 因此,输出带宽等于输入带宽,同时可能需要传输更多数据。 在算子处理数据之前,可能需要增加输入的 Parallelism。
I[k] 处的所有图像可以具有不同的高度和宽度。 对于空的输入图像,控制输入 Ins[k] 将被忽略。 这些图像将不会被转发到输出端,即会被丢弃。
|
对于无符号输入,输入 Bit Width 的范围是 [1, 64]。 对于有符号输入,范围是 [2, 64]。 对于无符号彩色输入,范围是 [3, 63],对于有符号彩色输入,范围是 [6, 63]。 |
|
|
最大输出图像宽度是所有 I[k] 输入图像宽度的最大值。 |
|
|
最大输出图像高度是所有 I[k] 输入图像高度的最大值。 |
同步和异步输入
- 同步组:I[k] 和 Ins[k]
- 所有组彼此异步。
InsertImage 算子的使用方法见以下示例:
-
示例 - 使用该算子多路复用两台相机的图像。
-
'Color Plane Separation Option 2 - Three Buffers, One DMA'
使用三个图像缓冲区和一个 DMA 算子按顺序输出颜色通道。
-
示例 - 展示如何拆分和合并图像流。向图像附加尾部。
-
示例 - 演示如何使用该算子
-
'A rolling average is applied on a dynamic number of images'
Examples - Rolling Average - Loop
-
'Depth From Focus Using Loops'
Examples - Depth From Focus using Loops




上一页

