/gpu-fingerprint-orientation-map

Qt project containing a program to demonstrate GPU-based fingerprint orientation map calculation.

Primary LanguageC++

GPU-based Fingerprint Orientation Map

Qt project containing a program to demonstrate GPU-based fingerprint orientation map (O-map) calculation. The program executes a performance test of O-map calculation on CPU/GPU backend. During the test, a reference square image size is increased by a constant factor of 50 pixels in both dimensions. Following this, the image's O-map is computed 50 times in a row. This procedure repeats after we hit 3000x3000 size. Average processing times for CPU/GPU are plotted on screen. The measurement below was taken on PC with i7-7700K and NVIDIA Geforce GTX 1080 Ti Founder's Edition Inno3D (without overclocking).

This app can also display O-map of user selected grayscale image to verify the accuracy estimation.

This project depends on the following 3rd-party libraries:

You need to provide valid paths to these libraries and their header files in .pro file.

Important notice: This software was tested only in Windows 10 Education.

alt text

This app calculates per-pixel (advanced) O-Map. Standard (basic) O-map represents matrix of directions on per-block basis. For high-accuracy adaptive Gabor filtering we need per-pixel O-map to able to enhance curved ridge lines with maximum effect. The image below shows the difference between both O-map types computed from 300x300 grayscale image.

Basic O-map (one direction per 13x13 px block)

Advanced O-map (one direction per each pixel)

alt text