I am after a simple, yet effective, Image Edge Preserving Filter.

I need something which is faster than the Bilateral Filter with similar quality (The Guided Filter isn't good enough).

Are there such algorithms?


Recently I have seen the paper Hui Yin, Yuanhao Gong, Guoping Qiu - Side Window Filtering.

They suggest a really simple filtering framework for Edge Preserving Filter:

enter image description here

Basically, what they suggest is filtering the image with a set of filter based on the Box Filter.
This filter set is basically composed of 8 filters with different orientations and sub sets of the Box Filter (As seen in the figure above).

Once you apply all filters (Which each of them can be implemented very efficiently by all the efficient implementations available for Box Filtering) you chose, on a per pixel basis, the one most similar to the original pixel.
Applying it by iterations, yields very efficient and very good filter.

I took the Lena Image:

enter image description here

I applied 40 iterations of the filter (Link to 75 Iterations):

enter image description here

The full code is available on my StackExchange Signal Processing Q74674 GitHub Repository.

  • $\begingroup$ Huh, nice. I like the idea. Simple and doesn't require a grid which can get expensive for finer quality control. However, I can imagine this approach quickly leading to poor results when we increase the size of filters. Anyway, you get an upvote for teaching me something new. $\endgroup$ Apr 24 '21 at 6:47
  • $\begingroup$ @RakshitKothari, I share your concern. Well. this site is all about learning new stuff, isn't it? I really like Edge Preserving Filters. Usually there are really nice algorithms. $\endgroup$
    – Royi
    Apr 24 '21 at 8:18

The bilateral filter is a slow filter as it has to dynamically adapt its kernel based on local image statistics. To overcome this limitation, researchers came up Bilateral Grids. It performs the same edge-preserving smoothening an order of magnitude faster.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.