boxfilter

输入为积分图,输出为均值

inline void pbgBoxFilter(zfloat_t* aver, const uint32_t *pSum, zfloat_t c, int32_t sumStride,
                                      int32_t rdStride, int32_t ldStride, int32_t ruStride, int32_t luStride)
{
    int32_t blkWidth = BLK_DOWN_SIZE;
    const uint32_t* pSumRow = pSum;
    int32_t   idx = 0;

    for (int32_t h = 0; h < blkWidth; h++)
    {
        uint32_t winSum = 0;
        for (int32_t w = 0; w < blkWidth; w++)
        {
            winSum  =   pSumRow[rdStride + w] - pSumRow[ruStride + w]
                      - pSumRow[ldStride + w] + pSumRow[luStride + w];
            aver[idx] = winSum * c;
            idx ++;
        }
        pSumRow += sumStride;
    }
}

猜你喜欢

转载自blog.csdn.net/myzhouwang/article/details/83650386
今日推荐