Image Processing Toolbox    
dither

Convert an image, increasing apparent color resolution by dithering

Syntax

Description

X = dither(RGB,map) creates an indexed image approximation of the RGB image in the array RGB by dithering the colors in colormap map.

X = dither(RGB,map,Qm,Qe) creates an indexed image from RGB, specifying the parameters Qm and Qe. Qm specifies the number of quantization bits to use along each color axis for the inverse color map, and Qe specifies the number of quantization bits to use for the color space error calculations. If Qe < Qm, dithering cannot be performed and an undithered indexed image is returned in X. If you omit these parameters, dither uses the default values Qm = 5, Qe = 8.

BW = dither(I) converts the intensity image in the matrix I to the binary (black and white) image BW by dithering.

Class Support

The input image (RGB or I) can be of class uint8, uint16, or double. All other input arguments must be of class double. The output image (X or BW) is of class uint8 if it is a binary image or if it is an indexed image with 256 or fewer colors; otherwise its class is double.

Algorithm

dither increases the apparent color resolution of an image by applying Floyd-Steinberg's error diffusion dither algorithm.

References

Floyd, R. W. and L. Steinberg. "An Adaptive Algorithm for Spatial Gray Scale," International Symposium Digest of Technical Papers. Society for Information Displays, 1975. p. 36.

Lim, Jae S. Two-Dimensional Signal and Image Processing. Englewood Cliffs, NJ: Prentice Hall, 1990. pp. 469-476.

See Also

rgb2ind


 dilate double