Shadertoy-Shaders/Image-Filtering/Optimized-Bilateral-Filter/README.md

14 lines
900 B
Markdown
Raw Normal View History

2023-06-03 14:58:20 +00:00
# Optimized-Bilateral-Filter
2023-06-30 11:56:07 +00:00
![overview.png](https://git.teridax.de/teridax/Shadertoy-Shaders/raw/branch/main/Image-Filtering/Optimized-Bilateral-Filter/overview.png)
In part 1 you can the example image with noise applied to it. In sector 2 you can see the denoised image and in sector 3 is the original unfiltered image.
2023-06-03 14:58:20 +00:00
A biliteral filter is essentially a gaussian blur filter with an extra weight applied per pixel.
This weight is a the luminance range between the target pixel to filter and the sourounding pixels passed into
a gaussian weight function.
# Optimization
Instead of applying a very costly gaussian blur filter we can optimize it by using a tent blur filter instead.
This allows to speed up the performance by replacing the gaussian weight function with a tent blur kernel.
Additionally we can optimize the squareroot of the gaussian weight function for the luminance range away.