专栏算法工具链C++读取图片为NV12格式到input_tensors中

C++读取图片为NV12格式到input_tensors中

爱学习的班马2026-04-15
45
18

J6M

OE:3.7.0

我的模型的输入是6张图的y,uv格式输入,下面是我将读取的图片保存的input_tensors的方式,以及将其保存为bin的方式,这种操作有啥问题吗?为什么我在通过hrt_model_exec infer推理的时候,板端保存的bin给定模型的输入以python版本nv12给定模型的不一样呢?我看python版本的都是16,128这些值,这是我在进行python debug一样的。

附件:
算法工具链
技术深度解析征程6
评论4
0/1000
  • YCJ
    Lv.4

    收到,我这边先看看,有进展和你同步

    2026-04-15
    0
    0
  • YCJ
    Lv.4

    你的意思是cpp和python前处理的结果不一致是吧

    2026-04-15
    0
    5
    • 爱学习的班马回复YCJ:

      对,就是我用这个Cpp保存的bin 结果用hrt_model_exec去推理以及用python保存的bin结果去推理就不一样

      2026-04-15
      0
    • 爱学习的班马回复YCJ:

      python保存的bin也是将图片处理成nv12的格式,然后将输入到模型前的数据保存为Bin文件

      2026-04-15
      0
    • YCJ回复爱学习的班马:
      明白了,这种造成这种情况可能有很多种原因,你可以一一进行排查:
      1. 可能你C++本身的前处理代码和python的就不一致,这个你得好好检查一下
      2.c++用的opencv去做的resize,你得看python端是否也是opencv去做的,如果用其他库做的有可能resize的方式不一样
      由于你只提供了cpp我没法做出判断,如果方便,你可以把hbm、图像示例、python的前处理一起分享给我
      2026-04-15
      0
    • 爱学习的班马回复YCJ:

      好的,我整理一下

      2026-04-15
      0
  • 爱学习的班马
    Lv.3

    python的前处理以及hbm我放到链接了

    2026-04-15
    0
    7
    • YCJ回复爱学习的班马:

      ok收到,有进展和你同步

      2026-04-15
      1
    • YCJ回复爱学习的班马:

      你给我的代码是包含将输入前处理后save成bin的脚本吗,我需要这个,我要看你是如何将图片数据经过处理然后save成bin的

      2026-04-15
      0
    • 爱学习的班马回复YCJ:

      好哒,我找一下发给你,是python版本保存bin的脚本是吧

      2026-04-15
      0
    • YCJ回复爱学习的班马:
      对,要能执行的,你给我一堆函数我也不知道怎么用呀xiaoku_org.svg
      2026-04-15
      0
    • 爱学习的班马回复YCJ:

      欧克,我写一下

      2026-04-15
      0
    • 爱学习的班马回复YCJ:

      我是通过给你的python代码前处理里面这块直接进行保存的
      2026-04-15
      0
    • 爱学习的班马回复爱学习的班马:

      我好像知道问题出在哪里了,我再去写一版试试

      2026-04-15
      1
  • YCJ
    Lv.4

    python端的前处理逻辑是对的吗,你验证过吗

    2026-04-15
    0
    2
    • 爱学习的班马回复YCJ:

      是官网代码的前处理代码,OE包3.7.0,bev_sparse_henet_tinym_nuscenes.py这里面的

      2026-04-15
      0
    • 爱学习的班马回复YCJ:

      怎么验证python端的前处理逻辑呢?我是把python端的前处理后的数据保存为bin,然后通过hrt_model_exec infer推理的,也用.bc通过infer_hbir.py脚本推理过,可视化是对的,应该是对的吧

      2026-04-15
      0