mlib_ImageColorErrorDiffusion3x3 - true color to indexed color conversion using error diffusion
cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageColorErrorDiffusion3x3(mlib_image *dst, const mlib_image *src, const mlib_s32 *kernel, mlib_s32 scale, const void *colormap);
The mlib_ImageColorErrorDiffusion3x3() function converts a true color image to a pseudo color image with the method of error diffusion dithering. The source image can be an MLIB_BYTE or MLIB_SHORT image with three or four channels. The destination must be a single-channel MLIB_BYTE or MLIB_SHORT image.
The last parameter, colormap, is an internal data structure for inverse color mapping. Create it by calling the mlib_ImageColorTrue2IndexInit() function.
The function takes the following arguments:
Pointer to destination or destination image.
Pointer to source or source image.
Pointer to the 3x3 error-distribution kernel, in row major order.
The scaling factor for kernel to convert the input integer coefficients into floating-point coefficients:
floating-point coefficient = integer coefficient * \ 2**(-scale)
Internal data structure for inverse color mapping.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|
mlib_ImageColorOrderedDither8x8(3MLIB), mlib_ImageColorTrue2Index(3MLIB), mlib_ImageColorTrue2IndexFree(3MLIB), mlib_ImageColorTrue2IndexInit(3MLIB), attributes(5)