Small speedup for dehaze, closes #4944

This commit is contained in:
heckflosse
2018-11-08 14:35:03 +01:00
parent e1742c812e
commit 2502312242

View File

@@ -197,23 +197,16 @@ void extract_channels(Imagefloat *img, array2D<float> &r, array2D<float> &g, arr
const int W = img->getWidth();
const int H = img->getHeight();
#ifdef _OPENMP
#pragma omp parallel for if (multithread)
#endif
for (int y = 0; y < H; ++y) {
for (int x = 0; x < W; ++x) {
r[y][x] = img->r(y, x);
g[y][x] = img->g(y, x);
b[y][x] = img->b(y, x);
}
}
array2D<float> imgR(W, H, img->r.ptrs, ARRAY2D_BYREFERENCE);
guidedFilter(imgR, imgR, r, radius, epsilon, multithread);
guidedFilter(r, r, r, radius, epsilon, multithread);
guidedFilter(g, g, g, radius, epsilon, multithread);
guidedFilter(b, b, b, radius, epsilon, multithread);
array2D<float> imgG(W, H, img->g.ptrs, ARRAY2D_BYREFERENCE);
guidedFilter(imgG, imgG, g, radius, epsilon, multithread);
array2D<float> imgB(W, H, img->b.ptrs, ARRAY2D_BYREFERENCE);
guidedFilter(imgB, imgB, b, radius, epsilon, multithread);
}
} // namespace