pnmconvol(1)                                         pnmconvol(1)

NAME
       pnmconvol - general MxN convolution on a portable anymap

SYNOPSIS
       pnmconvol convolutionfile [pnmfile]

DESCRIPTION
       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 rela-
       tive.

       Here is a sample convolution file; it does a simple  aver-
       age  of  the  nine  immediate  neighbors,  resulting  in a
       smoothed image:
           P2
           3 3
           18
           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  normaliza-
       tion  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 convolution 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.

SEE ALSO
       pnmsmooth(1), pnm(5)

AUTHORS
       Copyright (C) 1989, 1991 by Jef Poskanzer.
       Modified    26    November    1994    by    Mike    Burns,
       burns@chem.psu.edu

                         26 November 1994                       1