pbmmask
pbmmask(1) General Commands Manual pbmmask(1)
NAME
pbmmask - create a mask bitmap from a regular bitmap
SYNOPSIS
pbmmask [-expand] [pbmfile]
DESCRIPTION
Reads a portable bitmap as input. Creates a corresponding mask bitmap
and writes it out.
The color to be interpreted as "background" is determined automati-
cally. Regardless of which color is background, the mask will be white
where the background is and black where the figure is.
This lets you do a masked paste like this, for objects with a black
background:
pbmmask obj > objmask
pnmpaste < dest -and objmask <x> <y> | pnmpaste -or obj <x> <y>
For objects with a white background, you can either invert them or add
a step:
pbmmask obj > objmask
pnminvert objmask | pnmpaste -and obj 0 0 > blackback
pnmpaste < dest -and objmask <x> <y> | pnmpaste -or blackback <x> <y>
Note that this three-step version works for objects with black back-
grounds too, if you don't care about the wasted time.
You can also use masks with graymaps and pixmaps, using the pnmarith
tool. For instance:
ppmtopgm obj.ppm | pgmtopbm -threshold | pbmmask > objmask.pbm
pnmarith -multiply dest.ppm objmask.pbm > t1.ppm
pnminvert objmask.pbm | pnmarith -multiply obj.ppm - > t2.ppm
pnmarith -add t1.ppm t2.ppm
An interesting variation on this is to pipe the mask through the pn-
msmooth script before using it. This makes the boundary between the
two images less sharp.
OPTIONS
-expand
Expands the mask by one pixel out from the image. This is use-
ful if you want a little white border around your image. (A
better solution might be to turn the pbmlife tool into a general
cellular automaton tool...)
SEE ALSO
ppmcolormask(1), pnmpaste(1), pnminvert(1), pbm(5), pnmarith(1), pn-
msmooth(1)
AUTHOR
Copyright (C) 1988 by Jef Poskanzer.
08 August 1989 pbmmask(1)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2024
Hurricane Electric.
All Rights Reserved.