Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


				   ppmchange

   Updated: 21 April 2004
   Table Of Contents

NAME

   ppmchange - change all pixels of one color to another in a PPM
image

SYNOPSIS

   ppmchange  [-closeness=closeness_percent]  [-remainder=remain-
der_color]
   [-closeok] [oldcolor newcolor] ... [ppmfile]

EXAMPLES

ppmchange red blue redimage.ppm >blueimage.ppm

ppmchange red red -remainder=black myimage.ppm >redblack.ppm

ppmchange -closeness=90 white white black black



DESCRIPTION

   This program is part of Netpbm.

   ppmchange reads a PPM image as input and changes all pixels of
colr oldcolor
   to color newcolor. You may specify up to 256 oldcolor/newcolor
pairs on the
   command  line.  ppmchange  leaves all colors not mentioned un-
changed, unless
   you specify the -remainder option, in which case they are  all
changed to the
   single specified color.

   You can specify that colors similar, but not identical, to the
ones you
   specify get replaced by specifying a "closeness" factor.

   Specify the colors  as  described  for  the	argument  of  the
ppm_parsecolor()
   library routine.

   If a pixel matches two different oldcolors, ppmchange replaces
it with the
   newcolor of the leftmost specified one.

   The maxval of the output image is the same as that of the  in-
put image. If a
   newcolor  you  specify  cannot  be exactly represented in that
maxval, ppmchange
   fails  unless you specify the -closeok option, in  which  case
ppmchange
   assumes a color that is as close as possible to what you spec-
ified but can
   be represented with your maxval.

   A common way that you can have this maxval problem, where  the
color you
   specify  cannot  be represented with your maxval, is that your
input is a PBM
   (black and white) image that you are colorizing. The maxval in
this case is
   1,  which  severely limits the colors to which you can change.
To avoid this
   problem, use pnmdepth to make the maxval of your  input  some-
thing consistent
   with your colors. 255 is usually a good choice.

   Before  Netpbm 10.22 (April 2004), ppmchange always behaved as
if the user
   specified -closeok and there was no -closeok option.

OPTIONS

   -closeness closeness_percent
	  closeness is an  integer  per	 centage  indicating  how
close to the color
	  you  specified  a pixel must be to get replaced. By de-
fault, it is 0,
	  which means the pixel must be the exact color you spec-
ified.
	  A  pixel gets replaced if the distance in color between
it and the
	  color you specified is less than or equal to	closeness
per cent of
	  the maxval.
	  The	"distance"  in	color is defined as the cartesian
sum of the
	  individual differences in red, green, and blue intensi-
ties between
	  the  two  pixels, normalized so that the difference be-
tween black and
	  white is 100%.
	  This	is probably simpler than what you want	most  the
time. You
	  probably  would like to change colors that have similar
chrominance,
	  regardless of their intensity. So if there's a red barn
that is
	  variously  shadowed,	you want the entire barn changed.
But because the
	  shadowing significantly changes the color according  to
ppmchange's
	  distance  formula, parts of the barn are probably about
as distant in
	  color from other parts of the barn  as  they	are  from
green grass next
	  to the barn.
	  Maybe ppmchange will be enhanced some day to do chromi-
nance analysis.
   -closeok
	  This option affects how ppmchange  interprets	 a  color
you specify in
	  the  arguments. When you specify this option, ppmchange
may use a
	  color	 close	to, but not the same as what you specify.
See the
	  descrition section for details.
	  This	 option was new in Netpbm 10.22 (April 2004). Be-
fore that,
	  ppmchange always behaved as if you specified	this  op-
tion.
   -remainder color
	  ppmchange  changes  all pixels which are not of a color
for which you
	  specify an explicit replacement color	 on  the  command
line to color
	  color.
	  An  example  application  of this is ppmchange -remain-
der=black red red
	  to lift only the red portions from an	 image,	 or  ppm-
change -remainder=black red white | ppmtopgm
	  to  create  a mask file for the red portions of the im-
age.



SEE ALSO

   pgmtoppm, ppmcolormask, ppm

AUTHOR

   Wilson H. Bent. Jr. (whb@usc.edu) with modifications by Alber-
to Accomazzi
   (alberto@cfa.harvard.edu)
     _________________________________________________________________



Table Of Contents

     * NAME
     * SYNOPSIS
     * EXAMPLES
     * DESCRIPTION
     * OPTIONS
     * SEE ALSO
     * AUTHOR


































UNIX/Linux commands referenced on this page:
  1. red
  2. as
  3. which
  4. pnmdepth
  5. make
  6. less
  7. file
  8. pgmtoppm
  9. ppmcolormask