How does an edge preserving smooth work? This is an image filter which blurs the image without messing up the edges.
My searches on Google have turned up only academic papers discussing mathematics that are way beyond my comprehension.
Can you provide some pseudocode or a link to a simple explanation?
First of all, there’s a lot of math in doing that, so if you don’t understand the mathematical equations you found, I’ll try to explain it in simple terms:
Smoothing in general is done by doing some kind weighted average of the adjacent pixels.
Because this is basically math, and pictures are basically 3D matrices, you can achieve smoothing efficiently with basic matrix mathematical manipulations.
Now to get edge detection you just need to find the difference between adjacent pixels (or if it’s a wide edge, you can set a maximal width), which again is just the gradient of the matrix. (Multi-dimensial Derivative).
So, even if you do it naively, you could use the gradient as a weight factor for the weighting the average of pixel color.
I assume that most of the mathematical equations you’ll find use the gradient at some level, but just make it more efficient (single mathematical formula in oppose to many loops)