We present improved separable implimentation for edge-preserving filters of bilateral filter, non-local means filter, and dual bilateral filter. Computational order is O(r), where r is a kernel redius.
The link is our code on Github. The implimentation is written in C++ with SIMD vectorization (SSE) and multi-threading. The code requireds OpenCV.
@inproceedings{fukushima2015icassp,
author = {N. Fukushima and S. Fujita and Y. Ishibashi},
title = {Switching Dual Kernels for Separable Edge-Preserving Filtering},
booktitle = {IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
year = {2015},
}