IDKit SDK can match fingerprint images scanned with different DPI. Input images are internally resampled to 500dpi before performing template extraction. The resulting templates use 500dpi coordinates so that they can be matched against each other independently of input image DPI.
DPI setting (CFG_RESOLUTION_DPI in C++ or IDKit.Dpi in .NET) should be set prior to template extraction which happens during call to IEngine_AddFingerprint (in C++) or User.Add(new Fingerprint(image)) (in .NET).