Configuração
A API é configurada inteiramente via variáveis de ambiente. Veja .env.example para referência.
Variáveis de Ambiente
API
| Variável | Padrão | Descrição |
|---|---|---|
FINGERPRINT_HOST | 0.0.0.0 | Host do servidor |
FINGERPRINT_PORT | 8000 | Porta do servidor |
FINGERPRINT_CORS_ORIGINS | ["http://localhost:5173"] | Origins CORS (JSON array ou CSV) |
FINGERPRINT_MAX_FILE_SIZE | 10485760 | Tamanho máximo de upload em bytes (10MB) |
SDK
| Variável | Padrão | Descrição |
|---|---|---|
FINGERPRINT_MIN_QUALITY_SCORE | 40.0 | Score mínimo para is_acceptable |
FINGERPRINT_USE_GRABCUT | true | Usar GrabCut na segmentação (mais preciso, mais lento) |
CORS
A API aceita requests de origens configuradas em FINGERPRINT_CORS_ORIGINS. O valor pode ser:
JSON array:
bash
FINGERPRINT_CORS_ORIGINS=["https://app.exemplo.com","https://admin.exemplo.com"]Lista separada por vírgula:
bash
FINGERPRINT_CORS_ORIGINS=https://app.exemplo.com,https://admin.exemplo.comDocker Compose
O docker-compose.yml inclui as variáveis padrão:
yaml
services:
api:
build:
context: .
dockerfile: api/Dockerfile
ports:
- "8000:8000"
environment:
- FINGERPRINT_HOST=0.0.0.0
- FINGERPRINT_PORT=8000
- FINGERPRINT_CORS_ORIGINS=["http://localhost:5173"]
web:
build:
context: ./web
ports:
- "5173:5173"
depends_on:
- apiExtractorConfig (SDK)
O SDK possui 40+ parâmetros configuráveis via ExtractorConfig. Os mais relevantes:
Detecção de Pele
| Parâmetro | Padrão | Descrição |
|---|---|---|
ycrcb_cr_range | (133, 173) | Range Cr no espaço YCrCb |
ycrcb_cb_range | (77, 127) | Range Cb no espaço YCrCb |
hsv_h_range | (0, 20) | Range H no espaço HSV |
min_skin_area_ratio | 0.01 | Proporção mínima da área de pele |
Segmentação
| Parâmetro | Padrão | Descrição |
|---|---|---|
bbox_expand | 0.35 | Expansão da bounding box (35%) |
grabcut_iters | 5 | Iterações do GrabCut |
use_grabcut | true | Usar GrabCut (vs. só morfologia) |
Realce
| Parâmetro | Padrão | Descrição |
|---|---|---|
clahe1_clip | 3.0 | Clip limit do primeiro CLAHE |
bilateral_d | 5 | Diâmetro do filtro bilateral |
canvas_size | 500 | Tamanho da imagem de saída |
Qualidade
| Parâmetro | Padrão | Descrição |
|---|---|---|
sharpness_threshold | 100.0 | Limiar de nitidez |
contrast_threshold | 30.0 | Limiar de contraste |
min_quality_score | 40.0 | Score mínimo aceitável |