Previous | Next --- Slide 34 of 46
Back to Lecture Thumbnails

Is f(x) a spatial weight or range weight in our bilateral filter function?

Wiki said "f(x) is the range kernel for smoothing differences in intensities.", which means f(x) should indicate range weight(input pixel intensity) and G(x) should indicate the spatial filter. Also pics on next slide shows that G(2nd pic in first row) is the spatial weight, and f(3rd pic in first row) is the range(intensity) weight.

But the last bullet point on this slide said that f(x) is the spatial weight. That confused me a lot. Thanks.


G(i,j) is a 2D gaussian filter, just like we talked about earlier in the lecture when we discussed the use of a gaussian filter to blur an image. The weight of the filter at a particular offset (i,j) from the origin is determined only by that spatial offset.

In this slide, f(x) is a 1D function that accepts has input the difference in color value stored at pixel (x,y) and pixel (x-i, y-j) in the input image. Therefore f(x) is entirely dependent on these differences, and not on the spatial relationship between (x,y) and (x-i, y-j).

By multiplying f(x)g(i,j) the bilateral filter acts to almost perform a typical convolution, but modulates the value of the spatial kernel by intensity dependent value.

The diagrams on the next slide should help illustrate this.