static ImageProcessor() { imageQuantizer = new ColorImageQuantizer(new MedianCutQuantizer()); grayscale = Grayscale.CommonAlgorithms.BT709; edgeDetector = new CannyEdgeDetector(); }
private Bitmap reducedColor(Bitmap image, int numColors) { // create color image quantization routine ColorImageQuantizer ciq = new ColorImageQuantizer(new MedianCutQuantizer()); // create 16 colors table Color[] colorTable = ciq.CalculatePalette(image, numColors); // create dithering routine FloydSteinbergColorDithering dithering = new FloydSteinbergColorDithering(); dithering.ColorTable = colorTable; // apply the dithering routine Bitmap newImage = dithering.Apply(image); return newImage; }
public static Bitmap OrderedColorDithering(Bitmap bmp, int value) { // create color image quantization routine ColorImageQuantizer ciq = new ColorImageQuantizer(new MedianCutQuantizer()); // create 256 colors table Color[] colorTable = ciq.CalculatePalette(bmp, value); // create dithering routine OrderedColorDithering dithering = new OrderedColorDithering(); dithering.ColorTable = colorTable; // apply the dithering routine Bitmap newImage = dithering.Apply(bmp); return newImage; }
public static Bitmap MedianCut(Bitmap bmp, int intensity) { ColorImageQuantizer ciq = new ColorImageQuantizer(new MedianCutQuantizer()); IColorQuantizer quantizer = new MedianCutQuantizer(); Bitmap newImage = ciq.ReduceColors(bmp, intensity); return newImage; }