dwww Home | Manual pages | Find package

Ppmhist User Manual(1)      General Commands Manual      Ppmhist User Manual(1)

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

SYNOPSIS
       ppmhist  [-map  |  -nomap] [-hexcolor | -float | -colorname] [-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 col-
       ors 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 com-
       ponents.  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 op-
       tion, you can change these numbers to hexadecimal.  With the -float  op-
       tion, 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  re-
       port 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 pnm-
       colormap all.  ppmhist is much older than pnmcolormap.

OPTIONS
       In  addition  to  the  options common to all programs based on libnetpbm
       (most notably -quiet, see ]8;;index.html#commonoptions\ Common Options]8;;\ ), ppmhist recognizes the fol-
       lowing 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 inten-
              sity  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 ]8;;#output\output format]8;;\ .

              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 ]8;;#output\output format]8;;\ .

              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 ]8;;#output\output format]8;;\ .

              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 ]8;;libppm.html#dictionary\sys-
              tem color dictionary]8;;\ .  If the exact color is not  in  the  color
              dictionary, it is an asterisk followed by the name of the closest
              color  that  is  in  the  dictionary.  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 val-
              ues 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 in-
              valid 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

netpbm documentation             24 August 2019          Ppmhist User Manual(1)

Generated by dwww version 1.16 on Tue Dec 16 04:11:54 CET 2025.