• averaging the color values of neighboring pixels
  • The spread, i.e. the amount of smoothing/blur is determined by the standard deviation σ of the Gaussian distribution used in the process.
    • scale selection: selecting the required amount of scale - less important the scale, more the smoothing
    • higher the standard deviation of the distribution, less important the center pixel becomes and so more blurry the image becomes
  • The image is convolved with a Gaussian kernel, which is a matrix representing the Gaussian Distribution.
  • Each pixel in the image is replaced with a weighted average of its neighboring pixels, with the weights determined by the Gaussian kernel.
  • Gaussian smoothing is also decomposable

    Decomposable Kernels

    • symmetric kernels are decomposable into 2 linear convolutions
    • if the kernel 2D matrix can be written as the outer product of 2 vectors
      • n x n = n x 1 * 1 x n
      • convolving with nxn kernel is the same as 2 convolutions with n x 1 and 1 x n kernels
      • such convolutions are computationally cheaper
        • 2n multiplications instead of n2 per pixel
    Link to original
  • g(a, b) = A exp(-(a2 + b2 )/2σ2) = A * (exp(-(a2 )/2σ2)) * (exp(-(b2 )/2σ2))

Why Gaussian Smoothing?

  • Anti aliasing - blurring edges for realism
  • smoothing before sub-sampling
  • decomposable kernel (faster)
  • smoothing before edge detection (for scale selection)