Your 16x16 fingerprint image is a nifty idea. Try mapping to 64 or even 16 step greyscale output for wider matching.
A quick search yielded this article that explains the approach used by GQview.
Basically it does the same thing, but with a distance calculation to facilitate for fuzzy matching...