Extração da imagem com um leitor de impressão digital é o primeiro passo no processo de verificação ou identificação biométrica. Neste artigo utilizaremos a biblioteca libdpfp para efetuar o processamento do cálculo das minúcias das imagens capturadas em leitores biométricos de impressão digital.
Mas eu não tenho sensor U.Are.U? Eu tenho outro modelo o que fazer!!!??
Princípio número um, muita calma, caso você não possua um leitor compatível com a linha digital persona, poderá utilizar direto o algoritmo do pacote fvs. Para isto, em primeiro lugar faça o download o pacote em:
Entre na pasta demos para executar alguns programas e verificar o funcionamento dos processos.
$ cd demos
O programa fvs_binarize gera uma imagem binarizada (branco e preto) com o nome finger_binarize.pgm.
$ ./fvs_binarize finger01.pgm finger_binarize.pgm
1/5 Determining the ridge direction
2/5 Determining the ridge frequency
3/5 Creating the mask
4/5 Enhancing the fingerprint image
5/5 Binarize
Cleaning up and exiting...
Abaixo um exemplo de imagem gerada:
O programa fvs_direction detecta as direções das impressões digitais.
Opening file finger_binarize.pgm...
1/2 Determining the ridge direction
2/2 Creating a new image with the direction
Cleaning up and exiting...
Veja o resultado:
O programa fvs_thinner converte as linhas da impressão digital em um único pixel de largura.
$ ./fvs_thinner finger01.pgm finger_thinner.pgm
1/6 Determining the ridge direction
2/6 Determining the ridge frequency
3/6 Creating the mask
4/6 Enhancing the fingerprint image
5/6 Binarize
6/6 Thinning
Cleaning up and exiting...
Veja o resultado:
Agora finalmente o cálculo dos pontos de minúcias executando o programa fvs_minutia.
$ ./fvs_minutia finger01.pgm finger_minutia.pgm
1/8 Determining the ridge direction
2/8 Determining the ridge frequency
3/8 Creating the mask
4/8 Enhancing the fingerprint image
5/8 Binarize
6/8 Thinning
7/8 Detecting minutia
8/8 Drawing minutia
Cleaning up and exiting...
Veja o resultado:
O objetivo deste documento é esclarecer o funcionamento da biometria voltada para leitura de impressão digital. Os próximos passos são o processamento para identificação e verificação entre duas impressões digitais para determinar a sua similaridade.
A NETi TECNOLOGIA (empresa no qual sou sócio proprietário) desenvolve soluções biométricas desde 1997. Várias aplicações baseadas em plataforma GNU/Linux utilizando a biometria de conhecimento facial e impressão digital foram desenvolvidas para o mercado consumidor. Abaixo um vídeo demonstrativo de uma aplicação exemplo utilizando o reconhecimento através da impressão digital com algoritmos disponíveis no mercado.
[2] Comentário enviado por danilorlima em 05/10/2006 - 10:33h
Pô Cabelo, show este artigo!!!
Sempre procurei saber qual era o algoritmo usado nestes calculos, parabéns... e o reconhecimento facial é a mesma coisa ?
[3] Comentário enviado por removido em 05/10/2006 - 12:19h
Quando fiz make deu essa saída:
dpfp.c:69: warning: 'struct usb_device' declared inside parameter list
dpfp.c:69: warning: its scope is only this definition or declaration, which is probably not what you want
dpfp.c: In function 'get_dev_entry':
dpfp.c:75: error: dereferencing pointer to incomplete type
dpfp.c:76: error: dereferencing pointer to incomplete type
dpfp.c: At top level:
dpfp.c:159: warning: 'struct usb_device' declared inside parameter list
dpfp.c: In function 'dpfp_open_usb':
[14] Comentário enviado por edu_light em 30/09/2009 - 17:19h
Cabelo, replico a pergunta enviada pelo colega sciani. E se eu tiver tão somente uma imagem digitalizada (bmp) armazenada no banco. Como faço para transforma-la em vetorial?
[16] Comentário enviado por heepz em 20/04/2011 - 10:47h
Ola!
Após eu dar o comando ./configure, no final deu:
checking for LIBUSB... configure: error: Package requirements ("libusb") were not met:
No package 'libusb' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBUSB_CFLAGS
and LIBUSB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.