This image-processing project was made using Python. The datasets were gotten from the Kaggle site. The project was executed in Pycharm software.
A total of 55,270 Files was considered. This included a variety of clear and smudged fingerprints of different fingers and different people.
To start with we used two modules. The inbuilt 'OS' module plays with directories in python and the 'CV2' module helps the user to open files and images with ease in python.
We then import and read a smudged image to be matched.
We then proceed to loop through every image in the dataset containing clear fingerprints. We use Scale-Invariant Feature Transform (SIFT) to declare Keypoints and descriptors for both the sample image and clear images. Key points are locations with the most distinct features on each image. The descriptor is a vector of numbers that best describes the visual appearance of the key point.
We use Flann Based Matcher which helps to compare the key points of both images and assign a match score for them. This helps us understand which image is closer to the original sample image
We compare the match score of all images and find out the image with the best score and store its file name. This image obtained as the result of our algorithm is the closest clear fingerprint image to the given smudged fingerprint. The output is then made to display using the 'imshow' command
The complete code is given here