OpenVX 图构建与使用指南
1. 虚拟对象优化
在构建 OpenVX 图时,若没有实际使用中间对象的需求,建议将其设置为虚拟对象。这样做可以让 OpenVX 实现更高效地执行图。例如,在某些情况下,OpenVX 实现可以将两个节点合并为一个操作,在内部寄存器中计算差值并进行阈值处理,然后存储阈值处理后的结果。虽然 OpenVX 实现并非必须这样做,但构建图并正确使用虚拟对象能实现这种优化,而传统的“立即模式” API 则无法做到。
2. 图验证与执行
2.1 图验证的作用
图构建代码本身并不进行图像或视觉处理,只是创建了一个描述计算的抽象数据结构。在执行前,需要通过 vxVerifyGraph 函数对图进行验证和定制,使其适合目标硬件。以下是调用 vxVerifyGraph 并检查返回值的代码示例:
status = vxVerifyGraph(g);
if (status != VX_SUCCESS) { /* Something went wrong */ }
else { /* We’re ready to execute */ }
2.2 图验证规则
在构建 OpenVX 图时,需要遵循两个重要规则:
- 单写入者规则 :一个数据对象在给定图中只能被写入一次。这是为了避免图执行时结果的歧义。例如,以下代码创建了一个非法图:
vx_n
超级会员免费看
订阅专栏 解锁全文
18

被折叠的 条评论
为什么被折叠?



