This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-J721S2:修改节点输入参数后出现错误消息

Guru**** 2331900 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1517405/processor-sdk-j721s2-error-message-after-modifying-node-input-parameters

器件型号:PROCESSOR-SDK-J721S2

工具/软件:

尊敬的 TI 专家:

   我将 PixelVizNode 的第三个参数从`vx_image in_img`更改为`vx_user_data_object od_data`、错误消息如下所示:

    

   要传递到此处节点的 od_data 存储我的`BYD_INTERFACES_cam_od_list`(详情请参阅 pdf)、因此我怀疑将自定义结构`BYD_INTERFACES_cam_od_list`转换为`vx_user_data_object od_tensor`的步骤中存在问题。

   以下 pdf 是我修改的部分、请帮助我找到问题。

    更改 part.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Wang:

    您是否成功更改了文件$(psdkra)/vision_apps/kernels/img_proc/host/tivx_pixel_visualization_host.c 中的函数 tivxAddKernelPixelViz ()

    此外、您还必须修改目标内核$(psdkra)/vision_apps/kernels/img_proc/c66/vx_pixel_visualization_target.c

    必须更改 kernel_process 函数中使用此参数的位置、默认情况下、该参数将是 type_casted 到映像类型。

    必须对其进行修改才能处理 USER_DATA_OBJECT 而不是图像对象。

    此致、
    Gokul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢您的答复! 我修改了你提到的部分,但仍然得到错误`vx_zone_error :[vxReplicateNode:2020]无效的引用类型`.  

     `下面错误屏幕截图的日志,我们可以看到我已成功执行了` tivxAddKernelPixelViz `部分` tivx_pixel_visualization_host.c`,并且错误在 `app_create_graph_post_proc.c `的` vxReplicateNode 中报告。

    以下是我修改的零件的屏幕截图。 请检查是否有任何遗漏或错误。非常感谢您的评论!

    1.app_post_proc_moudle.c  

    2. kernels/img_proc/host/tivx_pixel_visualization_host.c

    3. kernels/img_proc/host/tivx_img_proc_node_api.c

    4. kernels/img_proc/c66/vx_pixel_visualization_target.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Wang:

    如果要复制参数、则它应该是对象数组的元素。 因此、应创建 user_data_object 的 object_array、然后获取对象数组的第0个元素并将其提供给节点。

    请参阅上一种情况、其中 input_image 是从 input_image_arr 给出的、类似地、您为 user_data_object 创建的。

    此致、
    Gokul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢您的答复!  

    我理解您的意思、但我的数据存储在自定义结构`BYD_INTERFACES_cam_od_list`中(如下图所示)、我不知道如何将其放入 vx_object_array 中。

    我搜索了该文档并尝试了以下方法(如下图所示)、但仍然出现错误 `vx_zone_error:[vxReplicateNode:2020]无效引用类型`。

    是否有一个将数据从自定义结构放入 vx_object_array 或 vx_array 的简单示例?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Wang:

    您可以看到 postProcObj->output_image_arr creation 部分作为参考、
    创建 vx_object_array 类型的 postProcObj->vx_od_data_arr、而不是创建 postProcObj->vx_od_data_arr
    然后在片段之后、

    vx_user_data_object od_data = vxCreateUserDataObject( context, "some_name", sizeof(byd_itnerfaces_cam_od_list), NULL);
    postProcObj->vx_od_data_arr = vxCreateObjectArray(context, (vx_reference)od_data, NUM_CH);
    status = vxReleaseUserDataObject(&od_data);
    

    然后在 app_create_graph 函数中
    对 vx_od_data_arr 执行类似的操作

    此致、
    Gokul