小编Fre*_*red的帖子

使用 SIMD 优化图像大小调整(最近方法)

我知道调整图像大小的“最近”方法是最快的方法。尽管如此,我仍在寻找加快速度的方法。明显的步骤是预先计算索引:

void CalcIndex(int sizeS, int sizeD, int colors, int* idx)
{
    float scale = (float)sizeS / sizeD;
    for (size_t i = 0; i < sizeD; ++i)
    {
        int index = (int)::floor((i + 0.5f) * scale)
        idx[i] = Min(Max(index, 0), sizeS - 1) * colors;
    }
}

template<int colors> inline void CopyPixel(const uint8_t* src, uint8_t* dst)
{
    for (int i = 0; i < colors; ++i)
        dst[i] = src[i];
}

template<int colors> void Resize(const uint8_t* src, int srcW, int srcH, 
    uint8_t* …
Run Code Online (Sandbox Code Playgroud)

c++ image-processing simd simd-library synet

5
推荐指数
1
解决办法
1203
查看次数

标签 统计

c++ ×1

image-processing ×1

simd ×1

simd-library ×1

synet ×1