.TL Pbmtopgm User Manual .SH 1 pbmtopgm .LP .LP Updated: 05 Feb 2003 Table Of Contents .SH 2 NAME .LP pbmtopgm - convert PBM image to PGM by averaging areas .SH 2 SYNOPSIS .LP \fBpbmtopgm \fR \fIwidth\fR \fIheight\fR [\fIpbmfile\fR] .SH 2 DESCRIPTION .LP .LP This program is part of Netpbm. .LP \fBpbmtopgm\fR reads a PBM image as input. It outputs a PGM image in which each pixel's gray level is the average of the surrounding black and white input pixels. The surrounding area is a rectangle of \fIwidth\fR by \fIheight\fR pixels. .LP In other words, this is a convolution. \fBpbmtopgm\fR is similar to a special case of \fBpnmconvol\fR. .LP You may need a \fBpnmsmooth\fR step after \fBpbmtopgm\fR. .LP \fBpbmtopgm\fR has the effect of anti-aliasing bitmaps which contain distinct line features. .LP \fBpbmtopgm\fR works best with odd sample width and heights. .LP You don't need \fBpbmtopgm\fR just to use a PGM program on a PBM image. Any PGM program (assuming it uses the Netpbm libraries to read the PGM input) takes PBM input as if it were PGM, with only the mininum and maximum gray levels. So unless your convolution rectangle is bigger than one pixel, you're not gaining anything with a \fBpbmtopgm\fR step. .LP The opposite transformation (which would turn a PGM into a PBM) is dithering. See \fBpamditherbw\fR. .SH 2 SEE ALSO .LP \fBpamditherbw\fR, \fBpnmconvol\fR, \fBpbm\fR, \fBpgm\fR .SH 2 AUTHOR .LP .LP Copyright (C) 1990 by Angus Duggan. .LP Copyright (C) 1989 by Jef Poskanzer. .LP Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty. .br \l'5i' .SH 2 Table Of Contents .LP .IP \(bu NAME .IP \(bu SYNOPSIS .IP \(bu DESCRIPTION .IP \(bu SEE ALSO .IP \(bu AUTHOR .LP