c_cpp Hi3559A特征图遍历

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp Hi3559A特征图遍历相关的知识,希望对你有一定的参考价值。

HI_S32 getInputBlobs(HI_RUNTIME_BLOB_S *pstBlobs,HI_FLOAT* pf32InputBlobs){
    HI_U32 u32BatchOffset = pstBlobs->unShape.stWhc.u32Chn * pstBlobs->u32Stride * pstBlobs->unShape.stWhc.u32Height / sizeof(HI_S32);
    HI_U32 u32ChnOffset = pstBlobs->u32Stride * pstBlobs->unShape.stWhc.u32Height / sizeof(HI_S32);
    HI_U32 u32HeightOffset = pstBlobs->u32Stride / sizeof(HI_S32);
    HI_S32 *ps32InputBlobTMP = (HI_S32*)pstBlobs->u64VirAddr;
    HI_U32 u32Offset = 0;
    HZ_PRINTF("b:%d,c:%d,h:%d\n",u32BatchOffset,u32ChnOffset,u32HeightOffset);

    HZ_PRINTF("%d,%d,%d\n",pstBlobs->unShape.stWhc.u32Chn,pstBlobs->unShape.stWhc.u32Height,pstBlobs->unShape.stWhc.u32Width);
    for (int b = 0; b < pstBlobs->u32Num; ++b) {
        for (int c = 0; c < pstBlobs->unShape.stWhc.u32Chn; c++)
        {
            for (int h = 0; h < pstBlobs->unShape.stWhc.u32Height; h++)
            {
                for (int w = 0; w < pstBlobs->unShape.stWhc.u32Width; w++)
                {

                    pf32InputBlobs[u32Offset++] = (HI_FLOAT)(ps32InputBlobTMP[b*u32BatchOffset + c*u32ChnOffset + h*u32HeightOffset+w]) / 4096;
                    //printf("%.3f\n",((HI_FLOAT)(ps32InputBlobTMP[b*u32BatchOffset + c*u32ChnOffset + h*u32HeightOffset+w]) / 4096));
                }
            }

        }
    }

}

以上是关于c_cpp Hi3559A特征图遍历的主要内容,如果未能解决你的问题,请参考以下文章

海思hi3559A开发板(59AV100SCN)视觉应用开发板防雷防静电推荐图

有谁比较过海思Hi3519a与海思Hi3559a的实际isp效果差别?

基于海思3559A方案+Atlas 200 AI模块_边缘计算平台开发及接口定义

HISI3559A 使用yolov3 (VI-VPSS-VO)实时目标检测

HISI3559A 使用yolov3 (VI-VPSS-VO)实时目标检测

c_cpp 计算存储在一维点阵列中的矩阵的特征值和特征向量