Image Processing Toolbox | ![]() ![]() |
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
. map
can not have more than 65,536 colors.
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 indexed image, X
, is of class uint8
if it is an indexed image with 256 or fewer colors; otherwise its class is uint16
. The output binary image, BW
, is of class logical
.
Algorithm
dither
increases the apparent color resolution of an image by applying Floyd-Steinberg's error diffusion dither algorithm.
References
[1] 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.
[2] Lim, Jae S. Two-Dimensional Signal and Image Processing. Englewood Cliffs, NJ: Prentice Hall, 1990. pp. 469-476.
See Also
![]() | dilate | double | ![]() |