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

Reply via email to