Computing Output Pixel Values

The Discrete Convolution tool supports only images and kernels comprising pixels with integer values. The figure below shows the effect of computing an output pixel value using an 8-bit kernel and 8-bit input image.

Computing the output pixel value

Note: The kernel is reflected before the values are multiplied. Since the kernel shown in the figure above is symmetrical, the reflection has no effect.

The value produced by simply multiplying the kernel pixel values by the input image pixel values then summing the results is larger than the largest value that can be stored as a pixel value.

In order to create usable output images and compute output images with maximum accuracy, the Discrete Convolution tool’s default behavior is to normalize the output pixel values by automatically prescaling the kernel pixel values and normalizing the output pixel values. You can override this behavior and specify your own normalization factor.