Sat, 29 Jan 2011 18:21:00 +0200 було написано Hugo "Bonstra" Grostabussiat <dw23.de...@gmail.com>:
> On 29/01/2011 03:18, Николай Шатохин wrote: >> Wed, 26 Jan 2011 17:55:21 +0200 було написано Hugo "Bonstra" >> Grostabussiat <dw23.de...@gmail.com>: >> >>> On 01/26/2011 14:31, Николай Шатохин wrote: >>>> Wed, 26 Jan 2011 12:12:40 +0200 було написано Hugo "Bonstra" >>>> Grostabussiat <dw23.de...@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. >> >> I wrote simple source code. I try understand how to compare two >> fingerprint from files. I cut pieces and attempted to create program, >> that will compare two fprint_datas. >> But I have some errors: >> >> >> robotex@robotex-laptop:~/sources/fprint_examples$ gcc >> load_form_disk_and_verify.c -Inbis/include `pkg-config --cflags --libs >> glib-2.0 libfprint` >> load_form_disk_and_verify.c: In function ‘fpi_img_compare_print_data’: >> load_form_disk_and_verify.c:18: error: dereferencing pointer to >> incomplete type >> load_form_disk_and_verify.c:19: error: dereferencing pointer to >> incomplete type >> load_form_disk_and_verify.c:23: error: dereferencing pointer to >> incomplete type >> load_form_disk_and_verify.c:24: error: dereferencing pointer to >> incomplete type > fprint.h does not define struct fp_print_data. You can add the > definition of struct fp_print_data from fp_internal.h to your code, that > should work. Ok, I done it. Thanks for your help. But I have one problem. When I verify finger in fprint_demo it matches in 95% times. But when I verify fingers by my code (I'm verifying stored in lib and stored in file) it matches in 5% times. What's wrong? Sources are: http://ubuntuone.com/p/arE/ Compling and launching instructions see in file "compiling" One script saves fingerprint to file, second verify it. You can see it in filenames. -- За використання революційного клієнта електронної пошти Opera: http://www.opera.com/mail/ _______________________________________________ fprint mailing list fprint@reactivated.net http://lists.reactivated.net/mailman/listinfo/fprint