[fprint] Comparison of two fingerprint images
Hugo "Bonstra" Grostabussiat
dw23.devel at gmail.com
Wed Jan 26 15:55:21 GMT 2011
On 01/26/2011 14:31, Николай Шатохин wrote:
> Wed, 26 Jan 2011 12:12:40 +0200 було написано Hugo "Bonstra"
> Grostabussiat <dw23.devel at gmail.com>:
>
>> On 01/26/2011 03:16, Николай Шатохин wrote:
>>> I need to compare two fingerprint scans saved to disk (it's need for my
>>> web-auth system which i'm developing - one image will be stored on
>>> server,
>>> second will be send by user, encrypted of course). Do libfprint allows
>>> this? If no, what function I can modify to allow this?
>> The code in enroll.c and verify.c in examples/ directory could be a good
>> start. However, libfprint doesn't allow to compare directly two images
>> stored on disk, you'll need to call the internal function
>> fpi_img_compare_print_data() (declared in fp_internal.h) to do that.
>>
>> Regards.
> What is the print data? It contains image?
fp_print_data is a structure which contains data about scanned
fingerprint, data is either NBIS minutiae or raw device data, but not an
image. If you want to match two images, you'll have to extract minutiae
from both of them and compare these together.
libfprint uses NBIS library to extract and compare minutiae, however it
doesn't provide an interface for this unless you use internal functions.
If doing so isn't a problem for you, your program may follow this pattern:
For image 1:
img1 = fpi_img_new (size_of_image1_data)
img1.width = width_for_image1
img1.height = width_for_image1
fpi_img_detect_minutiae (img1)
Do the same for image 2, and once you got minutiae for both images:
match_score = fpi_img_compare_print_data (&img1, &img2)
if (match_score > BOZORTH3_DEFAULT_THRESHOLD) succeed();
else fail();
All fpi_xxx function are declared in fp_internal.h, fpi_img_xxx
functions are defined in img.c.
Hope this helps.
Regards.
More information about the fprint
mailing list