您好!
我正在尝试创建一个用例、可以使用 BAM 框架计算某个帧的积分图像、但我有一些用例
实施问题。 我有代码可用于3个节点(source->compute -> sink),计算节点只有一个输入和一个输出。
我想更改代码并在计算节点中添加第二个输入缓冲区、该缓冲区将存储积分映像的结果、以便与配合使用
以正确计算整个图像的积分图像。
我为添加第二个输入缓冲区所做的更改是:
1)更改 BAM_EdgeParams EDGELIST。
2)更改定义以支持第二个块(2个输入块2个内部块)。
3)初始化 internalBlock[Block2_Params_IDX]参数。 (我不确定该块的 internalBlock[Block2_Params_IDX].size 应该是多少)
对于另一个块,我从 2 * vcop_<...>_count()自动获取它。
4)在 VisionSdk 级别中、我更改了 pAlgHandle 参数以支持第二个缓冲器(针对我的用例结构)。
我在 返回 NULL 的函数 Algivision_create 中得到一个断言错误。
如果我将输入块恢复为1、将内部块恢复为1 、则不会出现此错误。 但我的用例残桩
最后两条消息为:
[EVE1 ] 18.266516 s: 系统:堆= LOCAL_L2 @ 0x40020000、总大小= 24576B (24KB)、可用大小= 22244B (21KB)
[EVE1 ] 18.267065 s: 系统:堆= LOCAL_DDR @ 0x00000000、总大小= 262144B (256KB)、可用大小= 235080 B (229KB)
如果我将 ivision 的 numBuf 恢复为1、则我完全没有错误、并且算法工作正常(但我需要2个缓冲区、因此它不执行我想要的操作)
您能解释一下如何向计算节点添加第二个输入缓冲器并避免此错误吗?
BR、
Theodore