Spatial convolution

Applet: Katie Dektar

Text: Marc Levoy

Technical assistance: Andrew Adams


Convolution is an operation on two functions f and g, which produces a third function that can be interpreted as a modified ("filtered") version of f. In this interpretation we call g the filter. If f is defined on a spatial variable like x rather than a time variable like t, we call the operation spatial convolution. Convolution lies at the heart of any physical device or computational procedure that performs smoothing or sharpening. Applied to two dimensional functions like images, it's also useful for edge finding, feature detection, motion detection, image matching, and countless other tasks. Formally, for functions f(x) and g(x) of a continuous variable x, convolution is defined as: