2. Fingerprint image enhancement
Binarization techniques often render images unsuitable
for extraction of fine and subtle features such as minutia
points. The objective of enhancement is to: (i) improve
the clarity of ridge structures of fingerprint images, (ii)
maintain their integrity, (iii) avoid intr oduction of spurious
structures, and (iv) retain the connectivity of the ridges
while maintaining separation between ridges.
There are tw o types of fingerprint image enhancement
methods described in the literature; those that work on bin-
ary images and those that work on gray-scale images (Ma io
and Malton i, 1997; OÕGorman and Nickerson, 1989; Sher-
lock et al., 1994). The methods using binary images require
a specially designed binarization algorithm to ensure that
the connectivity information lost during binarization can
be at least partially restored. The methods directly using
gray-scale images start with a direction field (that captures
the local orientation information of the ridge contou rs) fol-
lowed by the application of a bank of filters (Hong et al.,
1998). The direction field is computed by the gradient
method which is inefficient and unstable in noisy images.
The method presented in this paper combines both the
binary and the gray-scale image enhancement methods.
We first use a locally adaptive algorithm to obtain a binary
fingerprint image of sufficient quality. The local direction
field is estimated using a fast chaincode-base algorithm
and a 15 · 15 mask. Larger masks retain the orientation
while compromising the integrity of the ridges . This is fol-
lowed by applying an elliptically shaped filter (Greenberg
et al., 2002) with its major axis aligned parallel to the local
ridge direction. This increases the connectivity along the
ridge direction.
Experiments on DB4 NIST Fingerprint Image Groups
show that a single global threshold based binarization
can not handle noise from non-uniform ink density, non-
printed areas, and other stains. In order to smooth edges
of the ridge contours, a 3 · 3 mask is applied to the gray-
scale image as a quick equalization process before applying
the locally adaptive thresholding described (Giuliano et al.,
1977). Contrast en hancement by statistics based normaliza-
tion (OÕGorman and Nickerson, 1989; Greenberg et al.,
2002; Simon- Zorita et al., 2001) often cause interference
between sweat pores and ridge edges. For minutiae extrac-
tion the sweat pores should be eliminated. Fig. 2 shows
examples of fingerprint images from FVC2004: the Third
International Fingerprint Verification Competition (Maio
et al., 2004), and the binary images obtained by our
method. We have tested on images from FVC2004 (320
images) and NIST database (30 images). Many ridges are
broken in the binary image and therefore is not good for
minutiae extraction. However, the quality is sufficient for
generating local ridge orientations for image enhancement.
2.1. Chaincode processing
Chaincode representation of obje ct co ntours is exten-
sively used in document analysis (Wilf, 1981; Madhvanath
et al., 1997; Feldbach and Tonnies, 2001; Shi and Gov-
indaraju, 1997). Unlike thinned skeletons, the pixel image
can be fully recovered from the chaincode of its contour.
Tracing the chaincode co ntour, provides local ridge
directions at each boundary pixel. We divide the image into
15 · 15 pixel blocks and use the ridge directions to estimate
the orientation of each block. The algorithm is as follows.
(a) Use the width of ridges as a guide to estimate the
threshold under which components are likely to be
noise.
(b) End points are detected (Section 3) and not made part
of the computation of the direction flow field as direc-
tions around end points tend to be ambiguous.
(c) The ridge orientation is computed using the eight
chaincode directions of contour points in each block.
A voting algorithm is used to select the dominant
direction as the local orientation.
The threshold used for filtering noise can be dynami-
cally estimated from the average size of the ridge width.
The minimum number of contour points in a block to
Fig. 1. Chain code contour representation: (a) contour element, (b) slope convention. Data field in the array contains positional and slope information of
each component of the traced contour. Properties stored in the information fields are: coordinates of bounding box of a contour, number of components in
the corresponding data fields, area of the closed contour, and a flag which indicates whether the contour is interior or exterior.
Z. Shi, V. Govindaraju / Pattern Recognition Letters 27 (2006) 462–468 463