📤 04 - Cadastro Remoto em Massa (Cliente API)
Este script é uma ferramenta utilitária projetada para interagir com o Script 03 (Reconhecimento). Ele permite que você envie uma pasta inteira de fotos de uma nova pessoa para o sistema, cadastrando-
📋 Visão Geral
Função: Enviar múltiplas imagens localmente para o servidor de reconhecimento via API.
Entrada: Uma pasta local contendo fotos (
dataset/Nome).Destino: O script
03_reconhecer.pyque deve estar rodando (na mesma máquina ou em outra na rede).Benefício: Permite "treinar" novos usuários em tempo real, sem downtime (tempo de inatividade) do sistema de segurança.
🛠 Pré-requisitos
Você precisará da biblioteca requests para fazer as chamadas HTTP.
Bash
pip install requestsImportante: O script
03_reconhecer.pyDEVE estar em execução para que este script funcione, pois ele é quem recebe e processa as fotos.
⚙️ Configuração
No início do arquivo cadastrar_remoto.py, ajuste as variáveis para corresponder aos seus dados:
Variável
Descrição
Exemplo
url
O endereço IP do computador onde o Script 03 está rodando, seguido de :5000/api/cadastrar_direto.
"http://192.168.1.10:5000/api/cadastrar_direto"
pasta_imagens
O caminho local onde estão as fotos que você quer enviar.
"dataset/Eva"
nome_cliente
O nome da pessoa que será registrado no sistema.
"Eva Barros"
Dica de IP: Se você estiver rodando este script no mesmo computador que o Script 03, pode usar
http://127.0.0.1:5000/...oulocalhost. Se estiver em computadores diferentes, use o IP da rede local da máquina servidora.
🚀 Como Usar
Prepare as Fotos:
Coloque as fotos da nova pessoa em uma pasta (ex: dataset/NovoUsuario).
Configure o Script:
Edite o nome_cliente e o caminho da pasta no código.
Execute:
Bash
Acompanhe o Log:
O terminal mostrará o progresso envio a envio:
[1/5] Enviando foto1.jpg... Sucesso![2/5] Enviando foto2.jpg... Falha: Rosto não encontrado
🔬 Entendendo o Código
Este script simula um formulário web sendo enviado várias vezes.
Iteração de Arquivos:
Ele varre a pasta definida em pasta_imagens procurando por arquivos com extensão .jpg, .jpeg ou .png.
Montagem da Requisição:
Para cada foto, ele abre o arquivo em modo binário (rb) e cria um dicionário de dados contendo:
files: O arquivo da imagem propriamente dito.data: O camponomecom o nome da pessoa.
Envio (POST):
Utiliza requests.post(url, ...) para enviar os dados.
Tratamento de Resposta:
O script verifica o código de status HTTP retornado pelo servidor (Script 03):
201 (Created): Sucesso, a IA detectou o rosto e gerou o encoding.
400 (Bad Request): Geralmente significa que a IA do servidor não conseguiu encontrar nenhum rosto na foto enviada.
⚠️ Solução de Problemas
Erro
Connection refused(Conexão recusada):O script
03_reconhecer.pynão está rodando.O IP ou a porta na variável
urlestão errados.Firewall do Windows/Linux pode estar bloqueando a porta 5000.
Falha: "Rosto não encontrado":
A foto enviada pode estar muito escura, borrada ou o rosto está virado. O servidor (Script 03) rejeita fotos onde a biblioteca
face_recognitionnão consegue garantir a detecção.
Erro "Pasta não encontrada":
Verifique se o caminho em
pasta_imagensestá correto relativo a onde você está rodando o script.
Atualizado