C# Class Accord.Imaging.ColorReduction.JarvisJudiceNinkeColorDithering

Color dithering using Jarvis, Judice and Ninke error diffusion.

The image processing routine represents color dithering algorithm, which is based on error diffusion dithering with Jarvis-Judice-Ninke coefficients. Error is diffused on 12 neighbor pixels with next coefficients:

| * | 7 | 5 | | 3 | 5 | 7 | 5 | 3 | | 1 | 3 | 5 | 3 | 1 | / 48

The image processing routine accepts 24/32 bpp color images for processing. As a result this routine produces 4 bpp or 8 bpp indexed image, which depends on size of the specified color table - 4 bpp result for color tables with 16 colors or less; 8 bpp result for larger color tables.

Sample usage:

// create color image quantization routine ColorImageQuantizer ciq = new ColorImageQuantizer( new MedianCutQuantizer( ) ); // create 32 colors table Color[] colorTable = ciq.CalculatePalette( image, 32 ); // create dithering routine JarvisJudiceNinkeColorDithering dithering = new JarvisJudiceNinkeColorDithering( ); dithering.ColorTable = colorTable; // apply the dithering routine Bitmap newImage = dithering.Apply( image );

Initial image:

Result image:

Inheritance: ColorErrorDiffusionToAdjacentNeighbors
Show file Open project: accord-net/framework

Public Methods

Method Description
JarvisJudiceNinkeColorDithering ( ) : System

Initializes a new instance of the JarvisJudiceNinkeColorDithering class.

Method Details

JarvisJudiceNinkeColorDithering() public method

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