Provided by: netpbm_10.97.00-2_amd64 bug

NAME

       ppmhist - print a histogram of the colors in a PPM image

SYNOPSIS

       ppmhist    [-hexcolor    |    -float   |   -colorname   |   -map]   [-nomap]   [-noheader]
       [-sort={frequency,rgb}] [-forensic] [ppmfile]

DESCRIPTION

       This program is part of Netpbm(1).

       ppmhist reads a PPM image as input and generates a histogram of the colors in  the  image,
       i.e. a list of all the colors and how many pixels of each color are in the image.

   Output Format
       The output is in one of two basic formats:  a report for humans and a PPM image for use by
       programs.  The PPM image is actually quite readable by humans too.

       Human Report

       You get this format by specifying (or defaulting to) the -nomap option.

       The format is one line for each color in the input image.

       By default, there are two lines of column header and  a  summary  at  the  top.   Use  the
       -noheader option to suppress those lines.

       The  summary  tells you whether black or white are present and how many shades of gray and
       color are present.  The summary was new in Netpbm 10.82 (March 2018).

       In each line, ppmhist identifies the  color  by  red,  green,  and  blue  components.   By
       default,  it  lists  each  of these in decimal, using the exact values that are in the PPM
       input.  So if the image has a maxval of 255, the numbers in the listing range  from  0  to
       255.   With  the  -hexcolor option, you can change these numbers to hexadecimal.  With the
       -float option, the numbers are fractional, adjusted to a maxval of 1.

       Each line lists the luminosity of the color.  It is in decimal on the same  scale  as  the
       rgb values (see above).

       Each  line  lists  the  number  of  pixels  in  the image that have the color.  This is in
       decimal.

       PPM Output

       You get this format with the -map option.

       The output file is a genuine PPM image, but it is PPM Plain format and  contains  comments
       so that it is not a lot different from the human report described above.

       As  a  PPM  image,  it  can  be  useful  as input to other programs that need some kind of
       palette.  The image is a single row with one column for each distinct color in the image.

       The function of PPM output is essentially the same  as  the  output  of  pnmcolormap  all.
       ppmhist is much older than pnmcolormap.

OPTIONS

       In addition to the options common to all programs based on libnetpbm (most notably -quiet,
       see
        Common Options ⟨index.html#commonoptions⟩ ), ppmhist  recognizes  the  following  command
       line options:

       -sort={frequency,rgb}
              The -sort option determines the order in which the colors are listed in the output.
              rgb means to sort them first by the intensity of the red component  of  the  color,
              then of the green, then of the blue, with the least intense first.  frequency means
              to list them in order of how many pixels in the input image have  the  color,  with
              the most represented colors first.  Among colors with the same frequency, the order
              is the same as with rgb.

              The default is frequency.

              Before Netpbm 10.88 (September 2019), with -sort=frequency,  the  order  of  colors
              that have the same frequency is arbitrary.

       -hexcolor
              Print the color components in hexadecimal.  See output format ⟨#output⟩ .

              You may not specify this option along with -float or map.

       -float Print  the  color  components  and  the luminosity as floating point numbers in the
              range [0,1].  See output format ⟨#output⟩ .

              You may not specify this option along with -hexcolor or map.

              This option was added in Netpbm 10.19 (November 2003).

       -map   Generates a PPM file of the colormap for the image, with  the  color  histogram  as
              comments.  See output format ⟨#output⟩ .

              You may not specify this option along with -float or hexcolor.

       -nomap Generates the histogram for human reading.  This is the default.

       -colorname
              Add  the  color  name  to  the  output.   This  is  the  name from the system color
              dictionary ⟨libppm.html#dictionary⟩ .  If the exact  color  is  not  in  the  color
              dictionary,  it is the closest color that is in the dictionary and is preceded by a
              '*'.  If you don't have a system color dictionary, the program fails.

              This option was added in Netpbm 10.10 (October 2002).

       -noheader
              Do not print the column headings.

       -forensic

              With this option, ppmhist works on  images  that  contain  invalid  sample  values.
              Normally,  like most Netpbm programs, ppmhist fails if it encounters a sample value
              greater than the maxval that the image declares.  The  presence  of  such  a  value
              means  the  image  is  invalid, so the pixels have no meaning.  But with -forensic,
              ppmhist produces a histogram of the actual sample values without regard to  maxval.
              It issues messages summarizing the invalid pixels if there are any.

              One use for this is to diagnose the problem that caused the invalid Netpbm image to
              exist.

              There is a small exception to the ability of ppmhist to process invalid pixels even
              with  -forensic: it can never process a sample value greater than 65535.  Note that
              in the rarely used Plain PPM format, it is possible for a number greater than  that
              to appear where a sample value belongs.

              This option was new in Netpbm 10.66 (March 2014).  But Netpbm older than 10.66 does
              not properly reject invalid sample  values,  so  the  effect  is  very  similar  to
              -forensic.

SEE ALSO

       ppm(1), pgmhist(1), pnmcolormap(1), pnmhistmap(1), ppmchange(1)

AUTHOR

       Copyright (C) 1989 by Jef Poskanzer.

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/ppmhist.html