# rgb2pct.py

Convert a 24bit RGB image to 8bit paletted

## SYNOPSIS

    rgb2pct.py [-n colors | -pct palette_file] [-of format] source_file dest_file

## DESCRIPTION

This utility will compute an optimal pseudo-color table for a given RGB image using a median cut algorithm on a downsampled RGB histogram. Then it converts the image into a pseudo-colored image using the color table. This conversion utilizes Floyd-Steinberg dithering (error diffusion) to maximize output image visual quality.

-n colors:
  Select the number of colors in the generated color table. Defaults to 256. Must be between 2 and 256.
-pct palette_file:
  Extract the color table from palette_file instead of computing it. Can be used to have a consistant color table for multiple files. The palette_file must be a raster file in a GDAL supported format with a palette.
-of format:
  Format to generated (defaults to GeoTIFF). Same semantics as the -of flag for gdal_translate. Only output formats supporting pseudocolor tables should be used.
source_file:
  The input RGB file.
dest_file:
  The output pseudo-colored file that will be created.

NOTE: rgb2pct.py is a Python script, and will only work if GDAL was built with Python support.

## EXAMPLE

If it is desired to hand create the palette, likely the simpliest text format is the GDAL VRT format. In the following example a VRT was created in a text editor with a small 4 color palette with the RGBA colors 238/238/238/255, 237/237/237/255, 236/236/236/255 and 229/229/229/255.

    % rgb2pct.py -pct palette.vrt rgb.tif pseudo-colored.tif
    % more < palette.vrt
    <VRTDataset rasterXSize="226" rasterYSize="271">
      <VRTRasterBand dataType="Byte" band="1">
        <ColorInterp>Palette</ColorInterp>
        <ColorTable>
          <Entry c1="238" c2="238" c3="238" c4="255"/>
          <Entry c1="237" c2="237" c3="237" c4="255"/>
          <Entry c1="236" c2="236" c3="236" c4="255"/>
          <Entry c1="229" c2="229" c3="229" c4="255"/>
        </ColorTable>
      </VRTRasterBand>
    </VRTDataset>

Generated for GDAL by 1.5.6.