gjhave

gjhave

0个粉丝

5

问答

0

专栏

0

资料

gjhave  发布于  2025-09-12 14:12:21
采纳率 40%
5个问答
326

hi3519dv500 vgs画框报错

各位大神们,请帮忙看看,为什么我的vgs画框一直会报错,如下:

[level]:Error,[func]:sample_svp_npu_acl_frame_proc [line]:413 [info]:ss_mpi_vgs_add_cover_task fail, Error(0xa02d8007)
 [level]:Error,[func]:sample_svp_npu_acl_vdec_to_vo [line]:492 [info]:Error(0xa02d8007),sample_svp_npu_acl_frame_proc failed!
 [level]:Error,[func]:sample_svp_npu_acl_frame_proc [line]:413 [info]:ss_mpi_vgs_add_cover_task fail, Error(0xa02d8007)
 [level]:Error,[func]:sample_svp_npu_acl_vdec_to_vo [line]:492 [info]:Error(0xa02d8007),sample_svp_npu_acl_frame_proc failed!
 [level]:Error,[func]:sample_svp_npu_acl_frame_proc [line]:413 [info]:ss_mpi_vgs_add_cover_task fail, Error(0xa02d8007)
 [level]:Error,[func]:sample_svp_npu_acl_vdec_to_vo [line]:492 [info]:Error(0xa02d8007),sample_svp_npu_acl_frame_proc failed!

这部分代码如下:

    Box *boxes = NULL;
    td_u32 box_num = yolov11_postprocess_eigen(data,       // ONNX输出数据 [1, cls_num+4, 8400]
                                                1,         // 类别数量
                                                2000,   //anchor数量
                                                640,     // 模型输入宽度
                                                640,    // 模型输入高度
                                                base_frame->video_frame.width,  // 原始图像宽度
                                                base_frame->video_frame.height, // 原始图像高度
                                                0.9, // 置信度阈值
                                                0.45, // NMS阈值
                                                &boxes     // 输出检测结果
                                            );
    ot_cover covers[100];
     if (box_num > 0) {
        if(box_num>MAX_RECT_NUM)
            box_num = MAX_RECT_NUM;
        for(td_u32 i = 0; i < box_num; i++) {
            covers[i].color = 0x0000FF;
            covers[i].type = OT_COVER_QUAD;
            covers[i].quad_attr.is_solid = TD_FALSE;
            covers[i].quad_attr.thick = 2;
            covers[i].quad_attr.point[0] = (ot_point){(td_s32)boxes[i].x1, (td_s32)boxes[i].y1};
            covers[i].quad_attr.point[1] = (ot_point){(td_s32)boxes[i].x2, (td_s32)boxes[i].y1};
            covers[i].quad_attr.point[2] = (ot_point){(td_s32)boxes[i].x2, (td_s32)boxes[i].y2};
            covers[i].quad_attr.point[3] = (ot_point){(td_s32)boxes[i].x1, (td_s32)boxes[i].y2};
        }
        free(boxes);
        boxes = NULL;
        ot_vgs_task_attr vgs_task_attr = {0};
        ot_vgs_handle h_handle = -1;
        sample_svp_check_exps_return(base_frame == TD_NULL, ret, SAMPLE_SVP_ERR_LEVEL_ERROR, "frame_info can't be null\n");
        ret = ss_mpi_vgs_begin_job(&h_handle);
        sample_svp_check_exps_return(ret != TD_SUCCESS, ret, SAMPLE_SVP_ERR_LEVEL_ERROR,
            "Vgs begin job fail,Error(%#x)\n", ret);
        ret = memcpy_s(&vgs_task_attr.img_out, sizeof(ot_video_frame_info), base_frame, sizeof(ot_video_frame_info));
        sample_svp_check_exps_goto(ret != EOK, fail, SAMPLE_SVP_ERR_LEVEL_ERROR, "get img_out failed\n");
        ret = memcpy_s(&vgs_task_attr.img_in, sizeof(ot_video_frame_info), base_frame, sizeof(ot_video_frame_info));
        sample_svp_check_exps_goto(ret != EOK, fail, SAMPLE_SVP_ERR_LEVEL_ERROR, "get img_in failed\n");
        ret = ss_mpi_vgs_add_cover_task(h_handle, &vgs_task_attr, covers, box_num);
        sample_svp_check_exps_goto(ret != TD_SUCCESS, fail, SAMPLE_SVP_ERR_LEVEL_ERROR,
            "ss_mpi_vgs_add_cover_task fail, Error(%#x)\n", ret);
        ret = ss_mpi_vgs_end_job(h_handle);
        sample_svp_check_exps_goto(ret != TD_SUCCESS, fail, SAMPLE_SVP_ERR_LEVEL_ERROR,
            "ss_mpi_vgs_end_job fail, Error(%#x)\n", ret);
fail:
        ss_mpi_vgs_cancel_job(h_handle)
    };
我来回答
回答4个
时间排序
认可量排序

UncleRoderick

59个粉丝

16

问答

4

专栏

20

资料

UncleRoderick 2025-09-12 14:31:58
认可1
易百纳技术社区该回答已被题主采纳为最佳答案

cat /dev/logmpp看看报错信息,可能是坐标信息不满足VGS的要求报错的

gjhave
gjhave   回复   UncleRoderick  2025-09-12 14:39:49
1

感谢大佬支持,illegal param: point(x:1833,y:1058), x range is [-16384, 16384], y range is [-8192, 8192], should align to 2,坐标值必须是偶数。

UncleRoderick
UncleRoderick   回复   gjhave  2025-09-12 14:45:53
1

ifndef align_up

define align_up(x, a) ((((x) + ((a) - 1)) / (a)) * (a))

endif

可以设计一个类似这种宏,对坐标信息进行2对齐处理

随风

2个粉丝

4

问答

0

专栏

2

资料

随风 2025-09-12 21:42:56
认可1

遇到同意的问题,学习了

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区