dither
                                
                                 dither copied to clipboard
                                
                                    dither copied to clipboard
                            
                            
                            
                        Small image utility featuring an implementation of the median-cut color quantization algorithm and Floyd-Steinberg dithering in C.
Dither - Color Quantization and Dithering
This is a small program dedicated to reducing the number of colors in an image. It operates with files in PNG or binary PPM format (Portable PixMap), and features automatic palette generation (using a median-cut algorithm) and dithering implemented with the Floyd-Steinberg method.
Installing
On macOS with Homebrew
$ brew install tessarin/core/dither
Manual Installation
First, install libpng. Running make will then compile the program
and generate the documentation (requires Perl). To install, move the
executable and manual files to appropriate directories in your system.
$ make
$ mv dither ~/bin
$ mv dither.1 ~/man/man1
Individual targets can also be specified to only compile the program or to generate the manual page:
$ make dither
$ make doc
Usage
$ dither [-p name.size] [-dv] input output
Detailed information about the program options are included in the manual.
Features
By default, dither will use a 3-bit RGB palette and dithering when
processing an image. Other possible palettes include:
- Grayscale of any given size
- Automatic, generated with the given size using a median-cut quantization algorithm
- Custom palette
Dithering on the final image can be disabled and the program can also be used just to generate a palette.
Samples
Automatic Palette
$ dither -p auto.32 bird-original.png bird-auto.32.png
 

1-bit Black & White
$ dither -p bw flower-original.png flower-bw.png
 

50% Gray Test
Generates a perfect checkerboard pattern.
$ dither -p bw gray-original.png gray-dithered.png
 
