Guided Image Filtering

Kaiming He
Microsoft Research


  • new - Guided Filter is included in Wikipedia (url) as a representative edge-preserving smoothing technique.

  • new - Guided Filter is included in official Matlab 2014 (url) as a new function.

  • new - Guided Filter is included in official opencv (url) as a new function.


In this paper we propose a novel explicit image filter called guided filter. Derived from a local linear model, the guided filter computes the filtering output by considering the content of a guidance image, which can be the input image itself or another different image. The guided filter can be used as an edge-preserving smoothing operator like the popular bilateral filter, but has better behaviors near edges. The guided filter is also a more generic concept beyond smoothing: it can transfer the structures of the guidance image to the filtering output, enabling new filtering applications like dehazing and guided feathering. Moreover, the guided filter naturally has a fast and non-approximate linear time algorithm, regardless of the kernel size and the intensity range. Currently it is one of the fastest edge-preserving filters. Experiments show that the guided filter is both effective and efficient in a great variety of computer vision and computer graphics applications including edge-aware smoothing, detail enhancement, HDR compression, image matting/feathering, dehazing, joint upsampling, etc.


A personal comment: Try the guided filter in any situation when the bilateral filter works well. The guided filter is much faster and sometimes (though not always) works even better.


Related Publications:

Other materials:

See also:

  • Guided Filter in Wikipedia (url)

  • Guided Filter in official Matlab 2014 as a new function (url)