2D Convolution (image processing)
An image processing operation that is used to spatially filter an
image.
A convolution is defined by a kernel that is a small matrix of fixed
numbers (coefficients).
The size of the kernel, the numbers within it, and a single normalizer
value define the operation that is applied to the image.
The kernel is applied to the image by placing the kernel over the
image to be convolved and sliding it around to center it over every pixel
in the original image. At each placement the numbers (pixel values) from
the original image are multiplied by the kernel number that is currently
aligned above it.
The sum of all these products is tabulated and divided by the kernel's
normalizer. This result is placed into the new image at the position of
the kernel's center. The kernel is translated to the next pixel position
and the process repeats until all image pixels have been processed.
As an example, a 3x3 kernel holding all 1's with a normalizer of
9 performs a neighborhood averaging operation. Each pixel in the new image
is the average of its 9 neighbors from the original.
In a raster type image, only one Kernel coefficient operates during
a single pass; after 9 passes, all 3x3 coefficients will have operated
on the image.
