Sistema de autenticação biométrica utilizando impressões digitais, desenvolvido com Python, OpenCV e MySQL. A aplicação permite cadastrar e autenticar usuários por meio da extração e comparação de características únicas (minúcias) de impressões digitais.
O objetivo do sistema é verificar se duas impressões digitais pertencem à mesma pessoa, utilizando técnicas de visão computacional, extração de características, normalização de dados e comparação por similaridade vetorial. O sistema é construído com uma arquitetura monolítica simples e clara, integrando front-end (GUI) com back-end em Python.
- 📸 Leitura e pré-processamento de imagem (escala de cinza com OpenCV)
- 🔍 Extração de minúcias (terminações e bifurcações) com Fingerprint Feature Extractor
- ♻️ Limpeza e transformação de dados de hexadecimal para inteiro (usando regex)
- 🧠 Comparação vetorial de similaridade com cosine similarity via
sklearn
- 🗄️ Armazenamento de usuários e características em banco MySQL
- 🧑💼 Interface gráfica com Tkinter para cadastro e login biométrico
- ✅ Validação de autenticação com base em similaridade mínima
- Python
- OpenCV – Processamento de imagem
- Fingerprint Feature Extractor – Extração de minúcias
- MySQL – Banco de dados relacional
- NumPy – Normalização e manipulação de arrays
- Regex (re) – Limpeza de strings hexadecimal
- Tkinter – Interface gráfica (front-end)
- Sklearn (cosine similarity) – Comparação vetorial
O sistema é dividido em arquivos principais, cada um responsável por uma parte do fluxo:
📁 FerramentaBiometrica/
├── main.py # Tela principal / Navegação
├── cadastro.py # Tela de cadastro biométrico
├── login.py # Tela de login/autenticação
├── telasucesso.py # Tela exibida após login bem-sucedido
├── banco.py # Conexão e manipulação de dados no MySQL
├── comparador.py # Função que compara as características
└── requirements.txt # Lista de dependências
- Clone o repositório:
git clone https://github.com/Ryuko46/FerramentaBiometrica.git
cd FerramentaBiometrica
Crie um ambiente virtual (opcional, mas recomendado):
- Crie um ambiente virtual (opcional):
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
Instale as dependências:
- Instale as dependências:
pip install -r requirements.txt
Configure o banco MySQL:
- Configure o banco MySQL:
-Crie o banco de dados e tabelas conforme estrutura usada no banco.py
-Altere as credenciais de conexão no código, se necessário
- Execute a aplicação:
python main.py
-O sistema foi feito com fins educacionais e pode ser expandido para uso real com ajustes em segurança e escalabilidade.
-A comparação biométrica é feita com base na similaridade de cosseno entre vetores de minúcias extraídas de imagens.
-Imagens de baixa qualidade, sujeira ou ruído podem comprometer a precisão do reconhecimento.
João Victor Crisci (Ryuko46)
Guilherme Vieira (guilhermeAbbenante)
Bruno da Silva (E3ND)
Hitalo Chaves (Hitalo-27)