栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

[TI TDA4 J721E] TIOVX 常用函数详解 之——vxReplicateNode

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[TI TDA4 J721E] TIOVX 常用函数详解 之——vxReplicateNode

 大家好,首先感谢阅读,如果您也对TDA4相关的开发感兴趣,可以私信联系博主,我们这边有个学习交流群,可以入群和大家一起交流学习。
        也可以加博主WX :AIR_12 我会拉你入群。保持开源精神,共同分享、进步!

创建了开源的Demo演示案例库,后续会把Demo代码放到这个Gitee库里:

 TI/TDA4 Gitee库https://gitee.com/tda4/ti-tda4
        欢迎大家加入,一起维护这个开源库,给更多的朋友提供帮助。


​

一、主要作用:

官方解释如上图。

个人理解:为了简化代码,简化处理相同类型数据的代码量。


二、实例解析
vx_status app_create_graph_scaler(vx_context context, vx_graph graph, ScalerObj *scalerObj)
{
    vx_status status = VX_SUCCESS;

    vx_image input    = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->input.arr[0], 0);
    vx_image output_1 = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->output_1.arr[0], 0);
    vx_image output_2 = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->output_2.arr[0], 0);
    vx_image output_3 = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->output_3.arr[0], 0);

    scalerObj->node = tivxVpacMscScaleNode(graph, input, output_1, output_2, output_3, NULL, NULL);
    vxSetNodeTarget(scalerObj->node, VX_TARGET_STRING, TIVX_TARGET_VPAC_MSC1);
    vxSetReferenceName((vx_reference)scalerObj->node, "ScalerNode");

    vx_bool replicate[] = { vx_true_e, vx_true_e, vx_true_e, vx_true_e, vx_false_e, vx_false_e};
    vxReplicateNode(graph, scalerObj->node, replicate, 6);

    vxReleaseImage(&input);
    vxReleaseImage(&output_1);
    vxReleaseImage(&output_2);
    vxReleaseImage(&output_3);

    return status;
}
1、vx_bool replicate[] 的作用

        这个数组中的值,代表在调用vxReplicateNode创建和scalerObj->node相同属性节点的时候,对应位置上的参数是否变化的标志。

        如果是true:则表示在创建时,这个值是根据参数实时变化的。

        如果是false:则标示在创建时,这个值是和创建scalerObj->node时的参数保持一致的。

如下:前面四个参数 input、output1、output2、output3是变化的,后面两个Null是不变的。

tivxVpacMscScaleNode(graph, input, output_1, output_2, output_3, NULL, NULL);
replicate[] = { vx_true_e, vx_true_e, vx_true_e, vx_true_e, vx_false_e,vx_false_e};

注意:graph不属于创建node的参数!

2、vxReplicateNode创建的node数量

调用vxReplicateNode创建node数量是根据输入的array内具有多少个成员决定的。

    vx_image input    = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->input.arr[0], 0);

这里的输入array ,就是scalerObj->input.arr[0]。

如果scalerObj->input.arr[0]里面有8个成员,则调用vxReplicateNode以后,创建的node 是 8-1 个node,因为已经使用tivxVpacMscScaleNode创建了一个node 了。

PS:如果对objectArray不了解和不熟练的同学,可以参考这个博客。

[TI TDA4 J721E] TIOVX 常用函数详解 之——“ObjectArray”_AIRKernel的博客-CSDN博客


【声明】
【欢迎转载转发,请注明出处。原创比较辛苦,请尊重原创,祝大家学习愉快!】
【博主专注嵌入式开发,具有多年嵌入式软、硬件开发经验,欢迎大家学习交流!】
【如有嵌入式相关项目需求,欢迎私信】

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998823.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号