1. A method for fingerprint recognition, comprising the steps of: providing a machine readable input fingerprint image; smoothing the input fingerprint image to remove noise; binarizing the smoothed input fingerprint image to form a binary image; processing the binary image to identify minutiae of the fingerprint image; and generating a template describing the minutiae.