STANNIX Community


Manual: ppmhist

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 colors in the image, i.e. a list of all the col‐
       ors 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 sum‐
       mary 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 dif‐
       ferent 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 pnm‐
       colormap.

OPTIONS
       In  addition  to	 the  options common to all programs based on libnetpbm (most notably -quiet, see  Common Options ),
       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 .

	      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
	      .

	      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 .

	      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 .  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	dic‐
	      tionary.	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 pro‐
	      grams,  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 summa‐
	      rizing 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 possi‐
	      ble 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	 in‐
	      valid 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)