Image Convolution

From Math Images
Revision as of 12:42, 14 August 2009 by Slombardi1 (talk | contribs)
Jump to: navigation, search
Inprogress.png
Image Convolution
Field: Other
Image Created By: [[Author:| ]]

Image Convolution

Image Convolution is the process of applying a filter to images


Basic Description

Images can be convolved by applying a function to each pixel of the image. Usually, this function is precalculated inside a small two dimensional array called a kernel.

A More Mathematical Explanation

Most generally, the convolution of two functions f and g is defined as the following:

'"`UNIQ--mat [...]

Most generally, the convolution of two functions f and g is defined as the following:

(f * g)(x,y) = \sum_{v=-\infty}^{\infty} \sum_{u=-\infty}^{\infty} f(x,y) g(x - u, y - v)

In this formula f(x,y) is a function that represents the image, and g(x,y) is the kernel. In practical situations, the kernel is only defined over a finite set of points, so we can modify our definition as follows:

(f * g)(x,y) = \sum_{v=y-h}^{y+h} \sum_{u=x-w}^{x+w} f(x,y) g(x - u, y - v)

Where 2w + 1 is the width of the kernel and 2h + 1 is the height of the kernel. In this example g is only defined over the points [-w, w] \times [-h, h]. To convolve an image, this formula is evaluated at every point in the image. The following is pseudocode to convolve an image:

for y from 0 to imageHeight
   for x from 0 to imageWidth
      sum := 0;
      for v from y - kernelHeight to y + kernelHeight
         for u from x - kernelWidth to x + kernelWidth
            sum := sum + f( x, y ) * g( x - u, y - v );
      h( x, y ) := sum;




Teaching Materials

There are currently no teaching materials for this page. Add teaching materials.









If you are able, please consider adding to or editing this page!


Have questions about the image or the explanations on this page?
Leave a message on the discussion page by clicking the 'discussion' tab at the top of this image page.


[[Category:]]