Skip to content

Pipeline do SDK

O FingerprintExtractor executa um pipeline de 6 etapas para extrair e avaliar a qualidade de uma impressão digital a partir de uma foto.

Visão Geral

Foto (BGR)


┌─────────────────────┐
│ 1. SkinDetector      │  Detecta pele usando YCrCb + HSV
│    → skin_mask, bbox │
└──────────┬──────────┘

┌─────────────────────┐
│ 2. FingerSegmenter   │  Isola o dedo com GrabCut
│    → crop, mask      │
└──────────┬──────────┘

┌─────────────────────┐
│ 3. FingerOrienter    │  Rotaciona para ponta para cima
│    → oriented crop   │
└──────────┬──────────┘

┌─────────────────────┐
│ 4. FingertipROI      │  Extrai a região da ponta
│    → roi_gray        │
└──────────┬──────────┘

┌─────────────────────┐
│ 5. RidgeEnhancer     │  Realça cristas papilares
│    → 500x500 canvas  │
└──────────┬──────────┘

┌─────────────────────┐
│ 6. QualityChecker    │  Avalia qualidade (0-100)
│    → QualityReport   │
└──────────┬──────────┘

    FingerprintResult
    (imagem + quality + warnings)

Uso Programático

python
from fingerprint_sdk import FingerprintExtractor, ExtractorConfig

# Configuração padrão
extractor = FingerprintExtractor()

# Ou com configuração customizada
config = ExtractorConfig(
    use_grabcut=True,
    min_quality_score=50.0,
    canvas_size=500,
)
extractor = FingerprintExtractor(config)

# Processar de arquivo
result = extractor.extract_from_file("foto_dedo.jpg")

# Ou de numpy array (BGR)
import cv2
bgr = cv2.imread("foto_dedo.jpg")
result = extractor.extract(bgr)

# Resultado
if result.success:
    print(f"Score: {result.quality.score:.1f}")
    print(f"Aceitável: {result.quality.is_acceptable}")
    cv2.imwrite("digital.png", result.image)
else:
    print(f"Warnings: {result.warnings}")

CLI

bash
# Instalação
pip install -e sdk/

# Uso
fingerprint-sdk foto_dedo.jpg output.png

# Ou como módulo
python -m fingerprint_sdk foto_dedo.jpg output.png

Resultado — FingerprintResult

CampoTipoDescrição
imagenp.ndarrayImagem 500x500 grayscale (uint8)
qualityQualityReportMétricas de qualidade
warningslist[str]Avisos durante processamento
successboolSe gerou imagem com qualidade aceitável

Quality Report — QualityReport

CampoTipoDescrição
sharpnessfloatVariância do Laplacian
contrastfloatDesvio padrão médio local
ridge_clarityfloatResposta máxima Gabor
scorefloatScore composto 0-100
is_acceptableboolscore >= min_quality_score

Etapas Detalhadas

Cada etapa é documentada em sua própria página:

Valid S.A. - Soluções de Identidade Digital