Operator Library: Synchronization
TxImageLink运算符允许在设计中的任何位置向RxImageLink运算符发送图像。这两个运算符无需链路即可建立连接。
通过在 TxImageLink 和 RxImageLink 算子之间传输图像, 可以在设计中实现循环。
![]() |
循环需要数据缓冲策略 |
|---|---|
|
TxImageLink 和 RxImageLink 算子 不缓冲数据。因此,在实现循环时,您需要特别注意数据缓冲,以避免 死锁。 |
支持的所有图像格式VisualApplets 一般情况下都受支持。图像格式保持不变,即 RxImageLink 的输出格式与TxImageLink接收的输入格式相同。
参数Channel_ID定义了用于寻址接收RxImageLink操作符的通道 ID。该参数值必须唯一,且不得被设计中的任何其他 TxImageLink 操作符使用。
设计中必须存在一个RxImageLink操作符,它使用相同的通道 ID 并接收图像数据。
设计中的每个 TxImageLink 算子都通过一个通道 ID 与恰好一个 RxImageLink 算子相连。 在 VisualApplets 的 Resource Dialog 中,您可以看到每个 TxImageLink-RxImageLink 连接都使用了一个 ImageChannel 资源。 资源 ImageChannel 允许控制单个 TxImageLink 算子到单个 RxImageLink 算子的分配。 关于可用 ImageChannel 资源的数量 (这也定义了设计中允许的最大 TxImageLink 和 RxImageLink 算子数量), 请参阅 Device Resources。

![]() |
循环中链路格式的参数化 |
|---|---|
|
一旦打开链路属性对话框, “自动更新”功能就会根据算子链的配置调整链路属性(例如 Bit Width 或图像尺寸)。TxImageLink 的输入格式 始终定义了 RxImageLink 的输出格式(100% 自动一致性)。 因此,当您使用算子 TxImageLink 和 RxImageLink 来实现循环时,您需要特别注意链路格式的参数化。 示例 错误实现,链路参数 Bit Width 的值 在循环的每一次迭代中都会变大: ![]() 正确实现,算子 CastBitWidth 在循环的每一次迭代中 将链路参数 Bit Width 的值 改回原始值: ![]() |
![]() |
同步不同分层设计级别之间的通道 |
|---|---|
|
如果使用 TxImageLink/RxImageLink 对在不同的层级设计之间建立数据传输通道,则此连接将被视为 M 操作符。因此,您可能需要实现额外的同步元件(而直接连接则不需要)。 |
以下示例展示了 TxImageLink 运算符的用法:
-
'使用 ImageInjector 加载 Test Images 的功能示例 '
示例 - 演示如何使用该算子
-
示例 - 滚动平均值 - 循环
-
'Depth From Focus Using Loops'
Examples - 使用循环的深度自聚焦(Depth From Focus Using Loops)

![[注意]](../common/images/admon/caution.png)
![[重要]](../common/images/admon/important.png)



上一页

