Biometria: Processamento de imagens capturadas em leitores de impressão digital
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.
Introdução

A impressão digital é composta de linhas formadas pelas elevações da pele. A comparação por impressão digital é um método utilizado a mais de mil anos como forma de identificação de usuários. É uma característica única entre os seres humanos, inclusive entre irmão gêmeos univitelinos.
Formada ainda quando feto, a impressão digital acompanha a pessoa por toda a sua existência sem apresentar grandes mudanças. Extraindo os pontos característicos ou ponto de minúcias de uma impressão digital, um papiloscopista ou sistemas computadorizados podem identificar pessoas utilizando cálculos bastantes confiáveis.
São vários os tipos de impressões digitais, abaixo algumas imagens de diferentes digitais:
Grande parte dos algoritmos trabalham com o princípio de extração dos pontos de minúcias ou pontos característicos. Após a extração são calculados a relação entre as distâncias destes pontos, cada algoritmo possui a sua base de cálculo, seja por análise dos pontos entre si ou por agrupamentos de pontos para análise de semelhanças de triângulos com os ângulos internos.

Neste artigo calcularemos os pontos de minúcias utilizando a biblioteca libdpfp-0.2.1. Esta versão da biblioteca incorporou a abstração de hardware (módulo do kernel) para acesso ao leitor, com isto hoje já não é preciso instalar o módulo dos leitores compatível com a linha U.Are.U da digital persona.
Este release (versão 0.2.1da libdpfp) contém parte do código do projeto fvs e eFinger, utilizada para processar as imagens extraídas dos leitores de impressão digital.
Na primeira fase a biblioteca extrai a imagem do sensor conforme o exemplo abaixo:

Aplicando a extração de filtro de gabor, a linha da impressão digital é realçada com a cor preta.

Na próxima etapa a imagem já esta binarizada (branco e preto), as linhas foram reduzidas a um único pixel de largura.

Agora ficou fácil detectar os pontos de minúcias. Fazendo um exame de cada pixel na imagem, se houver um pixel branco sem vizinhos significa que encontramos um ponto terminal. Caso um ponto branco possua 3 pontos vizinhos, significa que encontramos uma bifurcação.
Veja o resultado abaixo:

Agora o próximo passo a ser implementado na biblioteca em termos de desenvolvimento é a comparação dos pontos de minúcias para obter o índice de similaridade entre duas impressões digitais.
O projeto eFinger executa esta tarefa, mas encontra-se ainda em fase embrionária, pois o algoritmo não considera rotação dos pontos, mas sem sombra de dúvida é um bom ponto de partida. Bom, depois de tanta teoria, vamos a prática no próximo capítulo.
Tava quebrando a cuca aqui pra viabilizar isso, seu artigo caiu do céu!
[]'s meu amigo!