C# Class AForge.Imaging.Filters.MoveTowards

Move towards filter.

The result of this filter is an image, which is based on source image, but updated in the way to decrease diffirence with overlay image - source image is moved towards overlay image. The update equation is defined in the next way: res = src + Min( Abs( ovr - src ), step ) * Sign( ovr - src ).

The bigger is step size value the more resulting image will look like overlay image. For example, in the case if step size is equal to 255 (or 65535 for images with 16 bits per channel), the resulting image will be equal to overlay image regardless of source image's pixel values. In the case if step size is set to 1, the resulting image will very little differ from the source image. But, in the case if the filter is applied repeatedly to the resulting image again and again, it will become equal to overlay image in maximum 255 (65535 for images with 16 bits per channel) iterations.

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

Sample usage:

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

Source image:

Overlay image:

Result image:

Inheritance: BaseInPlaceFilter2
Show file Open project: holisticware-admin/MonoVersal.AForgeNET Class Usage Examples

Public Methods

Method Description
MoveTowards ( ) : System

Initializes a new instance of the MoveTowards class

MoveTowards ( Bitmap overlayImage ) : System

Initializes a new instance of the MoveTowards class.

MoveTowards ( Bitmap overlayImage, int stepSize ) : System

Initializes a new instance of the MoveTowards class.

MoveTowards ( UnmanagedImage unmanagedOverlayImage ) : System

Initializes a new instance of the MoveTowards class.

MoveTowards ( UnmanagedImage unmanagedOverlayImage, int stepSize ) : System

Initializes a new instance of the MoveTowards class.

Protected Methods

Method Description
ProcessFilter ( UnmanagedImage image, UnmanagedImage overlay ) : void

Process the filter on the specified image.

Private Methods

Method Description
InitFormatTranslations ( ) : void

Method Details

MoveTowards() public method

Initializes a new instance of the MoveTowards class
public MoveTowards ( ) : System
return System

MoveTowards() public method

Initializes a new instance of the MoveTowards class.
public MoveTowards ( Bitmap overlayImage ) : System
overlayImage System.Drawing.Bitmap Overlay image.
return System

MoveTowards() public method

Initializes a new instance of the MoveTowards class.
public MoveTowards ( Bitmap overlayImage, int stepSize ) : System
overlayImage System.Drawing.Bitmap Overlay image.
stepSize int Step size.
return System

MoveTowards() public method

Initializes a new instance of the MoveTowards class.
public MoveTowards ( UnmanagedImage unmanagedOverlayImage ) : System
unmanagedOverlayImage UnmanagedImage Unmanaged overlay image.
return System

MoveTowards() public method

Initializes a new instance of the MoveTowards class.
public MoveTowards ( UnmanagedImage unmanagedOverlayImage, int stepSize ) : System
unmanagedOverlayImage UnmanagedImage Unmanaged overlay image.
stepSize int Step size.
return System

ProcessFilter() protected method

Process the filter on the specified image.
protected ProcessFilter ( UnmanagedImage image, UnmanagedImage overlay ) : void
image UnmanagedImage Source image data.
overlay UnmanagedImage Overlay image data.
return void