Fast and adaptive color-to-grayscale conversion

Methods and systems, including computer program products, for determining a plurality of color clusters based on a plurality of pixels associated with a color image, the clusters being fewer than the pixels. A grayscale value for each one of a plurality of points in a color space is determined. Each grayscale value is based on a weighted average of target differences between each point and the clusters. Each of the pixels is associated with one or more of the points. A grayscale value for each pixel is identified based on the grayscale value of the associated one or more points.