ppmchange(1) - man - phpman

Look up a command

 

Markdown Format | JSON API | MCP Server Tool | Cheat Sheet


TLDR: ppmchange (tldr-pages)

Change all pixels of one color in a PPM image to another color.

  • Exchange the first color in each `oldcolor` - `newcolor` pair with the second color
    ppmchange {{oldcolor1 newcolor1 oldcolor2 newcolor2 ...}} {{path/to/input.ppm}} > {{path/to/output.ppm}}
  • Specify how similar colors must be in order to be considered the same
    ppmchange -closeness {{percentage}} {{oldcolor1 newcolor1 oldcolor2 newcolor2 ...}} {{path/to/input.ppm}} > {{path/to/output.ppm}}
  • Replace all pixels not specified in the arguments by a color
    ppmchange {{-r|-remainder}} {{color}} {{oldcolor1 newcolor1 oldcolor2 newcolor2 ...}} {{path/to/input.ppm}} > {{path/to/output.ppm}}
ppmchange(1)
NAME SYNOPSIS DESCRIPTION OPTIONS SEE ALSO AUTHOR
ppmchange(1)                           General Commands Manual                          ppmchange(1)



NAME
       ppmchange - change all pixels of one color to another in a portable pixmap

SYNOPSIS
       ppmchange [ -closeness closeness_percent ] [ -remainder remainder_color ] [ oldcolor newcolor
       ] ...  [ppmfile]


DESCRIPTION
       Reads a portable pixmap as input.  Changes all pixels of oldcolor to newcolor.  You may spec‐
       ify  up  to 256 oldcolor/newcolor pairs on the command line.  ppmchange leaves all colors not
       mentioned unchanged, 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.


       The colors can be specified in five ways:

       o      A name, assuming that a pointer to an X11-style color names file was compiled in.

       o      An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are each 1- to  4-digit
              hexadecimal numbers.

       o      An X11-style decimal specifier: rgbi:r/g/b, where r g and b are floating point numbers
              between 0 and 1.

       o      For backwards compatibility,  an  old-X11-style  hexadecimal  number:  #rgb,  #rrggbb,
              #rrrgggbbb, or #rrrrggggbbbb.

       o      For  backwards compatibility, a triplet of numbers separated by commas: r,g,b, where r
              g and b are floating point numbers between 0 and 1.  (This style was added before  MIT
              came up with the similar rgbi style.)

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



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 default, it is 0, which means the pixel must be the
              exact color you specified.

              A pixel gets replaced if the distance in color between it and the color you  specified
              is less than or equal to closeness.

              The  "distance" in color is defined as the cartesian sum of the individual differences
              in red, green, and blue intensities between the two pixels,  normalized  so  that  the
              difference between 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  dis‐
              tance  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 chrominance analysis.


       -remainder color
              ppmchange changes all pixels which are not of a color for which  you  specify  an  ex‐
              plicit replacement color on the command line to color color.

              An example application of this is

              ppmchange -remainder=black red red

              to lift only the red portions from an image, or

              ppmchange -remainder=black red white | ppmtopgm

              to create a mask file for the red portions of the image.


SEE ALSO
       pgmtoppm(1), ppmcolormask(1), ppm(5)


AUTHOR
       Wilson  H.  Bent. Jr. (whb AT usc.edu) with modifications by Alberto Accomazzi (alberto AT cfa.har‐
       vard.edu)



                                           07 January 2001                              ppmchange(1)

Generated by phpMan Author: Che Dong Under GNU General Public License
2026-06-02 16:32 @216.73.216.151 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top