pnmconvol convolutionfile [pnmfile]

       Reads  two  portable  anymaps as input.  Convolves the second using the
       first, and writes a portable anymap as output.

       Convolution means replacing each pixel with a weighted average  of  the
       nearby  pixels.   The weights and the area to average are determined by
       the convolution matrix.  The unsigned numbers in the  convolution  file
       are offset by -maxval/2 to make signed numbers, and then normalized, so
       the actual values in the convolution file are only relative.

       Here is a sample convolution file; it does a simple average of the nine
       immediate neighbors, resulting in a smoothed image:
           3 3
           10 10 10
           10 10 10
           10 10 10

       To  see  how this works, do the above-mentioned offset: 10 - 18/2 gives
       1.  The possible range of values is from 0 to 18, and after the  offset
       that's  -9  to  9.  The normalization step makes the range -1 to 1, and
       the values get scaled correspondingly so they become 1/9 - exactly what
       you want.  The equivalent matrix for 5x5 smoothing would have maxval 50
       and be filled with 26.

       The convolution file will usually be a graymap, so that the same convo-
       lution  gets  applied to each color component.  However, if you want to
       use a pixmap and do a different convolution to  different  colors,  you
       can certainly do that.

       At the edges of the convolved image, where the convolution matrix would
       extend over the edge of the image, pnmconvol just copies the input pix-
       els directly to the output.

       pnmsmooth(1), pnm(5)

       Copyright (C) 1989, 1991 by Jef Poskanzer.
       Modified 26 November 1994 by Mike Burns,

                               26 November 1994                   pnmconvol(1)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2017 Hurricane Electric. All Rights Reserved.