Otsu method isn't good for fingerprint images. Try to use this filters below:
- Bradley Local Threshold
- Bernsen Threshold.
- Maximum Entropy Threshold.
You will find here: http://code.google.com/p/catalano-framework/
Example:
FastBitmap fb = new FastBitmap(bufferedImage);
fb.toGrayscale();
BradleyLocalThreshold b = new BradleyLocalThreshold();
b.applyInPlace(fb);
bufferedImage = fb.toBufferedImage();