Recursive bilateral filtering (developed by Qingxiong Yang) is pretty fast compared with most edge-preserving filtering methods - computational complexity is linear in both input size and dimensionality: - takes about 43 ms to process a one megapixel color image (i7 1.8GHz & 4GB mem) - about 18x faster than *Fast high-dimensional filtering using the permutohedral lattice* - about 86x faster than *Gaussian kd-trees for fast high-dimensional filtering* ## Results

Original Image


OpenCV's BF (896ms)


RecursiveBF (18ms)


Gaussian Blur


Median Blur

For more details of the algorithm, please refer to the original paper @inproceedings{yang2012recursive, title={Recursive bilateral filtering}, author={Yang, Qingxiong}, booktitle={European Conference on Computer Vision}, pages={399--413}, year={2012}, organization={Springer} } Optionally, you can cite this repo @misc{ming2017recursive, author = {Ming Yang}, title = {A lightweight C++ library for recursive bilateral filtering}, year = {2017}, publisher = {GitHub}, journal = {GitHub repository}, howpublished = {\url{https://github.com/ufoym/RecursiveBF}} }