A fingerprint image enhancement method, comprising: receiving a fingerprint image ; computing a horizontal variation image (Gx) and vertical variation image (Gy) of the fingerprint image ; computing a weighted image (W), wherein in the weighted image (W), a first pixel weighted value (wi,j) corresponding to a first pixel position is greater than a second pixel weighted value (wm,n) corresponding to a second pixel position, wherein the first pixel position in the fingerprint image is determined to be a finger ridge more likely than the second pixel position in the fingerprint image according to the pixel value corresponding to the first pixel position in the fingerprint image and the pixel value corresponding to the second pixel position in the fingerprint image; element-wise multiplying the horizontal variation image (Gx) with the weighted image (W) to generate a weighted horizontal variation image (Gx,w), and element-wise multiplying the vertical variation image (Gy) with the weighted image (W) to generate a weighted vertical variation image (Gy,w); performing a smoothing operation to the weighted horizontal variation image (Gx,w) and the weighted vertical variation image (Gy,w) to generate a smoothed weighted horizontal variation image (G x,S ) and a smoothed weighted vertical variation image (G y,S ); computing a fingerprint orientation image (O) according to the smoothed weighted horizontal variation image (G x,S ) and the smoothed weighted vertical variation image (G y,S ); and performing fingerprint image enhancement on the fingerprint image according to the fingerprint orientation image (O). receiving a fingerprint image ; computing a horizontal variation image (Gx) and vertical variation image (Gy) of the fingerprint image ; computing a weighted image (W), wherein in the weighted image (W), a first pixel weighted value (wi,j) corresponding to a first pixel position is greater than a second pixel weighted value (wm,n) corresponding to a second pixel position, wherein the first pixel position in the fingerprint image is determined to be a finger ridge more likely than the second pixel position in the fingerprint image according to the pixel value corresponding to the first pixel position in the fingerprint image and the pixel value corresponding to the second pixel position in the fingerprint image; element-wise multiplying the horizontal variation image (Gx) with the weighted image (W) to generate a weighted horizontal variation image (Gx,w), and element-wise multiplying the vertical variation image (Gy) with the weighted image (W) to generate a weighted vertical variation image (Gy,w); performing a smoothing operation to the weighted horizontal variation image (Gx,w) and the weighted vertical variation image (Gy,w) to generate a smoothed weighted horizontal variation image (G x,S ) and a smoothed weighted vertical variation image (G y,S ); computing a fingerprint orientation image (O) according to the smoothed weighted horizontal variation image (G x,S ) and the smoothed weighted vertical variation image (G y,S ); and performing fingerprint image enhancement on the fingerprint image according to the fingerprint orientation image (O). <EOS>