This program is part of Netpbm(1).
pamedge reads a Netpbm image (PNM or PAM) and produces an image that outlines the edges.
The output image is of the same type as the input, except that the maxval of the output is at least 255 and if the input is PBM, the output is PGM.
You can pipe the result through pamditherbw -threshold and play with the threshold value to get a PBM (bilevel image) of the edges.
The edge detection technique used is to take the Pythagorean sum of two Sobel gradient operators at 90 degrees to each other. For more details see "Digital Image Processing" by Gonzalez and Wintz, chapter 7.
The maxval of the output is the same as the maxval of the input, except at least 255. The effect is better with larger maxvals, so you may want to increase the maxval of the input by running it through pamdepth first.
pamedge was added to Netpbm in Release 10.14 (March 2003). It replaced pgmedge, which was the same thing, but worked only on PGM and PBM images.