Visão Computacional e Análise Documental

Sistema de Detecção de Documentos Adulterados

Plataforma desenvolvida com PHP, MySQL, Python e OpenCV para comparar um documento original com outro sob análise, identificar diferenças visuais e textuais e assinalar áreas que podem ter sido alteradas.

Sobre o projecto

Desenvolvi este sistema para facilitar a verificação de possíveis alterações em documentos. O utilizador carrega o documento considerado original e uma segunda versão que pretende analisar. A aplicação converte os documentos em imagens, prepara as páginas, compara a estrutura visual e extrai o texto por OCR. No final, apresenta uma percentagem de semelhança e destaca as regiões onde foram encontradas diferenças.

A solução pode auxiliar na observação de textos modificados, elementos removidos ou acrescentados, fotografias substituídas, diferenças em assinaturas, carimbos, datas, valores e outras alterações visíveis. O histórico das análises e os respectivos resultados podem ser guardados na base de dados MySQL.

Como funciona

1 Carregamento: o utilizador envia o documento original e o documento que será verificado.
2 Conversão: as páginas dos ficheiros PDF são convertidas em imagens para processamento.
3 Pré-processamento: as imagens são redimensionadas, alinhadas e preparadas para uma comparação correcta.
4 Comparação SSIM: o sistema mede a semelhança estrutural entre as páginas dos dois documentos.
5 Leitura OCR: o texto é extraído para ajudar a localizar palavras, números ou datas diferentes.
6 Resultado: as diferenças são destacadas e a percentagem de semelhança é apresentada ao utilizador.

O que o sistema pode identificar

Textos, nomes, números, datas ou valores modificados.
Fotografias, logótipos ou imagens substituídas.
Elementos apagados, removidos ou acrescentados.
Possíveis diferenças em assinaturas e carimbos.
Alterações no posicionamento ou na estrutura do documento.
Percentagem de semelhança entre o original e o documento analisado.

Documento original

Referência para comparação

Documento analisado

Diferenças destacadas

Bibliotecas utilizadas

OpenCVProcessamento e comparação de imagens
NumPyMatrizes e cálculos numéricos
scikit-imageCálculo do índice SSIM
PyMuPDFLeitura e conversão de PDF
PillowManipulação de imagens
pytesseractExtracção de texto por OCR
PHPInterface e lógica web
MySQLDados e histórico de análises

Função das principais tecnologias

O Python executa o motor de análise documental. O OpenCV trata, alinha e compara as imagens. O NumPy permite representar as imagens como matrizes e efectuar cálculos. A biblioteca scikit-image disponibiliza o SSIM, utilizado para medir a semelhança estrutural. O PyMuPDF abre e converte páginas PDF; o Pillow auxilia na manipulação das imagens; e o pytesseract realiza o reconhecimento óptico de caracteres.

O PHP controla o carregamento dos documentos, a comunicação com o motor Python e a apresentação dos resultados. O MySQL armazena os registos dos documentos, percentagens de semelhança, datas e histórico das análises efectuadas.

Vantagens do sistema

Reduz o tempo necessário para comparar documentos manualmente.
Destaca visualmente as regiões que precisam de verificação.
Apresenta resultados claros e uma percentagem de semelhança.
Mantém um histórico organizado das análises realizadas.
Nota importante: o sistema funciona como ferramenta de apoio e identifica diferenças entre ficheiros. Uma diferença não prova, por si só, que houve falsificação ou adulteração. A conclusão deve considerar o documento físico, a qualidade das imagens e a análise de um profissional competente.

Precisa de uma solução semelhante?

Entrar em contacto