pnmremap(1)pnmremap(1)NAMEpnmremap - replace colors in a PPM image with colors from
another set
SYNOPSISpnmremap [-floyd|-fs|-nfloyd|-nofs] [-firstisdefault]
[-verbose] [-mapfile=mapfile] [-missingcolor=color] [pnm_
file]
All options can be abbreviated to their shortest unique
prefix. You may use two hyphens instead of one to desig
nate an option. You may use either white space or an
equals sign between an option name and its value.
DESCRIPTIONpnmremap replaces the colors in an input image with those
from a colormap you specify. Where a color in the input
is not in the colormap, you have three choices: 1) choose
the closest color from the colormap; 2) choose the first
color from the colormap; 3) use a color specified by a
command option. (In this latter case, if the color you
specify is not in your color map, the output will not nec
essarily contain only colors from the colormap).
Two reasons to do this are: 1) you want to reduce the num
ber of colors in the input image; and 2) you need to feed
the image to something that can handle only certain col
ors.
To reduce colors, you can generate the colormap with ppm
colormap. Example:
ppmcolormap testimg.ppm 256 >colormap.ppm
ppmremap -map=colormap.ppm testimg.ppm
>reduced_testimg.ppm
To limit colors to a certain set, a typical example is to
create an image for posting on the World Wide Web, where
different browsers know different colors. But all
browsers are supposed to know the 216 "web safe" colors
which are essentially all the colors you can represent in
a PPM image with a maxval of 5. So you can do this:
ppmcolors 5 >websafe.ppm
ppmremap -map=webafe.ppm testimg.ppm >websafe_testimg.ppm
The output image has the same type and maxval as the map
file.
PARAMETERS
There is one parameter, which is required: The file
specifcation of the input PNM file.
OPTIONS
-floyd -fs -nofloyd -nofs These options determine whether
Floyd-Steinberg dithering is done. Without Floyd-
Steinberg, the selection of output color of a pixel
is based on the color of only the corresponding
input pixel. With Floyd-Steinberg, multiple input
pixels are considered so that the average color of
an area tends to stay more the same than without
Floyd-Steinberg. For example, if you map an image
with a black, gray, gray, and white pixel adjacent,
through a map that contains only black and white,
it might result in an output of black, black,
white, white. Pixel-by-pixel mapping would instead
map both the gray pixels to the same color.
-fs is a synomym for -floyd.-nofs is a synonym
for -nofloyd.
The default is -nofloyd.
-firstisdefault
This affects what happens with a pixel in the input
image whose color is not in the map file. If you
specify neither -firstisdefault nor -missingcolor,
pnmremap chooses for the output the color in the
map which is closest to the color in the input.
With -firstisdefault, pnmremap instead uses the
first color in the colormap.
If you specify -firstisdefault, the maxval of your
input must match the maxval of your colormap.
-missingcolor=color
This affects what happens with a pixel in the input
image whose color is not in the map file. If you
specify neither -firstisdefault nor -missingcolor,
pnmremap chooses for the output the color in the
map which is closest to the color in the input.
With -missingcolor, pnmremap uses color. color
need not be in the colormap.
If you specify -missingcolor, the maxval of your
input must match the maxval of your colormap.
-verbose
Display helpful messages about the mapping process.
SEE ALSOpnmcolormap(1), ppmcolors(1), pnmquant(1), ppmquantall(1),
pnmdepth(1), ppmdither(1), ppmquant(1), ppm(5)AUTHOR
Copyright (C) 1989, 1991 by Jef Poskanzer. Copyright (C)
2001 by Bryan Henderson.
01 January 2002 pnmremap(1)