Pbmmask User Manual(0) Pbmmask User Manual(0) NAME pbmmask - create a mask bitmap from a regular bitmap SYNOPSIS pbmmask [-expand] [pbmfile] DESCRIPTION This program is part of Netpbm(1). pbmmask reads a PBM image as input and Generates a corresponding mask of the foreground areas as another PBM image. 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 grayscale and color images, using the pnmarith tool. For instance: ppmtopgm obj.ppm | pamditherbw -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 pnmsmooth 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 program into a gen- eral cellular automaton tool...) SEE ALSO ppmcolormask(1), pnmpaste(1), pnminvert(1), pnmarith(1), pnmsmooth(1) pbm(1), AUTHOR Copyright (C) 1988 by Jef Poskanzer. netpbm documentation 08 August 1989 Pbmmask User Manual(0) |