man > pnmquant(1)

TLDR: pnmquant (tldr-pages)

Quantize the colors in a PNM image into a smaller set.

  • Generate an image using only `n_colors` or less colors as close as possible to the input image
    pnmquant {{n_colors}} {{path/to/input.pnm}} > {{path/to/output.pnm}}
Pnmquant User Manual(1)                General Commands Manual               Pnmquant User Manual(1)

NAME
       pnmquant - quantize the colors in a Netpbm image to a smaller set


SYNOPSIS
       pnmquant   [-center|-meancolor|-meanpixel]   [-floyd|-fs]   [-nofloyd|-nofs]  [-spreadbright‐
       ness|-spreadluminosity] {[-norandom]|[-randomseed=n]} ncolors [pnmfile]

       All options can be abbreviated to their shortest unique prefix.  You may use two hyphens  in‐
       stead  of one to designate an option.  You may use either white space or equals signs between
       an option name and its value.



DESCRIPTION
       This program is part of Netpbm(1).

       pnmquant reads a PNM image as input.  It chooses ncolors colors to best represent the  image,
       maps the existing colors to the new ones, and writes a PNM image as output.

       This program is simply a combination of pnmcolormap and pnmremap, where the colors of the in‐
       put  are  remapped  using  a color map which is generated from the colors in that same input.
       The options have the same meaning as in those programs.  See their  documentation  to  under‐
       stand pnmquant.

       You may actually get fewer than ncolors colors in the output because
         the method pnmcolormap uses to choose the best set of colors for the
         image is not the same as the method pnmremap uses to determine the
         best color from the set to represent an individual color.  For example,
         pnmcolormap may include salmon in the color map as the best
         representative of a pink pixel in the input and include coral in the color
         map as the best representative of an actual coral pixel in the input.  But
         pnmremap is free to use any color in the color map to represent that
         pink pixel and would find coral is a closer match for pink than salmon and
         therefore use coral for pink.  pnmremap might not use salmon
         for any pixel.

       This waste of a slot in the color map is a consequence of the approximate
         method pnmcolormap uses in order to compute the color map with a
         practical amount of computation.



   Running pnmcolormap and pnmremap Separately
       It  is  much faster to call pnmcolormap and pnmremap directly than to run pnmquant.  You save
       the overhead of the Perl interpreter and creating two extra processes.  pnmquant  is  just  a
       convenience.

       Here is an example of the relationship between the programs:

       This:

           $ pnmquant 256 myimage.pnm >/tmp/colormap.pnm >myimage256.pnm


       does essentially this:

           $ pnmcolormap 256 myimage.pnm >/tmp/colormap.pnm
           $ pnmremap -mapfile=/tmp/colormap.pnm myimage.pnm >myimage256.pnm



OPTIONS
       In  addition  to  the options common to all programs based on libnetpbm (most notably -quiet,
       see ]8;;index.html#commonoptions\ Common Options]8;;\ ), pnmquant recognizes the following command line options:


   Options Passed to pnmcolormap
       These options control the selection of the palette.  They are options to pnmcolormap(1).



       -center

       -meancolor

       -meanpixel

       -spreadbrightness

       -spreadluminosity



   Options Passed to pnmremap
       These options control which color from the palette the program uses to
         replace a pixel of a certain color from the input.  They are options to pnmremap(1).



       -floyd

       -fs

       -nofloyd

       -nofs

       -norandom

       -randomseed

       -norandom



HISTORY
       pnmquant did not exist before Netpbm 9.21 (January 2001).  Before that, ppmquant did the same
       thing, but only on PPM images.  ppmquant continues to exist, but is only  a  front  end  (for
       name compatibility) to pnmquant.

       -version did not exist before Netpbm 10.75 (June 2016).


       -norandom did not exist before Netpbm 10.82 (March 2018).


SEE ALSO
       pnmcolormap(1), pnmremap(1), pnmquantall(1), pamdepth(1), ppmdither(1), ppmquant(1), pnm(1)

DOCUMENT SOURCE
       This  manual  page  was  generated by the Netpbm tool 'makeman' from HTML source.  The master
       documentation is at

              http://netpbm.sourceforge.net/doc/pnmquant.html

netpbm documentation                      09 February 2019                   Pnmquant User Manual(1)
pnmquant(1)
NAME SYNOPSIS DESCRIPTION
Running pnmcolormap and pnmremap Separately
OPTIONS
Options Passed to pnmcolormap -center -meancolor -meanpixel -spreadbrightness -spreadluminosity Options Passed to pnmremap -floyd -fs -nofloyd -nofs -norandom -randomseed -norandom
HISTORY
-version did not exist before Netpbm 10.75 (June 2016). -norandom did not exist before Netpbm 10.82 (March 2018).
SEE ALSO DOCUMENT SOURCE

Generated by phpman v4.9.26-1-g511901d · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-09 09:02 @216.73.216.150
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^