Hello everyone
So... I'm working on this project about minutia extraction and detection for fingerprints recognition. But first I have to apply the Gabor filter to the fingerprints to enhance it, remove the noise in the image. And I’m getting unexpected results though I programmed the exact Gabor filter that I could find on the internet and which is used by almost all persons working with fingerprints since I’s the most effective filter.
Note that I am programming with C++ and OpenCV
Here’s what I did:
- First I normalize the fingerprint image
if I is the gray-level fingerprint image, defined as a N x N matrix, and I( i, j) the intensity of the pixel at the ith row and jth column The mean and the variance of the image is defined as:
Then, the normalized image is defined by:
Where M0 and VAR0 are the desired mean and variance values, respectively.
Here, I chose M0 = 0 and Var0 = 1
- For the Gabor filter
o The image is divided into W x W blocs
o For each bloc, I compute the gradients Gx and Gy at each pixel using the Sobel function of OpenCV
o Then, I estimate the local orientation for each bloc using the following equations:
o Then, I chose the filter parameter
And get the Gabor filter using an OpenCV function:
o Finally, I apply the kernel to the bloc using another OpenCV function:
That’s it.
As I said before the result are so different from expected.
The original image - the normalized image
16x16 blocs - 31x31 blocs
I’m also supposed to calculate the local ridge frequency, but I wasn’t able to understand the algorithm, I found it pretty hard.
Moreover, in most works I’ve read about the local ridge orientation, they don’t stop at the results I got for the orientation but apply another filter or something. Complicated.
And I think I have a problem with the blocs size…
Help please!!:!::!:
And if anyone has worked with the gabor filter for fingerprints enhancement, could you please explain how you did that??!
I’ve been working on this for more than a month now :/. And, it’s the first time I work on image processing and everything related to it so I'm still learning.:bang:
P.S. I worked with Raymond Thai equations