Difference filter - get the difference between overlay and source images.

Namespace:  AForge.Imaging.Filters
Assembly:  AForge.Imaging (in AForge.Imaging.dll) Version: (


public sealed class Difference : BaseInPlaceFilter2


The difference filter takes two images (source and overlay images) of the same size and pixel format and produces an image, where each pixel equals to absolute difference between corresponding pixels from provided images.

The filter accepts 8 and 16 bpp grayscale images and 24, 32, 48 and 64 bpp color images for processing.

Note:In the case if images with alpha channel are used (32 or 64 bpp), visualization of the result image may seem a bit unexpected - most probably nothing will be seen (in the case if image is displayed according to its alpha channel). This may be caused by the fact that after differencing the entire alpha channel will be zeroed (zero difference between alpha channels), what means that the resulting image will be 100% transparent.

Sample usage:

// create filter
Difference filter = new Difference( overlayImage );
// apply the filter
Bitmap resultImage = filter.Apply( sourceImage );

Source image:

Overlay image:

Result image:

Inheritance Hierarchy

See Also