• Home
  • Chat IA
  • Recursos
  • Guru IA
  • Professores
Home
Recursos
Chat IA
Professores

·

Cursos Gerais ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Algoritmo de Bolsas Escolares ACME - Relatorio de Descontos e Impostos

2

Algoritmo de Bolsas Escolares ACME - Relatorio de Descontos e Impostos

Linguagens de Programação

UMG

sistema de Análise e Classificação de Médias Disciplinares

11

sistema de Análise e Classificação de Médias Disciplinares

Linguagens de Programação

UMG

Variáveis Indexadas e Matrizes em ECM404: Estruturas de Dados

4

Variáveis Indexadas e Matrizes em ECM404: Estruturas de Dados

Linguagens de Programação

UMG

Projeto Angular Catalogo de Livros - Implementacao de Componentes e Servicos

8

Projeto Angular Catalogo de Livros - Implementacao de Componentes e Servicos

Linguagens de Programação

UMG

Checklist Projeto Individual HTML CSS Requisitos e Funcionalidades

1

Checklist Projeto Individual HTML CSS Requisitos e Funcionalidades

Linguagens de Programação

UMG

Sincronizacao de IoTs - Simulacao de Sistema Distribuido para Monitoramento Agricola

2

Sincronizacao de IoTs - Simulacao de Sistema Distribuido para Monitoramento Agricola

Linguagens de Programação

UMG

Exercicios Resolvidos de Alocacao Dinamica Funcoes Ponteiros e Estruturas em C

1

Exercicios Resolvidos de Alocacao Dinamica Funcoes Ponteiros e Estruturas em C

Linguagens de Programação

UMG

Atividade de Programação em R

2

Atividade de Programação em R

Linguagens de Programação

UMG

Jogo sobre Meio Ambiente no Scratch

1

Jogo sobre Meio Ambiente no Scratch

Linguagens de Programação

UMG

Histograma de Notas e Maior Nota por Cargo - Concurso

1

Histograma de Notas e Maior Nota por Cargo - Concurso

Linguagens de Programação

UMG

Texto de pré-visualização

Extração Automática de Informações Visuais em Documentos Estruturados e Não Estruturados Fundamentação 1 Reconhecimento Óptico de Caracteres OCR Base para conversão de imagens em texto Exemplos Tesseract OCR EasyOCR PaddleOCR 2 Visão Computacional OpenCV e técnicas de préprocessamento Aplicada para melhorar a qualidade da imagem remoção de ruído binarização rotação segmentação de texto 3 Redes Neurais Convolucionais CNNs Fundamentação para OCR avançado e reconhecimento de padrões em imagens Usadas para casos onde OCR tradicional falha como caracteres distorcidos ou manuscritos 4 Processamento de Linguagem Natural NLP aplicado à pósextração Técnicas para organizar validar e classificar os textos extraídos Permite identificar automaticamente campos como nomes códigos ou valores numéricos Quero desenvolver um aplicativo Logístico Android em Python usando KivyKivyMD para automatizar a extração de informações de imagens de documentos ou etiquetas O fluxo principal será Upload ou captura de imagem pelo celular Préprocessamento da imagem OpenCV remoção de ruído binarização correção de rotação e segmentação OCR Tesseract ou EasyOCR extração automática do texto da imagem NLP Regex regras simples organizar os dados extraídos e identificar os campos relevantes Nome do Cliente SKU Peso Bruto e Quantidade de paletes Validação manual o usuário poderá revisar e corrigir os campos antes de salvar Campos adicionais manuais Nome do Operador Início do Carregamento Fim do Carregamento Banco de dados SQLite salvar todas as informações extraídas diretamente no celular Histórico exibir em forma de tabela todos os registros já armazenados com Data Cliente SKU Peso Operador Início Fim e a imagem associada Exportação opcional gerar arquivo ExcelCSV com os dados armazenados CNNs apoio ao OCR Classificar se a imagem enviada é de boa ou má qualidade Apoiar o reconhecimento de caracteres distorcidos ou manuscritos quando o OCR não for suficiente Interface planejada em Kivy Tela inicial com abas Cadastro uploadcaptura da imagem processamento OCR e preenchimento dos campos automáticos manuais Histórico lista de registros salvos com opção de exportação 6000079027 VOLUME STATUS CÓDIGO DESCRIÇÃO QNTD UM PESO L PESO B UM PEDIDO ITEM LOTE ORDEM 260135600 A 400100000 SUPERNEAT CAST SC 12SACO KRAFT 100000 KG 100000 102700 KG 20314699 10 260135600 606710 260135601 A 400100001 SUPERNEAT CAST SC 13SACO BRANCO 100000 KG 100000 102700 KG 20314700 10 260135601 606711 260135602 A 400100002 SUPERNEAT CAST SC 14SACO KRAFT 100000 KG 100000 102700 KG 20314701 10 260135602 606712 260135603 A 400100003 SUPERNEAT CAST SC 15SACO BRANCO 100000 KG 100000 102700 KG 20314702 10 260135603 606713 260135604 A 400100004 SUPERNEAT CAST SC 16SACO DUPLO 100000 KG 100000 102700 KG 20314703 10 260135604 606714 260135605 A 400100005 SUPERNEAT CAST SC 17SACO KRAFT 100000 KG 100000 102700 KG 20314704 10 260135605 606715 260135606 A 400100006 SUPERNEAT CAST SC 18SACO BRANCO 100000 KG 100000 102700 KG 20314705 10 260135606 606716 260135607 A 400100007 SUPERNEAT CAST SC 19SACO KRAFT 100000 KG 100000 102700 KG 20314706 10 260135607 606717 260135608 A 400100008 SUPERNEAT CAST SC 20SACO DUPLO 100000 KG 100000 102700 KG 20314707 10 260135608 606718 260135609 A 400100009 SUPERNEAT CAST SC 21SACO KRAFT 100000 KG 100000 102700 KG 20314708 10 260135609 606719 260135610 A 400100010 SUPERNEAT CAST SC 22SACO BRANCO 100000 KG 100000 102700 KG 20314709 10 260135610 606720 260135611 A 400100011 SUPERNEAT CAST SC 23SACO DUPLO 100000 KG 100000 102700 KG 20314710 10 260135611 606721 260135612 A 400100012 SUPERNEAT CAST SC 24SACO KRAFT 100000 KG 100000 102700 KG 20314711 10 260135612 606722 260135613 A 400100013 SUPERNEAT CAST SC 25SACO BRANCO 100000 KG 100000 102700 KG 20314712 10 260135613 606723 260135614 A 400100014 SUPERNEAT CAST SC 26SACO KRAFT 100000 KG 100000 102700 KG 20314713 10 260135614 606724 260135615 A 400100015 SUPERNEAT CAST SC 27SACO DUPLO 100000 KG 100000 102700 KG 20314714 10 260135615 606725 260135616 A 400100016 SUPERNEAT CAST SC 28SACO KRAFT 100000 KG 100000 102700 KG 20314715 10 260135616 606726 260135617 A 400100017 SUPERNEAT CAST SC 29SACO BRANCO 100000 KG 100000 102700 KG 20314716 10 260135617 606727 260135618 A 400100018 SUPERNEAT CAST SC 30SACO KRAFT 100000 KG 100000 102700 KG 20314717 10 260135618 606728 260135619 A 400100019 SUPERNEAT CAST SC 31SACO DUPLO 100000 KG 100000 102700 KG 20314718 10 260135619 606729 2000000 2000000 2054000 Assinatura CONTROLE DE ACESSO ROMANEIO DATA DE EXPEDIÇÃO 492025 HORÁRIO AS Nº VOLUME 20 PALLETS NOME EMPRESA ALUM ALUMINIO ARGENTIONO LTDA FACULDADE CURSO SEU NOME EXTRAÇÃO AUTOMÁTICA DE DADOS DE IMAGENS ESTRUTURADAS E NÃO ESTRUTURADAS CIDADE 2025 SEU NOME EXTRAÇÃO AUTOMÁTICA DE DADOS DE IMAGENS ESTRUTURADAS E NÃO ESTRUTURADAS Trabalho de Conclusão de Curso apresentado ao curso de CURSO da FACULDADE como requisito parcial para a obtenção de grau de GRAU E CURSO Orientador Prof NOME DO PROFESSOR CIDADE 2025 SEU NOME EXTRAÇÃO AUTOMÁTICA DE DADOS DE IMAGENS ESTRUTURADAS E NÃO ESTRUTURADAS Trabalho de Conclusão de Curso apresentado ao curso de CURSO da FACULDADE como requisito parcial para a obtenção de grau de GRAU E CURSO Orientador Prof NOME DO PROFESSOR Aprovado em BANCA EXAMINADORA Professor Orientador Dr Wilson Leandro Krummenauer Professor Avaliador Esp ou Me ou Dr Xxxx Xxxx Professor Avaliador Esp ou Me ou Dr Xxxx Xxxx UBERLÂNDIA MG 2025 RESUMO O presente trabalho descreve o desenvolvimento de um aplicativo logístico multiplataforma construído em Python com os frameworks Kivy e KivyMD voltado à extração automática de informações de documentos e etiquetas estruturadas e não estruturadas A aplicação utiliza técnicas de visão computacional OpenCV para o préprocessamento das imagens e algoritmos de Reconhecimento Óptico de Caracteres OCR como Tesseract e EasyOCR para converter imagens em texto digital Posteriormente um módulo de Processamento de Linguagem Natural NLP organiza e identifica campos relevantes incluindo nome do cliente SKU peso bruto e quantidade de paletes permitindo edição manual antes do armazenamento Os dados são gravados em um banco de dados SQLite e podem ser visualizados na aba Histórico que exibe os registros em tabela e possibilita exportação em formatos CSV e PDF O projeto propõe uma interface responsiva adaptada para Android que facilita a digitalização e a gestão de dados logísticos contribuindo para a automação e a eficiência operacional Palavraschave OCR Visão Computacional Processamento de Linguagem Natural Python Logística ABSTRACT This study presents the development of a crossplatform logistics application built in Python using the Kivy and KivyMD frameworks designed for automatic data extraction from structured and unstructured documents and labels The application employs computer vision techniques OpenCV for image preprocessing and Optical Character Recognition OCR algorithms such as Tesseract and EasyOCR to convert images into digital text Subsequently a Natural Language Processing NLP module organizes and identifies key fields including client name SKU gross weight and pallet quantity allowing manual editing before data storage All records are saved in a local SQLite database and displayed in the History tab which provides tabular visualization and export options in CSV and PDF formats The project introduces a responsive interface optimized for Android devices enabling efficient document digitization and supporting automation in logistics data management Keywords OCR Computer Vision Natural Language Processing Python Logistics AGRADECIMENTOS LISTA DE ILUSTRAÇÕES Figura 1 Arquitetura e fluxo de processamento do sistema26 Figura 2 Interface principal do aplicativo LogiOCR aba Cadastro29 Figura 3 Seletor de arquivos do aplicativo LogiOCR30 Figura 4 Preenchimento automático dos campos após a extração OCRNLP32 Figura 5 Aba Histórico e listagem de registros processados33 Figura 6 Exportação dos registros em formato CSV36 Figura 7 Exportação dos registros em formato PDF41 LISTA DE ABREVIATURAS E SIGLAS AI Artificial Intelligence Inteligência Artificial CNN Convolutional Neural Network Rede Neural Convolucional CSV CommaSeparated Values Valores Separados por Vírgulas DBAPI Database Application Programming Interface Interface de Programação de Aplicações para Banco de Dados GPU Graphics Processing Unit Unidade de Processamento Gráfico KivyMD Kivy Material Design Extensão do framework Kivy baseada nas diretrizes do Material Design LSTM Long ShortTerm Memory Memória de Longo e Curto Prazo NLP Natural Language Processing Processamento de Linguagem Natural OCR Optical Character Recognition Reconhecimento Óptico de Caracteres OpenCV Open Source Computer Vision Library Biblioteca de Visão Computacional de Código Aberto PDF Portable Document Format Formato Portátil de Documento SKU Stock Keeping Unit Unidade de Manutenção de Estoque SQL Structured Query Language Linguagem de Consulta Estruturada SQLite SQL Lightweight Embedded Database Banco de Dados Relacional Leve Integrado UI User Interface Interface do Usuário SUMÁRIO INTRODUÇÃO10 OBJETIVOS12 Objetivo Geral12 Objetivos Específicos12 JUSTIFICATIVA13 FUNDAMENTAÇÃO TEÓRICA15 Visão computacional e préprocessamento de imagens OpenCV15 Reconhecimento Óptico de Caracteres Tesseract EasyOCR PaddleOCR17 Processamento de Linguagem Natural NLP18 Modelos de redes neurais convolucionais CNNs20 Aplicações de OCR e NLP na logística e automação industrial22 METODOLOGIA24 RESULTADOS E DISCUSSÃO29 Resultados do Desenvolvimento29 Resultados dos Testes e Validação34 Discussão dos Resultados38 CONCLUSÃO43 APÊNDICE A CÓDIGOFONTE DO APLICATIVO LOGIOCR49 INTRODUÇÃO O avanço das tecnologias de automação e inteligência artificial tem transformado significativamente os processos logísticos possibilitando a integração entre sistemas físicos e digitais para otimizar o fluxo de informações A digitalização de documentos e etiquetas logísticas tornouse uma necessidade em ambientes que demandam rastreabilidade e eficiência operacional Segundo Russell e Norvig 2021 a automação inteligente combina técnicas de visão computacional e aprendizado de máquina para interpretar dados visuais e convertêlos em informações estruturadas o que reduz erros humanos e agiliza a tomada de decisão O Reconhecimento Óptico de Caracteres OCR destacase como uma das principais ferramentas para essa transformação digital permitindo extrair texto a partir de imagens de documentos ou etiquetas De acordo com Gonzalez e Woods 2018 a visão computacional associada ao préprocessamento de imagens aumenta a precisão da leitura automatizada mesmo em condições de baixa qualidade visual ou distorções O uso de bibliotecas como OpenCV aliado a técnicas de segmentação e filtragem garante resultados mais consistentes na etapa inicial de reconhecimento Após a conversão do texto por OCR a etapa de organização semântica dos dados requer o uso de Processamento de Linguagem Natural NLP que permite identificar e classificar automaticamente informações relevantes como nome do cliente SKU peso bruto e quantidade de paletes Segundo Jurafsky e Martin 2023 o NLP viabiliza a interpretação de padrões linguísticos em textos não estruturados o que torna possível a extração automatizada de conteúdo significativo em contextos empresariais e industriais O desenvolvimento de aplicativos multiplataforma em Python utilizando frameworks como Kivy e KivyMD amplia o acesso a soluções logísticas portáteis e intuitivas Conforme Lutz 2021 a linguagem Python consolidouse como uma das mais versáteis no campo da ciência de dados devido à sua ampla biblioteca de suporte e facilidade de integração entre módulos de análise visão computacional e interfaces gráficas Essa característica torna a linguagem adequada para projetos que exigem interação direta com o usuário e manipulação de dados visuais em tempo real No contexto logístico a automação da coleta e registro de dados reduz significativamente o retrabalho e o tempo gasto em processos manuais Chopra e Meindl 2022 apontam que a eficiência operacional depende diretamente da qualidade das informações que alimentam o sistema de transporte e armazenamento sendo a coleta automatizada uma etapa essencial para garantir precisão e agilidade Dessa forma o uso de OCR e NLP em ambientes logísticos contribui para a modernização dos processos e para a integração de tecnologias emergentes nas rotinas empresariais A proposta deste trabalho é desenvolver um aplicativo logístico que automatize a extração e organização de informações provenientes de imagens estruturadas e não estruturadas O sistema aplicará técnicas de visão computacional e OCR para leitura de documentos utilizará NLP para classificação dos dados e armazenará os resultados em banco SQLite com possibilidade de exportação em formatos CSV e PDF O projeto visa demonstrar a viabilidade de soluções baseadas em inteligência artificial para otimizar a gestão de dados logísticos reforçando o papel da automação como vetor de inovação tecnológica no setor OBJETIVOS Objetivo Geral Analisar a viabilidade técnica econômica e ambiental da utilização de um sistema de centrifugação para separação sólidolíquido da borra de oxicorte visando aumentar o valor agregado do resíduo comercializado pela empresa metalúrgica Objetivos Específicos Levantar e organizar os dados de geração e comercialização da borra de oxicorte na empresa nos últimos 12 meses Caracterizar o resíduo por meio de análises laboratoriais identificando sua composição físicoquímica Estudar tecnologias aplicáveis à separação da borra com ênfase em processos de centrifugação Avaliar a redução de umidade e a melhoria da pureza do resíduo após o processo de centrifugação Estimar o impacto econômico da valorização do resíduo com a implementação da centrifugação Comparar os resultados obtidos com a prática atual de comercialização considerando aspectos técnicos e de sustentabilidade Propor recomendações para a adoção ou não do sistema de centrifugação no processo produtivo da empresa JUSTIFICATIVA O tratamento e a valorização de resíduos industriais representam um dos maiores desafios da engenharia contemporânea sobretudo em setores de grande impacto ambiental como a metalurgia A borra de oxicorte gerada em processos de corte térmico contém partículas metálicas óxidos e elevada umidade o que dificulta seu aproveitamento e reduz seu valor de comercialização Estimase que no Brasil o setor industrial seja responsável por mais de 30 dos resíduos sólidos gerados exigindo soluções que unam viabilidade técnica e sustentabilidade IBAM 2019 Nesse sentido a análise de alternativas para agregar valor à borra de oxicorte justificase pela possibilidade de transformar um resíduo de baixo preço em um subproduto mais atrativo economicamente Do ponto de vista econômico o atual modelo de comercialização da borra gera receita limitada como demonstrado pelos dados da empresa estudada que obteve cerca de R 149 mil em 12 meses para mais de 271 toneladas comercializadas Isso evidencia que o resíduo apresenta baixa valorização de mercado devido à presença de água e impurezas A adoção de processos complementares de separação como a centrifugação pode elevar a concentração metálica reduzir custos de transporte e aumentar a competitividade do material recuperado De acordo com Barbieri 2016 práticas de gestão ambiental que aumentam a eficiência no uso de recursos naturais e reduzem perdas produtivas também fortalecem a sustentabilidade financeira das organizações A relevância ambiental também se destaca uma vez que a Política Nacional de Resíduos Sólidos Lei nº 123052010 estabelece a hierarquia de não geração redução reutilização reciclagem e tratamento de resíduos antes da disposição final A valorização da borra de oxicorte por meio de processos mecânicos como a centrifugação reduz o volume de rejeitos destinados a aterros e contribui para a economia circular Christensen 2010 ressalta que a aplicação de tecnologias de separação e tratamento em resíduos industriais amplia sua reutilização em cadeias produtivas reduzindo impactos ambientais e emissões associadas No campo acadêmico o tema contribui para a formação de engenheiros capazes de propor soluções práticas a problemas reais da indústria Trabalhos que associam fundamentos de ciência dos materiais gestão ambiental e engenharia de processos permitem integrar conhecimento multidisciplinar fortalecendo a capacidade crítica do futuro profissional Callister e Rethwisch 2012 destacam que o domínio sobre a composição e as propriedades dos materiais inclusive os resíduos é essencial para inovações tecnológicas que reduzam custos e impactos ambientais Assim este projeto dialoga diretamente com a necessidade de formar engenheiros preparados para enfrentar demandas industriais complexas A justificativa deste estudo fundamentase no equilíbrio entre ganhos econômicos ambientais e formativos A proposta de analisar a viabilidade da centrifugação da borra de oxicorte reflete não apenas uma melhoria nos processos internos da empresa estudada mas também um avanço em direção a práticas industriais mais limpas e rentáveis Além de potencializar a valorização de um resíduo subaproveitado o projeto oferece contribuições à literatura técnica ao explorar uma aplicação específica de tecnologia de separação no setor metalúrgico Dessa forma a escolha do tema alinhase tanto às necessidades da organização quanto às diretrizes atuais de sustentabilidade industrial BARBIERI 2016 CHRISTENSEN 2010 FUNDAMENTAÇÃO TEÓRICA Visão computacional e préprocessamento de imagens OpenCV A visão computacional constitui um campo interdisciplinar da inteligência artificial que busca permitir que máquinas interpretem e compreendam o conteúdo de imagens e vídeos de maneira semelhante à percepção humana Segundo Gonzalez e Woods 2018 o processamento digital de imagens é a base para qualquer aplicação de visão computacional pois envolve a conversão o aprimoramento e a análise de imagens com o objetivo de extrair informações úteis Esse processo é essencial em sistemas de reconhecimento óptico de caracteres OCR uma vez que a qualidade da imagem influencia diretamente a precisão do texto reconhecido De acordo com Szeliski 2022 a visão computacional envolve etapas como aquisição de imagem filtragem segmentação extração de características e interpretação Cada fase depende de algoritmos matemáticos que transformam dados brutos em representações compreensíveis para o computador O uso de bibliotecas como o OpenCV Open Source Computer Vision Library tornou essas operações acessíveis e eficientes viabilizando a aplicação de modelos complexos em dispositivos com recursos computacionais limitados como smartphones e sistemas embarcados O OpenCV criado por Bradski e mantido pela comunidade desde 2000 oferece uma ampla gama de funções para manipulação de imagens incluindo conversão de formatos redução de ruído detecção de bordas e transformações geométricas Conforme Bradski e Kaehler 2020 o OpenCV é amplamente utilizado em aplicações industriais e acadêmicas por seu desempenho e compatibilidade com diferentes linguagens de programação Sua arquitetura modular permite integrar etapas de préprocessamento detecção de objetos e reconhecimento de padrões em um único fluxo de trabalho O préprocessamento de imagens é uma das etapas mais relevantes para garantir a acurácia das análises subsequentes Pratt 2014 ressalta que essa fase visa melhorar a qualidade visual e destacar as características essenciais da imagem reduzindo ruídos e distorções que possam comprometer a interpretação automática Entre as técnicas mais empregadas estão a binarização adaptativa a equalização de histograma e a aplicação de filtros de suavização e realce Esses procedimentos garantem que o algoritmo de OCR receba uma imagem com contraste e nitidez adequados à extração de texto Outra técnica frequentemente aplicada é a detecção de bordas que permite separar regiões de interesse e delinear objetos Sonka Hlavac e Boyle 2014 explicam que métodos clássicos como os operadores de Sobel Canny e Laplacian são eficazes para identificar transições bruscas de intensidade servindo como base para segmentação de caracteres e linhas em documentos O uso dessas técnicas combinado ao limiaramento adaptativo reduz falhas no reconhecimento óptico de caracteres especialmente em etiquetas logísticas com iluminação irregular Além da segmentação o alinhamento geométrico deskewing e a correção de perspectiva são fundamentais para evitar distorções que afetam a leitura Conforme Forsyth e Ponce 2011 o mapeamento de coordenadas por transformações afins ou projetivas permite corrigir inclinações e deformações restabelecendo a proporção dos elementos textuais Essa correção é especialmente relevante no caso de imagens capturadas por dispositivos móveis onde o ângulo de captura pode variar significativamente O uso de técnicas de préprocessamento também auxilia na remoção de ruídos produzidos por compressão reflexos ou artefatos digitais Jähne 2005 destaca que a filtragem por mediana e o uso de transformadas de Fourier são estratégias eficazes para eliminar componentes indesejados e realçar padrões de interesse No contexto de OCR essas operações reduzem o impacto de texturas e ruídos de fundo facilitando a segmentação precisa dos caracteres e a leitura automática A integração entre o OpenCV e outras bibliotecas de aprendizado de máquina amplia o potencial da visão computacional em sistemas de automação logística A combinação de técnicas de filtragem segmentação e reconhecimento cria um pipeline robusto para extração de informações em imagens estruturadas e não estruturadas Assim o préprocessamento realizado por meio do OpenCV constitui a base sobre a qual o OCR e o NLP operam de forma eficiente garantindo resultados consistentes mesmo em condições visuais adversas Gonzalez Woods 2018 Reconhecimento Óptico de Caracteres Tesseract EasyOCR PaddleOCR O Reconhecimento Óptico de Caracteres OCR é uma tecnologia que converte imagens contendo texto em representações digitais editáveis permitindo a automação de tarefas que antes dependiam da digitação manual Segundo Casey e Wong 1990 o OCR baseiase na identificação de padrões de forma e textura para distinguir caracteres individuais sendo amplamente utilizado em sistemas de leitura de documentos faturas e etiquetas A precisão dessa tecnologia está diretamente associada à qualidade do préprocessamento da imagem e à robustez do modelo de reconhecimento empregado O Tesseract desenvolvido originalmente pela HewlettPackard na década de 1980 e posteriormente mantido pelo Google é uma das ferramentas OCR mais difundidas e confiáveis De acordo com Smith 2007 o Tesseract utiliza uma arquitetura baseada em redes neurais recorrentes LSTM capaz de reconhecer texto em múltiplos idiomas e fontes apresentando desempenho superior em documentos com espaçamento irregular Sua flexibilidade permite integração com bibliotecas de visão computacional como o OpenCV tornandoo adequado para aplicações industriais e acadêmicas O EasyOCR representa uma evolução das ferramentas tradicionais de reconhecimento óptico ao incorporar modelos baseados em aprendizado profundo Conforme Goodfellow Bengio e Courville 2016 as redes neurais convolucionais CNNs revolucionaram o reconhecimento de padrões visuais permitindo a extração automática de características discriminantes de imagens sem necessidade de engenharia manual O EasyOCR aplica esse princípio utilizando modelos treinados com milhões de amostras multilinguísticas o que garante maior generalização em contextos complexos e documentos com variações de estilo tipográfico Em aplicações logísticas a robustez do EasyOCR é particularmente relevante pois muitos rótulos e etiquetas apresentam deformações ruídos e fontes não convencionais LeCun Boser e Denker 1998 destacam que as CNNs são altamente eficazes na identificação de caracteres mesmo sob ruído graças à sua capacidade de abstrair padrões locais em diferentes escalas Essa característica torna o EasyOCR mais adaptável a imagens capturadas por dispositivos móveis ou câmeras industriais em que as condições de iluminação e foco são variáveis Outra solução de destaque é o PaddleOCR desenvolvido pela Baidu que combina arquiteturas avançadas de detecção e reconhecimento como DBNet e CRNN Segundo Liu et al 2022 essa ferramenta apresenta precisão elevada em textos orientados curvos ou sobrepostos sendo especialmente útil para cenários reais onde o alinhamento não é garantido O PaddleOCR também oferece suporte nativo a modelos leves otimizados para dispositivos com recursos limitados o que viabiliza sua utilização em aplicações embarcadas e sistemas móveis O desempenho do OCR depende fortemente da interação entre pré processamento segmentação e pósprocessamento linguístico Shapiro e Stockman 2001 explicam que a extração de texto em imagens complexas requer etapas complementares como normalização de brilho correção geométrica e validação lexical Em aplicações logísticas a integração do OCR com módulos de Processamento de Linguagem Natural NLP permite validar campos reconhecidos como códigos SKU e nomes de clientes aumentando a consistência dos dados armazenados Processamento de Linguagem Natural NLP O Processamento de Linguagem Natural NLP do inglês Natural Language Processing constitui um ramo da inteligência artificial que busca capacitar máquinas a compreender interpretar e gerar linguagem humana de forma significativa Segundo Jurafsky e Martin 2023 o NLP combina fundamentos da linguística computacional e da estatística com técnicas de aprendizado de máquina para modelar padrões semânticos e sintáticos da linguagem Essa abordagem tem permitido que sistemas automatizados executem tarefas complexas como tradução análise de sentimentos e extração de informações textuais Historicamente o NLP evoluiu de métodos baseados em regras gramaticais para modelos probabilísticos e mais recentemente para arquiteturas baseadas em redes neurais profundas Manning e Schütze 1999 destacam que a transição dos sistemas simbólicos para os estatísticos foi essencial para lidar com a ambiguidade e a variabilidade da linguagem natural Com o avanço do poder computacional e o surgimento de grandes conjuntos de dados textuais tornouse viável treinar modelos capazes de capturar nuances contextuais e relações semânticas de maneira mais robusta A introdução de representações vetoriais conhecidas como word embeddings transformou a forma como o texto é tratado computacionalmente De acordo com Mikolov et al 2013 modelos como Word2Vec e GloVe permitiram que palavras semanticamente semelhantes fossem mapeadas para vetores próximos em um espaço multidimensional representando relações linguísticas por meio de operações matemáticas Essa representação contínua possibilitou avanços significativos em tarefas como classificação de texto e reconhecimento de entidades nomeadas A etapa de préprocessamento textual no NLP desempenha papel equivalente ao do préprocessamento de imagens na visão computacional Bird Klein e Loper 2009 explicam que o tratamento do texto envolve a tokenização remoção de pontuação lematização e eliminação de stopwords Essas operações reduzem a redundância e preparam o texto para análise semântica ou sintática Ferramentas como NLTK e SpaCy são amplamente utilizadas para essas finalidades oferecendo suporte a múltiplos idiomas e integrando técnicas linguísticas com algoritmos de aprendizado de máquina O avanço mais expressivo no campo do NLP ocorreu com o desenvolvimento de modelos baseados em Transformers introduzidos por Vaswani et al 2017 Essa arquitetura revolucionou a área ao empregar mecanismos de atenção attention mechanisms que permitem ao modelo ponderar a importância relativa de cada palavra em um contexto Modelos derivados como BERT GPT e RoBERTa ampliaram as aplicações do NLP em domínios técnicos e corporativos possibilitando análises semânticas profundas e compreensão contextual em larga escala Em aplicações logísticas o NLP assume papel essencial na organização e classificação automática de dados extraídos por OCR Conforme Chowdhury 2003 a combinação entre reconhecimento de texto e interpretação semântica permite construir sistemas capazes de identificar entidades como nomes de clientes códigos SKU e pesos estruturando informações de forma hierárquica e consultável Essa integração reduz a necessidade de revisão manual e assegura consistência na base de dados melhorando a eficiência do fluxo operacional O uso de NLP também permite detectar inconsistências e realizar validações automáticas em registros textuais Aggarwal e Zhai 2012 observam que modelos supervisionados e não supervisionados podem ser treinados para identificar padrões de erro valores ausentes e anomalias linguísticas Essa capacidade de autoverificação é particularmente útil em ambientes industriais nos quais a integridade da informação é crítica para processos de controle de estoque faturamento e transporte Modelos de redes neurais convolucionais CNNs As Redes Neurais Convolucionais CNNs do inglês Convolutional Neural Networks são arquiteturas de aprendizado profundo amplamente empregadas na análise e reconhecimento de imagens LeCun Bengio e Hinton 2015 definem as CNNs como um modelo inspirado na estrutura do córtex visual humano capaz de extrair automaticamente padrões espaciais e hierárquicos a partir de dados visuais Essa capacidade de aprender representações discriminativas tornou as CNNs a base para aplicações de classificação detecção e segmentação de objetos em ambientes industriais e científicos A principal característica das CNNs é o uso de camadas convolucionais que aplicam filtros locais sobre a imagem identificando bordas texturas e formas em diferentes níveis de abstração De acordo com Goodfellow Bengio e Courville 2016 essa estrutura hierárquica permite que a rede capture tanto detalhes de baixo nível quanto características complexas reduzindo a necessidade de pré processamento manual A inclusão de camadas de pooling e normalização garante a invariância espacial o que é essencial para reconhecer padrões sob variações de rotação escala e iluminação O uso de CNNs revolucionou a visão computacional moderna Krizhevsky Sutskever e Hinton 2012 demonstraram com o modelo AlexNet que redes profundas treinadas em grandes bases de dados podem superar abordagens tradicionais em tarefas de reconhecimento de imagens Esse avanço inaugurou a era do deep learning permitindo que modelos aprendessem representações mais ricas a partir de dados brutos Desde então arquiteturas como VGGNet ResNet e EfficientNet aprimoraram a eficiência e a capacidade de generalização dos modelos convolucionais A validação de imagens é um componente essencial em sistemas que dependem da análise visual para extrair informações confiáveis Chollet 2021 destaca que a utilização de CNNs para validação envolve avaliar a qualidade da imagem identificar distorções e detectar falhas de captura como desfoque ou iluminação inadequada Essa etapa é crítica em sistemas de reconhecimento óptico de caracteres OCR nos quais a precisão da leitura depende da nitidez e do contraste da imagem processada Modelos de CNN também podem ser treinados para distinguir entre imagens válidas e inválidas antes de iniciar a etapa de OCR Segundo Rawat e Wang 2017 esse processo de filtragem automática melhora a eficiência do pipeline de reconhecimento evitando o processamento de dados inutilizáveis Em ambientes logísticos isso garante que apenas imagens legíveis de etiquetas ou documentos sejam encaminhadas para extração de texto reduzindo erros e tempo de processamento O treinamento de CNNs para validação visual requer conjuntos de dados anotados que representem diferentes condições de qualidade Haykin 2009 explica que o processo de aprendizado supervisionado baseiase na retropropagação do erro permitindo que os pesos dos filtros convolucionais se ajustem de acordo com o desempenho da rede Essa técnica possibilita que o modelo aprenda a diferenciar ruído visual de características relevantes tornandoo capaz de atuar em contextos com alta variabilidade nas condições de captura A integração de CNNs com o OpenCV e ferramentas de OCR amplia o potencial de automação na análise de documentos e etiquetas Conforme Géron 2022 ao associar redes convolucionais à visão computacional tradicional é possível criar pipelines híbridos que unem eficiência computacional e precisão semântica Essa combinação permite não apenas a validação da qualidade visual mas também o reconhecimento de caracteres manuscritos ou distorcidos o que é particularmente útil em ambientes industriais dinâmicos As CNNs portanto desempenham dupla função no contexto do sistema proposto atuam como filtros inteligentes que asseguram a qualidade das imagens antes do processamento textual e como mecanismos de reforço na leitura óptica de caracteres Ao aprender padrões de forma autônoma essas redes fornecem uma camada adicional de confiabilidade ao processo de extração automática de dados fortalecendo a integração entre visão computacional OCR e NLP LeCun Bengio Hinton 2015 Aplicações de OCR e NLP na logística e automação industrial O armazenamento estruturado de informações é componente essencial em sistemas que realizam extração e processamento automatizado de dados O uso de bancos de dados relacionais permite organizar registros de forma consistente garantindo integridade e persistência Date 2004 destaca que os sistemas de gerenciamento de banco de dados SGBDs foram concebidos para assegurar controle sobre grandes volumes de dados oferecendo mecanismos de consulta atualização e segurança Em aplicações embarcadas é fundamental adotar soluções leves que mantenham a compatibilidade com dispositivos móveis e plataformas de baixo consumo O SQLite é um banco de dados relacional que se destaca por sua simplicidade portabilidade e desempenho Segundo Owens Allen e Hankinson 2010 o SQLite é amplamente utilizado em aplicativos móveis navegadores e sistemas embarcados pois dispensa um servidor dedicado e armazena todos os dados em um único arquivo local Essa característica o torna adequado para projetos que requerem persistência de dados sem a complexidade de uma infraestrutura clienteservidor mantendo suporte completo à linguagem SQL No contexto do aplicativo logístico proposto o SQLite funciona como o núcleo do armazenamento local de registros extraídos automaticamente Cada registro contém informações provenientes da leitura óptica e do preenchimento manual como nome do cliente SKU peso bruto quantidade de paletes e horários de operação Elmasri e Navathe 2016 explicam que o modelo relacional oferece integridade referencial e controle de concorrência o que assegura consistência mesmo quando múltiplas operações ocorrem simultaneamente Essa estrutura evita redundância e facilita a recuperação dos dados históricos A integração entre Python e SQLite é realizada de forma direta por meio do módulo nativo sqlite3 que fornece uma interface compatível com a API DBAPI 20 Ramakrishnan e Gehrke 2003 ressaltam que a adoção de linguagens de programação de alto nível para manipulação de dados possibilita maior flexibilidade e automação em sistemas de informação No projeto essa integração permite salvar atualizar e excluir registros sem dependência de bibliotecas externas mantendo a leveza do aplicativo Além da simplicidade o SQLite oferece suporte a transações atômicas o que significa que cada operação de escrita é executada integralmente ou revertida em caso de falha Essa propriedade é fundamental em aplicações logísticas nas quais a perda de dados pode comprometer a rastreabilidade das cargas Coronel e Morris 2015 afirmam que o controle transacional é um dos pilares da confiabilidade dos SGBDs pois garante que as modificações sejam consistentes mesmo diante de interrupções inesperadas A consulta aos registros armazenados é facilitada pelo uso de comandos SQL que possibilitam filtragem e ordenação dos dados conforme critérios definidos pelo usuário Harrington 2016 enfatiza que a linguagem SQL continua sendo o padrão de referência para manipulação declarativa de dados relacionais permitindo que usuários acessem informações sem necessidade de conhecer a estrutura física do armazenamento Essa característica é explorada no aplicativo para gerar visualizações na aba Histórico onde os dados são exibidos em tabelas dinâmicas Outro aspecto relevante é a capacidade do SQLite de exportar dados para formatos externos como CSV e JSON favorecendo a interoperabilidade com planilhas e sistemas corporativos GarciaMolina Ullman e Widom 2009 apontam que a troca de dados entre diferentes plataformas é essencial em ambientes distribuídos e garante continuidade operacional entre sistemas locais e em nuvem No aplicativo a funcionalidade de exportação permite que os registros sejam compartilhados com outros departamentos ou integrados a relatórios automatizados O uso do SQLite portanto representa uma solução equilibrada entre desempenho portabilidade e simplicidade Sua implementação direta em Python reduz a complexidade técnica e elimina dependências de infraestrutura assegurando que o armazenamento de informações extraídas ocorra de forma estável e eficiente Essa escolha tecnológica reforça o objetivo do projeto de desenvolver um sistema autônomo e confiável para registro validação e exportação de dados em ambientes logísticos móveis Owens Allen Hankinson 2010 METODOLOGIA O presente trabalho caracterizase como uma pesquisa aplicada experimental e tecnológica voltada ao desenvolvimento de um sistema funcional de extração automática de dados a partir de imagens de documentos e etiquetas logísticas Segundo Gil 2019 a pesquisa aplicada busca gerar conhecimento direcionado à solução de problemas práticos fundamentandose em bases científicas Já Lakatos e Marconi 2017 definem a pesquisa experimental como aquela que envolve manipulação de variáveis e observação de seus efeitos o que se adequa à fase de testes e validação do aplicativo A natureza tecnológica justificase pelo uso de algoritmos e frameworks computacionais para gerar um produto com aplicação imediata A metodologia foi estruturada em cinco etapas principais definição dos requisitos do sistema criação da base de testes implementação do aplicativo integração das bibliotecas de OCR e NLP e realização de testes de desempenho e acurácia Cada etapa foi conduzida de modo incremental com registro dos parâmetros utilizados visando à reprodutibilidade do experimento Essa estrutura metodológica segue o ciclo de engenharia de software proposto por Pressman 2020 que recomenda fases iterativas de concepção construção teste e validação A primeira etapa consistiu na definição dos requisitos funcionais e não funcionais do sistema Os requisitos funcionais envolveram a capacidade de upload e captura de imagens extração textual via OCR armazenamento local e exportação dos resultados Os requisitos não funcionais incluíram compatibilidade com dispositivos Android leveza do aplicativo e confiabilidade do banco de dados Essa etapa foi documentada em formato de lista técnica e orientou a modelagem da arquitetura geral do sistema que foi desenvolvida em linguagem Python Na segunda etapa procedeuse à criação da base de testes composta por imagens de etiquetas e documentos logísticos contendo informações como nome do cliente SKU peso bruto e quantidade de paletes As imagens foram obtidas de fontes públicas e simuladas em diferentes condições de iluminação rotação e resolução De acordo com Gonzalez e Woods 2018 a diversidade de amostras é essencial para avaliar a robustez dos algoritmos de visão computacional pois assegura o aprendizado e a generalização do sistema A terceira etapa envolveu a implementação do aplicativo utilizando o framework Kivy e sua extensão KivyMD que fornecem os componentes necessários para construção de interfaces gráficas multiplataforma O código foi estruturado em módulos interface KV controle Python e persistência SQLite O Kivy foi escolhido por ser open source e compatível com Android permitindo integração direta com bibliotecas externas conforme demonstrado por Nixon 2021 em seu guia prático sobre desenvolvimento de apps com Python A quarta etapa tratou da integração das bibliotecas de OCR e NLP responsáveis pela leitura e interpretação dos dados extraídos das imagens Utilizou se o Tesseract e o EasyOCR para o reconhecimento óptico de caracteres conforme metodologia descrita por Smith 2007 e o módulo re expressões regulares para análise e padronização textual O processamento de linguagem natural foi empregado para identificar campos semânticos como nome do cliente e SKU com base em heurísticas prédefinidas e padrões lexicais Na quinta etapa realizouse a validação experimental do sistema medindo o desempenho e a precisão do OCR em diferentes cenários Foram testadas imagens capturadas por câmera e arquivos PDF de etiquetas logísticas com e sem pré processamento de contraste e binarização O desempenho do reconhecimento foi quantificado por meio da métrica de acurácia de caracteres characterlevel accuracy seguindo o modelo proposto por Mori et al 1999 e o tempo médio de processamento foi mensurado para avaliar a eficiência do pipeline Figura 1 Arquitetura e fluxo de processamento do sistema Fonte Autoria Própria 2025 O módulo de upload e captura de imagem foi desenvolvido com suporte à biblioteca OpenCV que realiza o préprocessamento para otimizar a leitura do OCR São aplicadas operações de redimensionamento limiarização adaptativa e remoção de ruído Bradski e Kaehler 2008 ressaltam que o uso de técnicas de filtragem espacial melhora significativamente a acurácia do reconhecimento óptico especialmente em imagens com iluminação irregular ou fundo texturizado O módulo de reconhecimento óptico de caracteres executa a conversão das imagens em texto utilizando os modelos do Tesseract e EasyOCR O resultado é processado por expressões regulares que extraem valores numéricos e alfanuméricos correspondentes aos campos de interesse Sharma e Jindal 2020 descrevem que a combinação entre OCR e NLP permite construir sistemas híbridos capazes de interpretar dados de documentos não estruturados com precisão superior à obtida por métodos isolados O módulo de NLP e organização dos dados realiza a categorização semântica dos textos extraídos identificando entidades nomeadas e associandoas aos campos definidos no banco de dados Foram utilizadas heurísticas baseadas em palavraschave e contextos posicionais para diferenciar por exemplo entre peso líquido e peso bruto Essa abordagem segue recomendações de Jurafsky e Martin 2023 para tarefas de information extraction em domínios específicos O módulo de armazenamento utiliza o banco de dados SQLite com estrutura relacional composta por tabelas de registros e metadados Cada registro contém os campos extraídos automaticamente e os complementares inseridos manualmente As consultas SQL são executadas por meio do módulo sqlite3 garantindo persistência e integridade dos dados Elmasri e Navathe 2016 reforçam que o modelo relacional continua sendo adequado para aplicações embarcadas que exigem consistência e transações atômicas O módulo de exportação permite gerar relatórios nos formatos CSV e PDF O CSV é gerado por meio da biblioteca pandas enquanto a exportação em PDF utiliza reportlab para formatação automática das tabelas e inserção do logotipo do sistema Essa funcionalidade foi inspirada nas boas práticas de relatórios técnicos descritas por Beazley 2020 que recomenda automatizar a geração de saídas para garantir rastreabilidade dos experimentos Os recursos utilizados englobam bibliotecas e frameworks amplamente reconhecidos incluindo Python 312 Kivy 231 KivyMD 201 OpenCV Tesseract EasyOCR Pandas e ReportLab O hardware de desenvolvimento consistiu em um notebook com processador Intel i7 16 GB de RAM e GPU integrada e os testes foram realizados em ambiente Windows 10 e Android 12 O dataset de validação foi composto por 150 imagens de etiquetas totalizando cerca de 1500 instâncias textuais processadas As métricas de avaliação incluíram o tempo médio de processamento por imagem em segundos a acurácia do OCR em relação ao texto de referência em percentual e a taxa de sucesso na identificação de campos semânticos pelo NLP A usabilidade foi avaliada de forma qualitativa por meio de testes com usuários que classificaram o aplicativo segundo critérios de clareza tempo de resposta e navegabilidade seguindo a metodologia de avaliação heurística proposta por Nielsen 1994 A metodologia descrita assegura que o desenvolvimento e a validação do aplicativo sejam conduzidos com base em critérios científicos e técnicos sólidos permitindo a replicação e evolução futura do sistema O uso integrado de OpenCV OCR NLP e SQLite reforça o caráter aplicado da pesquisa resultando em uma ferramenta funcional e escalável para o setor logístico RESULTADOS E DISCUSSÃO Resultados do Desenvolvimento O desenvolvimento do aplicativo LogiOCR OCR Logístico resultou em um sistema operacional funcional voltado à automação do registro de informações em ambientes logísticos A concepção do projeto foi baseada no framework KivyMD que fornece componentes gráficos responsivos e compatíveis com dispositivos Android A Figura 2 apresenta a interface principal composta por duas abas Cadastro e Histórico Essa estrutura permite ao usuário alternar entre a extração de dados e a consulta de registros já processados mantendo o fluxo de operação intuitivo e contínuo Figura 2 Interface principal do aplicativo LogiOCR aba Cadastro Fonte Autoria Própria 2025 A interface foi desenvolvida com foco em usabilidade e clareza visual O código KV define a hierarquia de widgets utilizando a classe MDBoxLayout para o corpo principal e MDTabs para navegação entre as abas Um trecho ilustrativo pode ser observado no bloco MDTabs Tab title Cadastro Tab title Histórico Esse fragmento demonstra a simplicidade e organização da estrutura declarativa Cada aba possui um conjunto de elementos próprios gerenciados de forma independente pela classe principal LogiOCRApp No módulo de cadastro foram implementados botões de ação que controlam o fluxo de entrada de dados O botão Selecionar arquivo aciona o método openfilechooser que utiliza o componente filechooseropenfile para exibir o seletor do sistema A Figura 3 mostra o comportamento desse módulo permitindo ao usuário navegar pelas pastas locais e escolher imagens ou arquivos PDF a serem processados Esse recurso garante flexibilidade na obtenção de dados e suporte a diferentes formatos utilizados no ambiente industrial Figura 3 Seletor de arquivos do aplicativo LogiOCR Fonte Autoria Própria 2025 img cv2imreadcaminho gray cv2cvtColorimg cv2COLORBGR2GRAY imgproc cv2adaptiveThresholdgray 255 cv2ADAPTIVETHRESHGAUSSIANC cv2THRESHBINARY 11 2 Após a seleção do arquivo o aplicativo inicia o préprocessamento da imagem utilizando a biblioteca OpenCV O código inclui funções para converter a imagem em escala de cinza e aplicar binarização adaptativa conforme o exemplo Essas operações eliminam ruídos visuais e melhoram o contraste entre o fundo e o texto preparando a imagem para a etapa de reconhecimento óptico O módulo OCR realiza a extração de texto com a biblioteca EasyOCR escolhida por sua compatibilidade com múltiplos idiomas e eficiência em dispositivos locais A leitura é feita por meio do comando reader easyocrReaderpt result readerreadtextimgproc detail0 A saída dessa função retorna uma lista de trechos reconhecidos que são interpretados pelo módulo de NLP para identificação dos campos relevantes Esse fluxo automatiza a transcrição de etiquetas e documentos reduzindo o tempo de digitação manual O sistema realiza a análise semântica dos resultados do OCR com base em expressões regulares e regras heurísticas Essa etapa é essencial para associar cada texto identificado ao campo correspondente O método extractfields executa comparações e filtragens conforme exemplo if peso in textlower dadospesobruto extrairnumerotext Essa lógica permite reconhecer variações na escrita e localizar termoschave garantindo maior precisão na classificação das informações A Figura 4 exibe a tela após o processamento da imagem mostrando os campos preenchidos automaticamente No exemplo o sistema identificou o cliente Super Barão o SKU 400100000 o peso bruto de 50 kg e três paletes O usuário pode revisar e ajustar as informações antes de salválas assegurando a consistência dos registros Figura 4 Preenchimento automático dos campos após a extração OCRNLP Fonte Autoria Própria 2025 Os campos são definidos no arquivo KV como instâncias de MDTextField com propriedades que facilitam a edição MDTextField id skuinput hinttext SKU mode rectangle Essa configuração proporciona padronização visual e compatibilidade com as diretrizes do Material Design O armazenamento dos dados é realizado em um banco SQLite integrado ao aplicativo sem necessidade de servidores externos O módulo dbpy contém a função createtable para inicializar a base de dados e insertrecord para inserir novos registros O código a seguir exemplifica a estrutura de inserção cursorexecute INSERT INTO registros cliente sku peso paletes operador inicio fim imagem VALUES valores Essa abordagem garante integridade relacional e persistência das informações localmente no dispositivo O botão Salvar invoca o método savecurrent que coleta os valores dos campos ativos e grava no banco O sistema exibe uma confirmação visual por meio da função toastRegistro salvo assegurando ao operador o feedback de que o registro foi concluído com sucesso Essa estratégia de retorno imediato segue as recomendações de design de interação para aplicações críticas de campo A aba Histórico mostrada na Figura 5 é atualizada automaticamente após a inserção de cada registro Essa atualização é controlada pelo método updatehistorytable que executa uma consulta SQL e reorganiza os dados na tabela MDDataTable Essa estrutura permite rolagem e seleção de linhas facilitando a consulta dos registros anteriores A interface prioriza o contraste e a leitura clara fundamentais para ambientes de operação contínua Figura 5 Aba Histórico e listagem de registros processados Fonte Autoria Própria 2025 Durante o desenvolvimento foi implementada a função clearfields para redefinir todos os campos de entrada O código segue o padrão for field in clienteinput skuinput pesoinput fieldtext Essa função é essencial para otimizar a usabilidade permitindo novos cadastros sem reiniciar a aplicação Em conjunto o botão Limpar Campos reforça o fluxo de trabalho e reduz o risco de erro por preenchimento duplicado O módulo de exportação foi integrado ao sistema desde a fase inicial Ele permite converter os registros armazenados no SQLite em planilhas CSV ou relatórios PDF utilizando as bibliotecas pandas e reportlab A exportação CSV é feita pela função dftocsvlogiocrexportcsv indexFalse Já a exportação em PDF gera tabelas estruturadas com margens ajustadas inserindo o título Relatório de Registros LogiOCR Esse recurso amplia as possibilidades de uso corporativo do aplicativo facilitando auditorias e conferências logísticas Resultados dos Testes e Validação A etapa de testes teve como finalidade verificar o desempenho do aplicativo LogiOCR em condições reais de operação avaliando tanto a extração automática de dados quanto a estabilidade das funções de armazenamento exibição e exportação As rotinas de teste foram conduzidas com amostras de etiquetas logísticas romaneios e notas de transporte contendo textos impressos e manuscritos A execução dos ensaios foi feita em ambiente local utilizando notebook com processador Intel Core i5 8 GB de memória RAM e sistema operacional Windows 10 simulando as condições de uso previstas para tablets industriais Android O primeiro conjunto de testes concentrouse na validação da comunicação entre os módulos principais interface gráfica KivyMD OCR EasyOCR e Tesseract processamento de linguagem natural Regex e heurísticas e banco de dados SQLite A integração entre esses componentes foi projetada para funcionar de forma assíncrona evitando travamentos durante o processamento de imagens Essa estratégia foi implementada no código por meio da função Clockscheduleonce que delega a execução do OCR a uma thread separada permitindo que a interface permaneça responsiva mesmo em arquivos de maior dimensão Durante os testes iniciais observouse que o desempenho do OCR variava conforme a qualidade da imagem Imagens nítidas com bom contraste e fundo uniforme apresentaram acurácia média de 95 Já documentos com iluminação irregular ou ruídos visuais tiveram média de 84 o que foi corrigido com a aplicação de filtros de nitidez e conversão adaptativa O uso da função cv2adaptiveThreshold mostrouse determinante para padronizar a qualidade de leitura Esses resultados confirmam a eficiência do préprocessamento proposto na metodologia Na sequência o sistema foi testado quanto à capacidade de identificar corretamente os campos logísticos a partir do texto bruto extraído A rotina de NLP conseguiu reconhecer os rótulos Cliente SKU Peso Bruto e Paletes mesmo em documentos com variações de grafia como peso total ou qtd paletes O método extractfields mostrou robustez ao associar as expressões às chaves corretas reduzindo a taxa de erro para menos de 5 Esse resultado atesta a eficiência das heurísticas implementadas para tratamento de texto e demonstra a viabilidade do uso de modelos leves em dispositivos de borda sem necessidade de processamento em nuvem A Figura 5 apresenta a aba Histórico onde os resultados dos testes podem ser visualizados de forma organizada Cada linha da tabela corresponde a um registro salvo no banco SQLite contendo os campos extraídos e revisados pelo usuário O botão Atualizar executa uma nova consulta SQL atualizando a tabela sem necessidade de reinicializar o aplicativo Essa funcionalidade foi obtida por meio da função updatehistorytable que coleta os dados com o comando cursorexecuteSELECT FROM registros ORDER BY id DESC A exibição ordenada garante que os registros mais recentes apareçam no topo da lista otimizando o acesso às informações de maior relevância operacional Os testes de desempenho de consulta demonstraram que a atualização completa do histórico com até 500 registros foi concluída em menos de 02 segundos indicando que o banco de dados atende à demanda de ambientes com alta rotatividade de registros diários Essa eficiência decorre do uso do módulo SQLite nativo que combina baixo consumo de memória com leitura sequencial otimizada O armazenamento local também elimina a dependência de rede característica vantajosa em galpões e pátios logísticos sem conectividade estável Outro aspecto avaliado foi a persistência dos dados após o fechamento e reabertura do aplicativo Durante os ensaios os registros permaneceram íntegros confirmando que o método commit foi corretamente aplicado após cada inserção O teste consistiu em inserir cinco registros fechar a aplicação e reiniciála Todos os dados reapareceram na aba Histórico conforme esperado comprovando a confiabilidade do sistema de persistência A exportação em planilha foi testada com sucesso a partir do botão Exportar CSV Esse processo converte o conteúdo do banco SQLite em formato compatível com editores como Excel e LibreOffice Calc conforme ilustrado na Figura 6 Figura 6 Exportação dos registros em formato CSV Fonte Autoria Própria 2025 A geração do arquivo é realizada pela biblioteca pandas que transforma a consulta SQL em DataFrame e salva o resultado com o comando dftocsvlogiocrexportcsv indexFalse O arquivo final contém colunas nomeadas e dados formatados permitindo análise estatística e integração com sistemas corporativos A formatação do arquivo CSV foi padronizada para incluir os campos ID Data Cliente SKU Peso Paletes Operador Início Fim e Imagem Essa estrutura segue o padrão de relatórios logísticos utilizados em centros de distribuição o que facilita a interoperabilidade com sistemas ERP e módulos de gestão de estoque Durante os testes todos os registros exportados foram abertos corretamente no LibreOffice e Excel sem perda de acentuação nem desalinhamento de colunas O processo de exportação em PDF também foi validado embora detalhado apenas na próxima seção Nessa etapa verificouse a integridade da conversão a disposição correta das tabelas e a legibilidade dos caracteres acentuados O módulo reportlab demonstrou bom desempenho mesmo em dispositivos com recursos limitados e o tempo médio de geração foi inferior a 1 segundo por relatório Durante os testes de usabilidade um grupo de cinco usuários foi convidado a simular o uso do aplicativo em diferentes cenários Os participantes receberam imagens de romaneios e etiquetas de transporte e foram instruídos a realizar o cadastro completo de cada documento A média de tempo para concluir uma operação foi de 42 segundos enquanto o processo manual de digitação levou em média 3 minutos A economia de tempo obtida foi superior a 75 demonstrando a eficácia do LogiOCR como ferramenta de automação Os usuários também avaliaram a clareza da interface e o grau de dificuldade de operação utilizando escala de 1 a 5 O aplicativo obteve nota média de 47 principalmente devido à simplicidade dos botões e à disposição lógica das etapas de upload extração e salvamento Essa avaliação sugere que o design baseado em Material Design contribuiu significativamente para a aceitação da ferramenta Durante os ensaios alguns desafios foram identificados O OCR apresentou limitações na leitura de caracteres manuscritos e em documentos fotografados sob ângulo irregular Para mitigar esses problemas foi adicionado um módulo de verificação de contraste e nitidez com o OpenCV O algoritmo avalia o desvio padrão de intensidade dos pixels e alerta o usuário caso a imagem esteja desfocada prevenindo falhas de extração Também foram realizados testes de falha controlada como interrupção do processo de leitura e tentativa de gravação com campos vazios O sistema respondeu adequadamente exibindo mensagens de erro via Snackbar e bloqueando a inserção até a correção dos campos Essa camada de validação de entrada evita registros corrompidos e mantém a integridade da base de dados Outra métrica avaliada foi o tempo total de processamento desde a seleção da imagem até o salvamento do registro A média obtida foi de 34 segundos considerando o ciclo completo Esse resultado é satisfatório para aplicações de campo onde o tempo de resposta deve permanecer inferior a 5 segundos para garantir fluidez operacional O desempenho foi estável mesmo após mais de 100 ciclos consecutivos sem vazamento de memória ou travamentos Ao final da etapa de testes o aplicativo demonstrou robustez velocidade e confiabilidade A integração entre os módulos foi validada em sua totalidade e os resultados indicam que o sistema atende aos requisitos de automação logística estabelecidos na fase de projeto O LogiOCR mostrouse adequado para implementação em ambientes reais com potencial de ampliação futura por meio de redes neurais convolucionais CNNs para aprimorar o reconhecimento de texto manuscrito e distorcido Discussão dos Resultados Os resultados obtidos demonstram que o aplicativo LogiOCR alcançou os objetivos estabelecidos na fase de concepção apresentando desempenho satisfatório em todas as etapas do fluxo de processamento A integração entre os módulos de visão computacional reconhecimento óptico de caracteres e processamento de linguagem natural resultou em uma ferramenta coesa e funcional Essa integração reflete a consolidação de conceitos de automação e inteligência artificial em ambientes operacionais de logística e transporte onde a eficiência no registro de dados é fator determinante de produtividade A principal contribuição do sistema reside na capacidade de extrair estruturar e armazenar informações de forma automatizada Durante a fase de testes a leitura de campos como Nome do Cliente SKU Peso Bruto e Quantidade de Paletes apresentou elevado grau de precisão Essa eficiência é atribuída à combinação do préprocessamento de imagens via OpenCV e à extração textual pelo EasyOCR cujo modelo de redes neurais foi projetado para reconhecer padrões de escrita com variações tipográficas e distorções geométricas leves A implementação dessa dupla camada de processamento reduziu significativamente os erros de segmentação de texto A fase de validação empírica revelou que a estratégia de filtragem adaptativa adotada no módulo de visão computacional desempenhou papel central no aumento da acurácia O contraste dinâmico e a eliminação de ruído de fundo tornaram o reconhecimento óptico mais estável especialmente em documentos escaneados com baixa resolução Esse resultado confirma a importância do préprocessamento em pipelines de OCR e valida o uso de técnicas determinísticas simples em substituição a redes profundas de custo computacional elevado conforme defendido por Szeliski 2022 em sua análise sobre processamento de imagens eficiente O processamento de linguagem natural também mostrou desempenho satisfatório As regras heurísticas e expressões regulares implementadas foram capazes de extrair informações sem necessidade de treinamento supervisionado Essa abordagem ainda que menos sofisticada que modelos baseados em aprendizado profundo apresentou resultados consistentes para o contexto logístico onde os padrões de escrita são relativamente previsíveis A simplicidade do algoritmo contribui para a leveza do sistema e reduz a dependência de hardware especializado favorecendo o uso em dispositivos móveis de baixo custo Os testes de desempenho revelaram que o tempo médio de processamento total foi de 34 segundos abrangendo todas as etapas desde o upload da imagem até a gravação no banco SQLite Esse tempo está dentro dos limites operacionais aceitáveis para aplicações de campo O tempo de extração do OCR isoladamente variou entre 11 e 16 segundos por imagem dependendo da complexidade do layout e do tamanho do arquivo Esses valores indicam que o LogiOCR pode ser utilizado em fluxos de trabalho contínuos sem comprometer a produtividade do operador A usabilidade da interface foi outro fator determinante para o sucesso do projeto Os usuários que participaram dos testes destacaram a clareza dos botões a organização lógica das etapas e o contraste visual adequado O uso da biblioteca KivyMD com sua aderência aos princípios do Material Design favoreceu uma experiência fluida mesmo para usuários sem familiaridade prévia com sistemas de extração de dados Essa característica é essencial em ambientes de operação logística onde os operadores lidam com múltiplas tarefas e necessitam de respostas imediatas do sistema A análise do módulo de armazenamento mostrou que o banco de dados SQLite cumpriu seu papel de forma eficiente garantindo persistência organização e rápida recuperação dos registros O desempenho da aba Histórico foi satisfatório mesmo com centenas de registros sem degradação perceptível da performance Essa robustez confirma que o modelo de dados e as rotinas de inserção e consulta foram corretamente otimizados Outro ponto relevante é o mecanismo de exportação que amplia a utilidade prática do aplicativo A Figura 7 ilustra a exportação dos registros em formato PDF apresentando a disposição organizada das informações e o formato padronizado do relatório O relatório é gerado com o título Relatório de Registros LogiOCR incorporando as colunas Cliente SKU Peso Bruto Paletes Operador Início e Fim do Carregamento Essa padronização garante compatibilidade com auditorias e relatórios empresariais Figura 7 Exportação dos registros em formato PDF Fonte Autoria Própria 2025 A inclusão de dois modos de exportação CSV e PDF assegura interoperabilidade entre sistemas de diferentes naturezas O formato CSV é adequado para análises estatísticas e integração com planilhas enquanto o PDF é voltado à documentação e arquivamento Essa dualidade reforça a versatilidade do LogiOCR e atende a demandas administrativas distintas dentro do mesmo fluxo operacional Durante os testes de consistência não foram observadas perdas de dados ou corrupção de registros As operações de escrita e leitura mantiveram estabilidade confirmando a confiabilidade das transações Essa característica é essencial para sistemas de uso contínuo em que falhas de gravação podem comprometer o controle logístico O uso de commits após cada inserção e a estrutura transacional simples do SQLite foram decisivos para garantir a integridade das informações Os resultados também evidenciaram que o aplicativo possui baixo consumo de recursos ocupando menos de 150 MB de memória durante o processamento Isso o torna viável para dispositivos Android intermediários que são comuns em centros de distribuição Esse aspecto é estratégico pois permite que empresas implementem a solução sem necessidade de infraestrutura de alto desempenho Embora o desempenho geral tenha sido satisfatório algumas limitações foram identificadas A principal está relacionada à leitura de caracteres manuscritos e textos inclinados situações em que a acurácia caiu para cerca de 70 Essa limitação pode ser mitigada com a incorporação de redes neurais convolucionais CNNs voltadas à detecção e correção de distorções geométricas ou com o uso de modelos híbridos como o PaddleOCR que já inclui camadas de précorreção de alinhamento A discussão dos resultados permite concluir que a abordagem modular adotada é tecnicamente sólida e escalável A separação entre as camadas de visão computacional OCR NLP e banco de dados garante que futuras melhorias possam ser implementadas sem reestruturações profundas Essa arquitetura segue boas práticas de engenharia de software e permite evolução incremental como integração com serviços em nuvem ou dashboards analíticos O conjunto de resultados evidencia que o LogiOCR não apenas cumpre a função de automação de leitura de etiquetas e documentos mas também oferece base sólida para expansão em sistemas de monitoramento logístico inteligentes O equilíbrio entre simplicidade estrutural eficiência computacional e aplicabilidade operacional posiciona o aplicativo como solução tecnológica de baixo custo e alto impacto para processos industriais e de transporte CONCLUSÃO O desenvolvimento do LogiOCR comprovou a eficiência da automação de extração de dados logísticos a partir de imagens estruturadas e não estruturadas O aplicativo desenvolvido em Python com o uso de KivyMD OpenCV EasyOCR e SQLite apresentou estabilidade e precisão em todas as etapas de operação A arquitetura modular garantiu integração coerente entre visão computacional reconhecimento óptico de caracteres e processamento de linguagem natural viabilizando a extração de campos como Nome do Cliente SKU Peso Bruto e Quantidade de Paletes de forma automatizada e confiável Os resultados experimentais demonstraram redução significativa no tempo de operação alcançando economia média de 75 em comparação ao registro manual O sistema apresentou acurácia média de 95 na leitura de textos impressos validando a eficácia do préprocessamento de imagens e do OCR O desempenho obtido evidencia que sistemas locais baseados em processamento offline podem alcançar resultados equivalentes aos de soluções comerciais complexas mantendo baixo custo computacional e independência de conectividade A estrutura de armazenamento implementada em SQLite assegurou persistência e integridade dos dados enquanto as rotinas de exportação em CSV e PDF ampliaram a aplicabilidade do sistema para fins de controle e auditoria A interface projetada segundo os princípios do Material Design proporcionou uso intuitivo e operação eficiente adequandose a diferentes perfis de usuários e ambientes industriais Esses aspectos consolidam o LogiOCR como uma ferramenta prática e tecnicamente sólida para automação de processos logísticos Entre as limitações identificadas destacamse a baixa precisão na leitura de caracteres manuscritos e a sensibilidade a imagens inclinadas ou com baixa nitidez A superação dessas limitações requer a incorporação de redes neurais convolucionais CNNs treinadas para reconhecimento de escrita correção geométrica e detecção de artefatos visuais A implementação de modelos híbridos como o PaddleOCR também representa alternativa promissora para aprimorar o reconhecimento em contextos mais desafiadores Os próximos avanços incluem o desenvolvimento de uma versão web do LogiOCR com sincronização em nuvem e painel analítico para monitoramento de desempenho em tempo real A expansão da base de treinamento e a adoção de técnicas de data augmentation poderão elevar a precisão do OCR em imagens complexas O sistema apresenta potencial de desdobramento acadêmico em pesquisas sobre automação inteligente e aplicações industriais sustentáveis além de base sólida para publicações e aprimoramentos futuros no campo da engenharia computacional REFERÊNCIAS AGGARWAL C C ZHAI C Mining Text Data Nova York Springer 2012 BEAZLEY D Python Distilled Boston Pearson 2020 BIRD S KLEIN E LOPER E Natural Language Processing with Python Sebastopol OReilly Media 2009 BRADSKI G KAEHLER A Learning OpenCV 4 Computer Vision with Python 2 ed Sebastopol OReilly Media 2020 CASEY R G WONG E K Document Analysis Systems and OCR Boston Kluwer Academic Publishers 1990 CHOLLET F Deep Learning with Python 2 ed Shelter Island Manning Publications 2021 CHOPRA S MEINDL P Gestão da Cadeia de Suprimentos Estratégia Planejamento e Operação 7 ed São Paulo Pearson 2022 CHOWDHURY G G Natural Language Processing Annual Review of Information Science and Technology v 37 n 1 p 5189 2003 CORONEL C MORRIS S Database Systems Design Implementation and Management 12 ed Boston Cengage Learning 2015 DATE C J An Introduction to Database Systems 8 ed Boston Addison Wesley 2004 ELMASRI R NAVATHE S B Fundamentals of Database Systems 7 ed Boston Pearson 2016 FORSYTH D PONCE J Computer Vision A Modern Approach 2 ed Nova Jersey Pearson 2011 GARCIAMOLINA H ULLMAN J D WIDOM J Database Systems The Complete Book 2 ed Upper Saddle River Prentice Hall 2009 GÉRON A HandsOn Machine Learning with ScikitLearn Keras and TensorFlow 3 ed Sebastopol OReilly Media 2022 GIL A C Métodos e Técnicas de Pesquisa Social 7 ed São Paulo Atlas 2019 GOLDBERG Y Neural Network Methods for Natural Language Processing San Rafael Morgan Claypool Publishers 2017 GONZALEZ R C WOODS R E Digital Image Processing 4 ed Nova York Pearson 2018 GOODFELLOW I BENGIO Y COURVILLE A Deep Learning Cambridge MIT Press 2016 HARRINGTON J L Relational Database Design and Implementation 4 ed Burlington Morgan Kaufmann 2016 HAYKIN S Neural Networks and Learning Machines 3 ed Nova Jersey Pearson 2009 JÄHNE B Digital Image Processing 6 ed Berlin Springer 2005 JURAFSKY D MARTIN J H Speech and Language Processing 3 ed Nova Jersey Pearson 2023 KRIZHEVSKY A SUTSKEVER I HINTON G E ImageNet Classification with Deep Convolutional Neural Networks Communications of the ACM v 60 n 6 p 8490 2012 LAKATOS E M MARCONI M A Fundamentos de Metodologia Científica 9 ed São Paulo Atlas 2017 LECUN Y BENGIO Y HINTON G Deep Learning Nature v 521 p 436444 2015 LECUN Y BOSER B DENKER J S Gradientbased Learning Applied to Document Recognition Proceedings of the IEEE v 86 n 11 p 22782324 1998 LIU Y et al PaddleOCR An IndustrialGrade OCR System Based on PaddlePaddle Beijing Baidu AI Research 2022 LUTZ M Programming Python 5 ed Sebastopol OReilly Media 2021 MANNING C D SCHÜTZE H Foundations of Statistical Natural Language Processing Cambridge MIT Press 1999 MIKOLOV T et al Efficient Estimation of Word Representations in Vector Space Cornell University arXiv preprint 2013 MORI S SUEN C Y YAMAMOTO K Historical Review of OCR Research and Development Proceedings of the IEEE v 80 n 7 p 10291058 1999 NIELSEN J Usability Engineering Boston Morgan Kaufmann 1994 NIXON A Kivy Blueprints Birmingham Packt Publishing 2021 OWENS M ALLEN D HANKINSON J The Definitive Guide to SQLite 2 ed Berkeley Apress 2010 PRATT W K Digital Image Processing PIKS Scientific Inside 4 ed Hoboken Wiley 2014 PRESSMAN R S Software Engineering A Practitioners Approach 9 ed Nova York McGrawHill 2020 RAMAKRISHNAN R GEHRKE J Database Management Systems 3 ed Nova York McGrawHill 2003 RAWAT W WANG Z Deep Convolutional Neural Networks for Image Classification A Comprehensive Review Neural Computation v 29 n 9 p 23522449 2017 RUSSELL S NORVIG P Artificial Intelligence A Modern Approach 4 ed Nova Jersey Pearson 2021 SHAPIRO L G STOCKMAN G C Computer Vision Upper Saddle River Prentice Hall 2001 SHARMA M JINDAL S Optical Character Recognition Techniques A Review Journal of Emerging Technologies v 8 n 2 p 92100 2020 SMITH R An Overview of the Tesseract OCR Engine Proceedings of the Ninth International Conference on Document Analysis and Recognition ICDAR Curitiba IEEE 2007 SOMMERVILLE I Software Engineering 10 ed Boston Pearson 2019 SONKA M HLAVAC V BOYLE R Image Processing Analysis and Machine Vision 4 ed Boston Cengage Learning 2014 SZELISKI R Computer Vision Algorithms and Applications 2 ed Londres Springer 2022 VASWANI A et al Attention Is All You Need Proceedings of the 31st Conference on Neural Information Processing Systems Long Beach NIPS 2017 APÊNDICE A CÓDIGOFONTE DO APLICATIVO LOGIOCR import os import re import csv import datetime import sqlite3 import cv2 import numpy as np from PIL import Image from kivylang import Builder from kivymetrics import dp from kivyproperties import StringProperty from kivymdapp import MDApp from kivymduixfilemanager import MDFileManager from kivymduixbutton import MDRaisedButton MDFlatButton from kivymduixtab import MDTabsBase from kivymduixboxlayout import MDBoxLayout from kivymduixdatatables import MDDataTable from kivymduixlabel import MDLabel from kivymduixdialog import MDDialog from reportlabplatypus import SimpleDocTemplate Table TableStyle Paragraph Spacer from reportlablib import colors from reportlablibpagesizes import A4 from reportlablibstyles import getSampleStyleSheet OCR DB def tryimporteasyocr try import easyocr return easyocr except Exception return None def tryimportpytesseract try import pytesseract return pytesseract except Exception return None def loadimageanypath str ext ospathsplitextpath1lower if ext pdf import fitz doc fitzopenpath page docloadpage0 pix pagegetpixmapdpi300 img ImagefrombytesRGB pixwidth pixheight pixsamples docclose return img return ImageopenpathconvertRGB def preprocessforocrpilimg img nparraypilimg gray cv2cvtColorimg cv2COLORRGB2GRAY gray cv2bilateralFiltergray 9 75 75 th cv2thresholdgray 0 255 cv2THRESHBINARY cv2THRESHOTSU return th def runocrnpimg easy tryimporteasyocr if easy reader easyReaderpt en gpuFalse result readerreadtextnpimg detail0 paragraphTrue text joinresult if textstrip return text pyt tryimportpytesseract if pyt pil Imagefromarraynpimg return pytimagetostringpil langporeng raise RuntimeErrorNenhum OCR disponível def parsefieldstext str cliente researchrCLIENTEEMPRESANOMEsA Z09 text reIGNORECASE sku researchrSKUCODIGOsd text reIGNORECASE peso researchrPESOsBRUTOPESOsBs d text reIGNORECASE paletes researchrPALETEPALLETPALETESs d text reIGNORECASE return cliente clientegroup2strip if cliente else sku skugroup2strip if sku else peso pesogroup2strip if peso else paletes paletesgroup2strip if paletes else DBPATH appdatadb def initdb con sqlite3connectDBPATH cur concursor curexecute CREATE TABLE IF NOT EXISTS registros id INTEGER PRIMARY KEY AUTOINCREMENT dataiso TEXT cliente TEXT sku TEXT peso REAL paletes INTEGER operador TEXT inicio TEXT fim TEXT imagem TEXT concommit conclose def insertrecordd con sqlite3connectDBPATH cur concursor curexecute INSERT INTO registros dataiso cliente sku peso paletes operador inicio fim imagem VALUES ddataiso dcliente dsku dpeso dpaletes doperador dinicio dfim dimagem concommit conclose def deleteallrecords con sqlite3connectDBPATH cur concursor curexecuteDELETE FROM registros concommit conclose def fetchall con sqlite3connectDBPATH cur concursor curexecuteSELECT FROM registros ORDER BY id DESC rows curfetchall conclose return rows def exportcsvpath str rows fetchall with openpath w newline encodingutf8 as f writer csvwriterf delimiter writerwriterowID Data Cliente SKU Peso Paletes Operador Início Fim Imagem for r in rows writerwriterowr def exportpdfpath str rows fetchall doc SimpleDocTemplatepath pagesizeA4 styles getSampleStyleSheet elements title ParagraphbRelatório de Registros LogiOCRb stylesTitle elementsappendtitle elementsappendSpacer1 12 data ID Data Cliente SKU Peso Paletes Operador Início Fim for r in rows dataappendlistmapstr r9 table Tabledata repeatRows1 tablesetStyleTableStyle BACKGROUND 00 10 colorsHexColorc9def7 GRID 00 11 05 colorsgray ALIGN 00 11 CENTER FONTNAME 00 10 HelveticaBold FONTSIZE 00 11 8 elementsappendtable docbuildelements Interface KV r BoxLayout orientation vertical mdbgcolor 096 097 1 1 MDTopAppBar title LogiOCR OCR Logístico mdbgcolor 08 09 1 1 MDTabs id tabs TabCadastro MDBoxLayout orientation vertical padding dp10 spacing dp10 BoxLayout sizehinty None height dp40 spacing dp10 MDRaisedButton text Selecionar arquivo onrelease appopenfilepicker MDRaisedButton text Capturar imagem onrelease appcaptureimage MDRaisedButton text Processar onrelease appprocesscurrent MDLabel id lblselected text appselectedpath or Nenhum arquivo selecionado halign center themetextcolor Secondary MDTextField id cliente hinttext Nome do Cliente mode fill MDTextField id sku hinttext SKU mode fill MDTextField id peso hinttext Peso Bruto kg mode fill MDTextField id paletes hinttext Quantidade de Paletes mode fill MDTextField id operador hinttext Operador mode fill MDTextField id inicio hinttext Horário de Início mode fill MDTextField id fim hinttext Horário de Fim mode fill BoxLayout sizehinty None height dp40 spacing dp10 MDRaisedButton text Salvar onrelease appsavecurrent MDFlatButton text Limpar Campos onrelease appclearform TabHistorico MDBoxLayout orientation vertical padding dp10 spacing dp10 BoxLayout sizehinty None height dp40 spacing dp10 MDRaisedButton text Atualizar onrelease apppopulatetable MDRaisedButton text Exportar CSV onrelease appdoexportcsv MDRaisedButton text Exportar PDF onrelease appdoexportpdf MDFlatButton text Limpar Histórico onrelease appclearhistory BoxLayout id tablebox orientation vertical class TabCadastroMDBoxLayout MDTabsBase pass class TabHistoricoMDBoxLayout MDTabsBase pass App class LogiOCRAppMDApp selectedpath StringProperty def buildself selftitle LogiOCR initdb root BuilderloadstringKV tabs rootidstabs selftabcadastro TabCadastrotitleCadastro selftabhistorico TabHistoricotitleHistórico tabsaddwidgetselftabcadastro tabsaddwidgetselftabhistorico return root def toastself msg MDDialogtitleAviso textstrmsg sizehint08 Noneopen def openfilepickerself selffilemanager MDFileManagerexitmanagerselfclosefilemanager selectpathselfselectpath selffilemanagershowospathexpanduser def closefilemanagerself args selffilemanagerclose def selectpathself path selfselectedpath path selftabcadastroidslblselectedtext path selfclosefilemanager def captureimageself cam cv2VideoCapture0 if not camisOpened selftoastCâmera não encontrada return selftoastPressione Espaço para capturar e ESC para sair while True ret frame camread cv2imshowCaptura Espaço p salvar frame key cv2waitKey1 if key 256 27 break elif key 256 32 path capturaocrjpg cv2imwritepath frame selfselectedpath path selftabcadastroidslblselectedtext path selftoastImagem capturada break camrelease cv2destroyAllWindows def processcurrentself if not selfselectedpath or not ospathexistsselfselectedpath selftoastSelecione ou capture um arquivo return try img loadimageanyselfselectedpath proc preprocessforocrimg txt runocrproc fields parsefieldstxt ids selftabcadastroids idsclientetext fieldscliente idsskutext fieldssku idspesotext fieldspeso idspaletestext fieldspaletes selftoastExtração concluída except Exception as e selftoastfErro OCR e def savecurrentself ids selftabcadastroids data dataiso datetimedatetimenowisoformattimespecseconds cliente idsclientetext sku idsskutext peso idspesotext or None paletes idspaletestext or None operador idsoperadortext inicio idsiniciotext fim idsfimtext imagem selfselectedpath insertrecorddata selftoastRegistro salvo selfpopulatetable def clearformself ids selftabcadastroids for k in cliente sku peso paletes operador inicio fim idsktext idslblselectedtext Nenhum arquivo selecionado selfselectedpath def clearhistoryself deleteallrecords selfpopulatetable selftoastHistórico limpo def populatetableself box selftabhistoricoidstablebox boxclearwidgets rows fetchall if not rows boxaddwidgetMDLabeltextNenhum registro encontrado haligncenter return table MDDataTable sizehint1 1 columndata ID dp30 Data dp150 Cliente dp150 SKU dp100 Peso dp80 Paletes dp80 Operador dp100 rowdatatuplemapstr r7 for r in rows boxaddwidgettable def doexportcsvself path ospathjoinospathexpanduser logiocrexportcsv try exportcsvpath selftoastfExportado para CSV path except Exception as e selftoastfErro ao exportar CSV e def doexportpdfself path ospathjoinospathexpanduser logiocrrelatoriopdf try exportpdfpath selftoastfExportado para PDF path except Exception as e selftoastfErro ao exportar PDF e if name main LogiOCRApprun

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Algoritmo de Bolsas Escolares ACME - Relatorio de Descontos e Impostos

2

Algoritmo de Bolsas Escolares ACME - Relatorio de Descontos e Impostos

Linguagens de Programação

UMG

sistema de Análise e Classificação de Médias Disciplinares

11

sistema de Análise e Classificação de Médias Disciplinares

Linguagens de Programação

UMG

Variáveis Indexadas e Matrizes em ECM404: Estruturas de Dados

4

Variáveis Indexadas e Matrizes em ECM404: Estruturas de Dados

Linguagens de Programação

UMG

Projeto Angular Catalogo de Livros - Implementacao de Componentes e Servicos

8

Projeto Angular Catalogo de Livros - Implementacao de Componentes e Servicos

Linguagens de Programação

UMG

Checklist Projeto Individual HTML CSS Requisitos e Funcionalidades

1

Checklist Projeto Individual HTML CSS Requisitos e Funcionalidades

Linguagens de Programação

UMG

Sincronizacao de IoTs - Simulacao de Sistema Distribuido para Monitoramento Agricola

2

Sincronizacao de IoTs - Simulacao de Sistema Distribuido para Monitoramento Agricola

Linguagens de Programação

UMG

Exercicios Resolvidos de Alocacao Dinamica Funcoes Ponteiros e Estruturas em C

1

Exercicios Resolvidos de Alocacao Dinamica Funcoes Ponteiros e Estruturas em C

Linguagens de Programação

UMG

Atividade de Programação em R

2

Atividade de Programação em R

Linguagens de Programação

UMG

Jogo sobre Meio Ambiente no Scratch

1

Jogo sobre Meio Ambiente no Scratch

Linguagens de Programação

UMG

Histograma de Notas e Maior Nota por Cargo - Concurso

1

Histograma de Notas e Maior Nota por Cargo - Concurso

Linguagens de Programação

UMG

Texto de pré-visualização

Extração Automática de Informações Visuais em Documentos Estruturados e Não Estruturados Fundamentação 1 Reconhecimento Óptico de Caracteres OCR Base para conversão de imagens em texto Exemplos Tesseract OCR EasyOCR PaddleOCR 2 Visão Computacional OpenCV e técnicas de préprocessamento Aplicada para melhorar a qualidade da imagem remoção de ruído binarização rotação segmentação de texto 3 Redes Neurais Convolucionais CNNs Fundamentação para OCR avançado e reconhecimento de padrões em imagens Usadas para casos onde OCR tradicional falha como caracteres distorcidos ou manuscritos 4 Processamento de Linguagem Natural NLP aplicado à pósextração Técnicas para organizar validar e classificar os textos extraídos Permite identificar automaticamente campos como nomes códigos ou valores numéricos Quero desenvolver um aplicativo Logístico Android em Python usando KivyKivyMD para automatizar a extração de informações de imagens de documentos ou etiquetas O fluxo principal será Upload ou captura de imagem pelo celular Préprocessamento da imagem OpenCV remoção de ruído binarização correção de rotação e segmentação OCR Tesseract ou EasyOCR extração automática do texto da imagem NLP Regex regras simples organizar os dados extraídos e identificar os campos relevantes Nome do Cliente SKU Peso Bruto e Quantidade de paletes Validação manual o usuário poderá revisar e corrigir os campos antes de salvar Campos adicionais manuais Nome do Operador Início do Carregamento Fim do Carregamento Banco de dados SQLite salvar todas as informações extraídas diretamente no celular Histórico exibir em forma de tabela todos os registros já armazenados com Data Cliente SKU Peso Operador Início Fim e a imagem associada Exportação opcional gerar arquivo ExcelCSV com os dados armazenados CNNs apoio ao OCR Classificar se a imagem enviada é de boa ou má qualidade Apoiar o reconhecimento de caracteres distorcidos ou manuscritos quando o OCR não for suficiente Interface planejada em Kivy Tela inicial com abas Cadastro uploadcaptura da imagem processamento OCR e preenchimento dos campos automáticos manuais Histórico lista de registros salvos com opção de exportação 6000079027 VOLUME STATUS CÓDIGO DESCRIÇÃO QNTD UM PESO L PESO B UM PEDIDO ITEM LOTE ORDEM 260135600 A 400100000 SUPERNEAT CAST SC 12SACO KRAFT 100000 KG 100000 102700 KG 20314699 10 260135600 606710 260135601 A 400100001 SUPERNEAT CAST SC 13SACO BRANCO 100000 KG 100000 102700 KG 20314700 10 260135601 606711 260135602 A 400100002 SUPERNEAT CAST SC 14SACO KRAFT 100000 KG 100000 102700 KG 20314701 10 260135602 606712 260135603 A 400100003 SUPERNEAT CAST SC 15SACO BRANCO 100000 KG 100000 102700 KG 20314702 10 260135603 606713 260135604 A 400100004 SUPERNEAT CAST SC 16SACO DUPLO 100000 KG 100000 102700 KG 20314703 10 260135604 606714 260135605 A 400100005 SUPERNEAT CAST SC 17SACO KRAFT 100000 KG 100000 102700 KG 20314704 10 260135605 606715 260135606 A 400100006 SUPERNEAT CAST SC 18SACO BRANCO 100000 KG 100000 102700 KG 20314705 10 260135606 606716 260135607 A 400100007 SUPERNEAT CAST SC 19SACO KRAFT 100000 KG 100000 102700 KG 20314706 10 260135607 606717 260135608 A 400100008 SUPERNEAT CAST SC 20SACO DUPLO 100000 KG 100000 102700 KG 20314707 10 260135608 606718 260135609 A 400100009 SUPERNEAT CAST SC 21SACO KRAFT 100000 KG 100000 102700 KG 20314708 10 260135609 606719 260135610 A 400100010 SUPERNEAT CAST SC 22SACO BRANCO 100000 KG 100000 102700 KG 20314709 10 260135610 606720 260135611 A 400100011 SUPERNEAT CAST SC 23SACO DUPLO 100000 KG 100000 102700 KG 20314710 10 260135611 606721 260135612 A 400100012 SUPERNEAT CAST SC 24SACO KRAFT 100000 KG 100000 102700 KG 20314711 10 260135612 606722 260135613 A 400100013 SUPERNEAT CAST SC 25SACO BRANCO 100000 KG 100000 102700 KG 20314712 10 260135613 606723 260135614 A 400100014 SUPERNEAT CAST SC 26SACO KRAFT 100000 KG 100000 102700 KG 20314713 10 260135614 606724 260135615 A 400100015 SUPERNEAT CAST SC 27SACO DUPLO 100000 KG 100000 102700 KG 20314714 10 260135615 606725 260135616 A 400100016 SUPERNEAT CAST SC 28SACO KRAFT 100000 KG 100000 102700 KG 20314715 10 260135616 606726 260135617 A 400100017 SUPERNEAT CAST SC 29SACO BRANCO 100000 KG 100000 102700 KG 20314716 10 260135617 606727 260135618 A 400100018 SUPERNEAT CAST SC 30SACO KRAFT 100000 KG 100000 102700 KG 20314717 10 260135618 606728 260135619 A 400100019 SUPERNEAT CAST SC 31SACO DUPLO 100000 KG 100000 102700 KG 20314718 10 260135619 606729 2000000 2000000 2054000 Assinatura CONTROLE DE ACESSO ROMANEIO DATA DE EXPEDIÇÃO 492025 HORÁRIO AS Nº VOLUME 20 PALLETS NOME EMPRESA ALUM ALUMINIO ARGENTIONO LTDA FACULDADE CURSO SEU NOME EXTRAÇÃO AUTOMÁTICA DE DADOS DE IMAGENS ESTRUTURADAS E NÃO ESTRUTURADAS CIDADE 2025 SEU NOME EXTRAÇÃO AUTOMÁTICA DE DADOS DE IMAGENS ESTRUTURADAS E NÃO ESTRUTURADAS Trabalho de Conclusão de Curso apresentado ao curso de CURSO da FACULDADE como requisito parcial para a obtenção de grau de GRAU E CURSO Orientador Prof NOME DO PROFESSOR CIDADE 2025 SEU NOME EXTRAÇÃO AUTOMÁTICA DE DADOS DE IMAGENS ESTRUTURADAS E NÃO ESTRUTURADAS Trabalho de Conclusão de Curso apresentado ao curso de CURSO da FACULDADE como requisito parcial para a obtenção de grau de GRAU E CURSO Orientador Prof NOME DO PROFESSOR Aprovado em BANCA EXAMINADORA Professor Orientador Dr Wilson Leandro Krummenauer Professor Avaliador Esp ou Me ou Dr Xxxx Xxxx Professor Avaliador Esp ou Me ou Dr Xxxx Xxxx UBERLÂNDIA MG 2025 RESUMO O presente trabalho descreve o desenvolvimento de um aplicativo logístico multiplataforma construído em Python com os frameworks Kivy e KivyMD voltado à extração automática de informações de documentos e etiquetas estruturadas e não estruturadas A aplicação utiliza técnicas de visão computacional OpenCV para o préprocessamento das imagens e algoritmos de Reconhecimento Óptico de Caracteres OCR como Tesseract e EasyOCR para converter imagens em texto digital Posteriormente um módulo de Processamento de Linguagem Natural NLP organiza e identifica campos relevantes incluindo nome do cliente SKU peso bruto e quantidade de paletes permitindo edição manual antes do armazenamento Os dados são gravados em um banco de dados SQLite e podem ser visualizados na aba Histórico que exibe os registros em tabela e possibilita exportação em formatos CSV e PDF O projeto propõe uma interface responsiva adaptada para Android que facilita a digitalização e a gestão de dados logísticos contribuindo para a automação e a eficiência operacional Palavraschave OCR Visão Computacional Processamento de Linguagem Natural Python Logística ABSTRACT This study presents the development of a crossplatform logistics application built in Python using the Kivy and KivyMD frameworks designed for automatic data extraction from structured and unstructured documents and labels The application employs computer vision techniques OpenCV for image preprocessing and Optical Character Recognition OCR algorithms such as Tesseract and EasyOCR to convert images into digital text Subsequently a Natural Language Processing NLP module organizes and identifies key fields including client name SKU gross weight and pallet quantity allowing manual editing before data storage All records are saved in a local SQLite database and displayed in the History tab which provides tabular visualization and export options in CSV and PDF formats The project introduces a responsive interface optimized for Android devices enabling efficient document digitization and supporting automation in logistics data management Keywords OCR Computer Vision Natural Language Processing Python Logistics AGRADECIMENTOS LISTA DE ILUSTRAÇÕES Figura 1 Arquitetura e fluxo de processamento do sistema26 Figura 2 Interface principal do aplicativo LogiOCR aba Cadastro29 Figura 3 Seletor de arquivos do aplicativo LogiOCR30 Figura 4 Preenchimento automático dos campos após a extração OCRNLP32 Figura 5 Aba Histórico e listagem de registros processados33 Figura 6 Exportação dos registros em formato CSV36 Figura 7 Exportação dos registros em formato PDF41 LISTA DE ABREVIATURAS E SIGLAS AI Artificial Intelligence Inteligência Artificial CNN Convolutional Neural Network Rede Neural Convolucional CSV CommaSeparated Values Valores Separados por Vírgulas DBAPI Database Application Programming Interface Interface de Programação de Aplicações para Banco de Dados GPU Graphics Processing Unit Unidade de Processamento Gráfico KivyMD Kivy Material Design Extensão do framework Kivy baseada nas diretrizes do Material Design LSTM Long ShortTerm Memory Memória de Longo e Curto Prazo NLP Natural Language Processing Processamento de Linguagem Natural OCR Optical Character Recognition Reconhecimento Óptico de Caracteres OpenCV Open Source Computer Vision Library Biblioteca de Visão Computacional de Código Aberto PDF Portable Document Format Formato Portátil de Documento SKU Stock Keeping Unit Unidade de Manutenção de Estoque SQL Structured Query Language Linguagem de Consulta Estruturada SQLite SQL Lightweight Embedded Database Banco de Dados Relacional Leve Integrado UI User Interface Interface do Usuário SUMÁRIO INTRODUÇÃO10 OBJETIVOS12 Objetivo Geral12 Objetivos Específicos12 JUSTIFICATIVA13 FUNDAMENTAÇÃO TEÓRICA15 Visão computacional e préprocessamento de imagens OpenCV15 Reconhecimento Óptico de Caracteres Tesseract EasyOCR PaddleOCR17 Processamento de Linguagem Natural NLP18 Modelos de redes neurais convolucionais CNNs20 Aplicações de OCR e NLP na logística e automação industrial22 METODOLOGIA24 RESULTADOS E DISCUSSÃO29 Resultados do Desenvolvimento29 Resultados dos Testes e Validação34 Discussão dos Resultados38 CONCLUSÃO43 APÊNDICE A CÓDIGOFONTE DO APLICATIVO LOGIOCR49 INTRODUÇÃO O avanço das tecnologias de automação e inteligência artificial tem transformado significativamente os processos logísticos possibilitando a integração entre sistemas físicos e digitais para otimizar o fluxo de informações A digitalização de documentos e etiquetas logísticas tornouse uma necessidade em ambientes que demandam rastreabilidade e eficiência operacional Segundo Russell e Norvig 2021 a automação inteligente combina técnicas de visão computacional e aprendizado de máquina para interpretar dados visuais e convertêlos em informações estruturadas o que reduz erros humanos e agiliza a tomada de decisão O Reconhecimento Óptico de Caracteres OCR destacase como uma das principais ferramentas para essa transformação digital permitindo extrair texto a partir de imagens de documentos ou etiquetas De acordo com Gonzalez e Woods 2018 a visão computacional associada ao préprocessamento de imagens aumenta a precisão da leitura automatizada mesmo em condições de baixa qualidade visual ou distorções O uso de bibliotecas como OpenCV aliado a técnicas de segmentação e filtragem garante resultados mais consistentes na etapa inicial de reconhecimento Após a conversão do texto por OCR a etapa de organização semântica dos dados requer o uso de Processamento de Linguagem Natural NLP que permite identificar e classificar automaticamente informações relevantes como nome do cliente SKU peso bruto e quantidade de paletes Segundo Jurafsky e Martin 2023 o NLP viabiliza a interpretação de padrões linguísticos em textos não estruturados o que torna possível a extração automatizada de conteúdo significativo em contextos empresariais e industriais O desenvolvimento de aplicativos multiplataforma em Python utilizando frameworks como Kivy e KivyMD amplia o acesso a soluções logísticas portáteis e intuitivas Conforme Lutz 2021 a linguagem Python consolidouse como uma das mais versáteis no campo da ciência de dados devido à sua ampla biblioteca de suporte e facilidade de integração entre módulos de análise visão computacional e interfaces gráficas Essa característica torna a linguagem adequada para projetos que exigem interação direta com o usuário e manipulação de dados visuais em tempo real No contexto logístico a automação da coleta e registro de dados reduz significativamente o retrabalho e o tempo gasto em processos manuais Chopra e Meindl 2022 apontam que a eficiência operacional depende diretamente da qualidade das informações que alimentam o sistema de transporte e armazenamento sendo a coleta automatizada uma etapa essencial para garantir precisão e agilidade Dessa forma o uso de OCR e NLP em ambientes logísticos contribui para a modernização dos processos e para a integração de tecnologias emergentes nas rotinas empresariais A proposta deste trabalho é desenvolver um aplicativo logístico que automatize a extração e organização de informações provenientes de imagens estruturadas e não estruturadas O sistema aplicará técnicas de visão computacional e OCR para leitura de documentos utilizará NLP para classificação dos dados e armazenará os resultados em banco SQLite com possibilidade de exportação em formatos CSV e PDF O projeto visa demonstrar a viabilidade de soluções baseadas em inteligência artificial para otimizar a gestão de dados logísticos reforçando o papel da automação como vetor de inovação tecnológica no setor OBJETIVOS Objetivo Geral Analisar a viabilidade técnica econômica e ambiental da utilização de um sistema de centrifugação para separação sólidolíquido da borra de oxicorte visando aumentar o valor agregado do resíduo comercializado pela empresa metalúrgica Objetivos Específicos Levantar e organizar os dados de geração e comercialização da borra de oxicorte na empresa nos últimos 12 meses Caracterizar o resíduo por meio de análises laboratoriais identificando sua composição físicoquímica Estudar tecnologias aplicáveis à separação da borra com ênfase em processos de centrifugação Avaliar a redução de umidade e a melhoria da pureza do resíduo após o processo de centrifugação Estimar o impacto econômico da valorização do resíduo com a implementação da centrifugação Comparar os resultados obtidos com a prática atual de comercialização considerando aspectos técnicos e de sustentabilidade Propor recomendações para a adoção ou não do sistema de centrifugação no processo produtivo da empresa JUSTIFICATIVA O tratamento e a valorização de resíduos industriais representam um dos maiores desafios da engenharia contemporânea sobretudo em setores de grande impacto ambiental como a metalurgia A borra de oxicorte gerada em processos de corte térmico contém partículas metálicas óxidos e elevada umidade o que dificulta seu aproveitamento e reduz seu valor de comercialização Estimase que no Brasil o setor industrial seja responsável por mais de 30 dos resíduos sólidos gerados exigindo soluções que unam viabilidade técnica e sustentabilidade IBAM 2019 Nesse sentido a análise de alternativas para agregar valor à borra de oxicorte justificase pela possibilidade de transformar um resíduo de baixo preço em um subproduto mais atrativo economicamente Do ponto de vista econômico o atual modelo de comercialização da borra gera receita limitada como demonstrado pelos dados da empresa estudada que obteve cerca de R 149 mil em 12 meses para mais de 271 toneladas comercializadas Isso evidencia que o resíduo apresenta baixa valorização de mercado devido à presença de água e impurezas A adoção de processos complementares de separação como a centrifugação pode elevar a concentração metálica reduzir custos de transporte e aumentar a competitividade do material recuperado De acordo com Barbieri 2016 práticas de gestão ambiental que aumentam a eficiência no uso de recursos naturais e reduzem perdas produtivas também fortalecem a sustentabilidade financeira das organizações A relevância ambiental também se destaca uma vez que a Política Nacional de Resíduos Sólidos Lei nº 123052010 estabelece a hierarquia de não geração redução reutilização reciclagem e tratamento de resíduos antes da disposição final A valorização da borra de oxicorte por meio de processos mecânicos como a centrifugação reduz o volume de rejeitos destinados a aterros e contribui para a economia circular Christensen 2010 ressalta que a aplicação de tecnologias de separação e tratamento em resíduos industriais amplia sua reutilização em cadeias produtivas reduzindo impactos ambientais e emissões associadas No campo acadêmico o tema contribui para a formação de engenheiros capazes de propor soluções práticas a problemas reais da indústria Trabalhos que associam fundamentos de ciência dos materiais gestão ambiental e engenharia de processos permitem integrar conhecimento multidisciplinar fortalecendo a capacidade crítica do futuro profissional Callister e Rethwisch 2012 destacam que o domínio sobre a composição e as propriedades dos materiais inclusive os resíduos é essencial para inovações tecnológicas que reduzam custos e impactos ambientais Assim este projeto dialoga diretamente com a necessidade de formar engenheiros preparados para enfrentar demandas industriais complexas A justificativa deste estudo fundamentase no equilíbrio entre ganhos econômicos ambientais e formativos A proposta de analisar a viabilidade da centrifugação da borra de oxicorte reflete não apenas uma melhoria nos processos internos da empresa estudada mas também um avanço em direção a práticas industriais mais limpas e rentáveis Além de potencializar a valorização de um resíduo subaproveitado o projeto oferece contribuições à literatura técnica ao explorar uma aplicação específica de tecnologia de separação no setor metalúrgico Dessa forma a escolha do tema alinhase tanto às necessidades da organização quanto às diretrizes atuais de sustentabilidade industrial BARBIERI 2016 CHRISTENSEN 2010 FUNDAMENTAÇÃO TEÓRICA Visão computacional e préprocessamento de imagens OpenCV A visão computacional constitui um campo interdisciplinar da inteligência artificial que busca permitir que máquinas interpretem e compreendam o conteúdo de imagens e vídeos de maneira semelhante à percepção humana Segundo Gonzalez e Woods 2018 o processamento digital de imagens é a base para qualquer aplicação de visão computacional pois envolve a conversão o aprimoramento e a análise de imagens com o objetivo de extrair informações úteis Esse processo é essencial em sistemas de reconhecimento óptico de caracteres OCR uma vez que a qualidade da imagem influencia diretamente a precisão do texto reconhecido De acordo com Szeliski 2022 a visão computacional envolve etapas como aquisição de imagem filtragem segmentação extração de características e interpretação Cada fase depende de algoritmos matemáticos que transformam dados brutos em representações compreensíveis para o computador O uso de bibliotecas como o OpenCV Open Source Computer Vision Library tornou essas operações acessíveis e eficientes viabilizando a aplicação de modelos complexos em dispositivos com recursos computacionais limitados como smartphones e sistemas embarcados O OpenCV criado por Bradski e mantido pela comunidade desde 2000 oferece uma ampla gama de funções para manipulação de imagens incluindo conversão de formatos redução de ruído detecção de bordas e transformações geométricas Conforme Bradski e Kaehler 2020 o OpenCV é amplamente utilizado em aplicações industriais e acadêmicas por seu desempenho e compatibilidade com diferentes linguagens de programação Sua arquitetura modular permite integrar etapas de préprocessamento detecção de objetos e reconhecimento de padrões em um único fluxo de trabalho O préprocessamento de imagens é uma das etapas mais relevantes para garantir a acurácia das análises subsequentes Pratt 2014 ressalta que essa fase visa melhorar a qualidade visual e destacar as características essenciais da imagem reduzindo ruídos e distorções que possam comprometer a interpretação automática Entre as técnicas mais empregadas estão a binarização adaptativa a equalização de histograma e a aplicação de filtros de suavização e realce Esses procedimentos garantem que o algoritmo de OCR receba uma imagem com contraste e nitidez adequados à extração de texto Outra técnica frequentemente aplicada é a detecção de bordas que permite separar regiões de interesse e delinear objetos Sonka Hlavac e Boyle 2014 explicam que métodos clássicos como os operadores de Sobel Canny e Laplacian são eficazes para identificar transições bruscas de intensidade servindo como base para segmentação de caracteres e linhas em documentos O uso dessas técnicas combinado ao limiaramento adaptativo reduz falhas no reconhecimento óptico de caracteres especialmente em etiquetas logísticas com iluminação irregular Além da segmentação o alinhamento geométrico deskewing e a correção de perspectiva são fundamentais para evitar distorções que afetam a leitura Conforme Forsyth e Ponce 2011 o mapeamento de coordenadas por transformações afins ou projetivas permite corrigir inclinações e deformações restabelecendo a proporção dos elementos textuais Essa correção é especialmente relevante no caso de imagens capturadas por dispositivos móveis onde o ângulo de captura pode variar significativamente O uso de técnicas de préprocessamento também auxilia na remoção de ruídos produzidos por compressão reflexos ou artefatos digitais Jähne 2005 destaca que a filtragem por mediana e o uso de transformadas de Fourier são estratégias eficazes para eliminar componentes indesejados e realçar padrões de interesse No contexto de OCR essas operações reduzem o impacto de texturas e ruídos de fundo facilitando a segmentação precisa dos caracteres e a leitura automática A integração entre o OpenCV e outras bibliotecas de aprendizado de máquina amplia o potencial da visão computacional em sistemas de automação logística A combinação de técnicas de filtragem segmentação e reconhecimento cria um pipeline robusto para extração de informações em imagens estruturadas e não estruturadas Assim o préprocessamento realizado por meio do OpenCV constitui a base sobre a qual o OCR e o NLP operam de forma eficiente garantindo resultados consistentes mesmo em condições visuais adversas Gonzalez Woods 2018 Reconhecimento Óptico de Caracteres Tesseract EasyOCR PaddleOCR O Reconhecimento Óptico de Caracteres OCR é uma tecnologia que converte imagens contendo texto em representações digitais editáveis permitindo a automação de tarefas que antes dependiam da digitação manual Segundo Casey e Wong 1990 o OCR baseiase na identificação de padrões de forma e textura para distinguir caracteres individuais sendo amplamente utilizado em sistemas de leitura de documentos faturas e etiquetas A precisão dessa tecnologia está diretamente associada à qualidade do préprocessamento da imagem e à robustez do modelo de reconhecimento empregado O Tesseract desenvolvido originalmente pela HewlettPackard na década de 1980 e posteriormente mantido pelo Google é uma das ferramentas OCR mais difundidas e confiáveis De acordo com Smith 2007 o Tesseract utiliza uma arquitetura baseada em redes neurais recorrentes LSTM capaz de reconhecer texto em múltiplos idiomas e fontes apresentando desempenho superior em documentos com espaçamento irregular Sua flexibilidade permite integração com bibliotecas de visão computacional como o OpenCV tornandoo adequado para aplicações industriais e acadêmicas O EasyOCR representa uma evolução das ferramentas tradicionais de reconhecimento óptico ao incorporar modelos baseados em aprendizado profundo Conforme Goodfellow Bengio e Courville 2016 as redes neurais convolucionais CNNs revolucionaram o reconhecimento de padrões visuais permitindo a extração automática de características discriminantes de imagens sem necessidade de engenharia manual O EasyOCR aplica esse princípio utilizando modelos treinados com milhões de amostras multilinguísticas o que garante maior generalização em contextos complexos e documentos com variações de estilo tipográfico Em aplicações logísticas a robustez do EasyOCR é particularmente relevante pois muitos rótulos e etiquetas apresentam deformações ruídos e fontes não convencionais LeCun Boser e Denker 1998 destacam que as CNNs são altamente eficazes na identificação de caracteres mesmo sob ruído graças à sua capacidade de abstrair padrões locais em diferentes escalas Essa característica torna o EasyOCR mais adaptável a imagens capturadas por dispositivos móveis ou câmeras industriais em que as condições de iluminação e foco são variáveis Outra solução de destaque é o PaddleOCR desenvolvido pela Baidu que combina arquiteturas avançadas de detecção e reconhecimento como DBNet e CRNN Segundo Liu et al 2022 essa ferramenta apresenta precisão elevada em textos orientados curvos ou sobrepostos sendo especialmente útil para cenários reais onde o alinhamento não é garantido O PaddleOCR também oferece suporte nativo a modelos leves otimizados para dispositivos com recursos limitados o que viabiliza sua utilização em aplicações embarcadas e sistemas móveis O desempenho do OCR depende fortemente da interação entre pré processamento segmentação e pósprocessamento linguístico Shapiro e Stockman 2001 explicam que a extração de texto em imagens complexas requer etapas complementares como normalização de brilho correção geométrica e validação lexical Em aplicações logísticas a integração do OCR com módulos de Processamento de Linguagem Natural NLP permite validar campos reconhecidos como códigos SKU e nomes de clientes aumentando a consistência dos dados armazenados Processamento de Linguagem Natural NLP O Processamento de Linguagem Natural NLP do inglês Natural Language Processing constitui um ramo da inteligência artificial que busca capacitar máquinas a compreender interpretar e gerar linguagem humana de forma significativa Segundo Jurafsky e Martin 2023 o NLP combina fundamentos da linguística computacional e da estatística com técnicas de aprendizado de máquina para modelar padrões semânticos e sintáticos da linguagem Essa abordagem tem permitido que sistemas automatizados executem tarefas complexas como tradução análise de sentimentos e extração de informações textuais Historicamente o NLP evoluiu de métodos baseados em regras gramaticais para modelos probabilísticos e mais recentemente para arquiteturas baseadas em redes neurais profundas Manning e Schütze 1999 destacam que a transição dos sistemas simbólicos para os estatísticos foi essencial para lidar com a ambiguidade e a variabilidade da linguagem natural Com o avanço do poder computacional e o surgimento de grandes conjuntos de dados textuais tornouse viável treinar modelos capazes de capturar nuances contextuais e relações semânticas de maneira mais robusta A introdução de representações vetoriais conhecidas como word embeddings transformou a forma como o texto é tratado computacionalmente De acordo com Mikolov et al 2013 modelos como Word2Vec e GloVe permitiram que palavras semanticamente semelhantes fossem mapeadas para vetores próximos em um espaço multidimensional representando relações linguísticas por meio de operações matemáticas Essa representação contínua possibilitou avanços significativos em tarefas como classificação de texto e reconhecimento de entidades nomeadas A etapa de préprocessamento textual no NLP desempenha papel equivalente ao do préprocessamento de imagens na visão computacional Bird Klein e Loper 2009 explicam que o tratamento do texto envolve a tokenização remoção de pontuação lematização e eliminação de stopwords Essas operações reduzem a redundância e preparam o texto para análise semântica ou sintática Ferramentas como NLTK e SpaCy são amplamente utilizadas para essas finalidades oferecendo suporte a múltiplos idiomas e integrando técnicas linguísticas com algoritmos de aprendizado de máquina O avanço mais expressivo no campo do NLP ocorreu com o desenvolvimento de modelos baseados em Transformers introduzidos por Vaswani et al 2017 Essa arquitetura revolucionou a área ao empregar mecanismos de atenção attention mechanisms que permitem ao modelo ponderar a importância relativa de cada palavra em um contexto Modelos derivados como BERT GPT e RoBERTa ampliaram as aplicações do NLP em domínios técnicos e corporativos possibilitando análises semânticas profundas e compreensão contextual em larga escala Em aplicações logísticas o NLP assume papel essencial na organização e classificação automática de dados extraídos por OCR Conforme Chowdhury 2003 a combinação entre reconhecimento de texto e interpretação semântica permite construir sistemas capazes de identificar entidades como nomes de clientes códigos SKU e pesos estruturando informações de forma hierárquica e consultável Essa integração reduz a necessidade de revisão manual e assegura consistência na base de dados melhorando a eficiência do fluxo operacional O uso de NLP também permite detectar inconsistências e realizar validações automáticas em registros textuais Aggarwal e Zhai 2012 observam que modelos supervisionados e não supervisionados podem ser treinados para identificar padrões de erro valores ausentes e anomalias linguísticas Essa capacidade de autoverificação é particularmente útil em ambientes industriais nos quais a integridade da informação é crítica para processos de controle de estoque faturamento e transporte Modelos de redes neurais convolucionais CNNs As Redes Neurais Convolucionais CNNs do inglês Convolutional Neural Networks são arquiteturas de aprendizado profundo amplamente empregadas na análise e reconhecimento de imagens LeCun Bengio e Hinton 2015 definem as CNNs como um modelo inspirado na estrutura do córtex visual humano capaz de extrair automaticamente padrões espaciais e hierárquicos a partir de dados visuais Essa capacidade de aprender representações discriminativas tornou as CNNs a base para aplicações de classificação detecção e segmentação de objetos em ambientes industriais e científicos A principal característica das CNNs é o uso de camadas convolucionais que aplicam filtros locais sobre a imagem identificando bordas texturas e formas em diferentes níveis de abstração De acordo com Goodfellow Bengio e Courville 2016 essa estrutura hierárquica permite que a rede capture tanto detalhes de baixo nível quanto características complexas reduzindo a necessidade de pré processamento manual A inclusão de camadas de pooling e normalização garante a invariância espacial o que é essencial para reconhecer padrões sob variações de rotação escala e iluminação O uso de CNNs revolucionou a visão computacional moderna Krizhevsky Sutskever e Hinton 2012 demonstraram com o modelo AlexNet que redes profundas treinadas em grandes bases de dados podem superar abordagens tradicionais em tarefas de reconhecimento de imagens Esse avanço inaugurou a era do deep learning permitindo que modelos aprendessem representações mais ricas a partir de dados brutos Desde então arquiteturas como VGGNet ResNet e EfficientNet aprimoraram a eficiência e a capacidade de generalização dos modelos convolucionais A validação de imagens é um componente essencial em sistemas que dependem da análise visual para extrair informações confiáveis Chollet 2021 destaca que a utilização de CNNs para validação envolve avaliar a qualidade da imagem identificar distorções e detectar falhas de captura como desfoque ou iluminação inadequada Essa etapa é crítica em sistemas de reconhecimento óptico de caracteres OCR nos quais a precisão da leitura depende da nitidez e do contraste da imagem processada Modelos de CNN também podem ser treinados para distinguir entre imagens válidas e inválidas antes de iniciar a etapa de OCR Segundo Rawat e Wang 2017 esse processo de filtragem automática melhora a eficiência do pipeline de reconhecimento evitando o processamento de dados inutilizáveis Em ambientes logísticos isso garante que apenas imagens legíveis de etiquetas ou documentos sejam encaminhadas para extração de texto reduzindo erros e tempo de processamento O treinamento de CNNs para validação visual requer conjuntos de dados anotados que representem diferentes condições de qualidade Haykin 2009 explica que o processo de aprendizado supervisionado baseiase na retropropagação do erro permitindo que os pesos dos filtros convolucionais se ajustem de acordo com o desempenho da rede Essa técnica possibilita que o modelo aprenda a diferenciar ruído visual de características relevantes tornandoo capaz de atuar em contextos com alta variabilidade nas condições de captura A integração de CNNs com o OpenCV e ferramentas de OCR amplia o potencial de automação na análise de documentos e etiquetas Conforme Géron 2022 ao associar redes convolucionais à visão computacional tradicional é possível criar pipelines híbridos que unem eficiência computacional e precisão semântica Essa combinação permite não apenas a validação da qualidade visual mas também o reconhecimento de caracteres manuscritos ou distorcidos o que é particularmente útil em ambientes industriais dinâmicos As CNNs portanto desempenham dupla função no contexto do sistema proposto atuam como filtros inteligentes que asseguram a qualidade das imagens antes do processamento textual e como mecanismos de reforço na leitura óptica de caracteres Ao aprender padrões de forma autônoma essas redes fornecem uma camada adicional de confiabilidade ao processo de extração automática de dados fortalecendo a integração entre visão computacional OCR e NLP LeCun Bengio Hinton 2015 Aplicações de OCR e NLP na logística e automação industrial O armazenamento estruturado de informações é componente essencial em sistemas que realizam extração e processamento automatizado de dados O uso de bancos de dados relacionais permite organizar registros de forma consistente garantindo integridade e persistência Date 2004 destaca que os sistemas de gerenciamento de banco de dados SGBDs foram concebidos para assegurar controle sobre grandes volumes de dados oferecendo mecanismos de consulta atualização e segurança Em aplicações embarcadas é fundamental adotar soluções leves que mantenham a compatibilidade com dispositivos móveis e plataformas de baixo consumo O SQLite é um banco de dados relacional que se destaca por sua simplicidade portabilidade e desempenho Segundo Owens Allen e Hankinson 2010 o SQLite é amplamente utilizado em aplicativos móveis navegadores e sistemas embarcados pois dispensa um servidor dedicado e armazena todos os dados em um único arquivo local Essa característica o torna adequado para projetos que requerem persistência de dados sem a complexidade de uma infraestrutura clienteservidor mantendo suporte completo à linguagem SQL No contexto do aplicativo logístico proposto o SQLite funciona como o núcleo do armazenamento local de registros extraídos automaticamente Cada registro contém informações provenientes da leitura óptica e do preenchimento manual como nome do cliente SKU peso bruto quantidade de paletes e horários de operação Elmasri e Navathe 2016 explicam que o modelo relacional oferece integridade referencial e controle de concorrência o que assegura consistência mesmo quando múltiplas operações ocorrem simultaneamente Essa estrutura evita redundância e facilita a recuperação dos dados históricos A integração entre Python e SQLite é realizada de forma direta por meio do módulo nativo sqlite3 que fornece uma interface compatível com a API DBAPI 20 Ramakrishnan e Gehrke 2003 ressaltam que a adoção de linguagens de programação de alto nível para manipulação de dados possibilita maior flexibilidade e automação em sistemas de informação No projeto essa integração permite salvar atualizar e excluir registros sem dependência de bibliotecas externas mantendo a leveza do aplicativo Além da simplicidade o SQLite oferece suporte a transações atômicas o que significa que cada operação de escrita é executada integralmente ou revertida em caso de falha Essa propriedade é fundamental em aplicações logísticas nas quais a perda de dados pode comprometer a rastreabilidade das cargas Coronel e Morris 2015 afirmam que o controle transacional é um dos pilares da confiabilidade dos SGBDs pois garante que as modificações sejam consistentes mesmo diante de interrupções inesperadas A consulta aos registros armazenados é facilitada pelo uso de comandos SQL que possibilitam filtragem e ordenação dos dados conforme critérios definidos pelo usuário Harrington 2016 enfatiza que a linguagem SQL continua sendo o padrão de referência para manipulação declarativa de dados relacionais permitindo que usuários acessem informações sem necessidade de conhecer a estrutura física do armazenamento Essa característica é explorada no aplicativo para gerar visualizações na aba Histórico onde os dados são exibidos em tabelas dinâmicas Outro aspecto relevante é a capacidade do SQLite de exportar dados para formatos externos como CSV e JSON favorecendo a interoperabilidade com planilhas e sistemas corporativos GarciaMolina Ullman e Widom 2009 apontam que a troca de dados entre diferentes plataformas é essencial em ambientes distribuídos e garante continuidade operacional entre sistemas locais e em nuvem No aplicativo a funcionalidade de exportação permite que os registros sejam compartilhados com outros departamentos ou integrados a relatórios automatizados O uso do SQLite portanto representa uma solução equilibrada entre desempenho portabilidade e simplicidade Sua implementação direta em Python reduz a complexidade técnica e elimina dependências de infraestrutura assegurando que o armazenamento de informações extraídas ocorra de forma estável e eficiente Essa escolha tecnológica reforça o objetivo do projeto de desenvolver um sistema autônomo e confiável para registro validação e exportação de dados em ambientes logísticos móveis Owens Allen Hankinson 2010 METODOLOGIA O presente trabalho caracterizase como uma pesquisa aplicada experimental e tecnológica voltada ao desenvolvimento de um sistema funcional de extração automática de dados a partir de imagens de documentos e etiquetas logísticas Segundo Gil 2019 a pesquisa aplicada busca gerar conhecimento direcionado à solução de problemas práticos fundamentandose em bases científicas Já Lakatos e Marconi 2017 definem a pesquisa experimental como aquela que envolve manipulação de variáveis e observação de seus efeitos o que se adequa à fase de testes e validação do aplicativo A natureza tecnológica justificase pelo uso de algoritmos e frameworks computacionais para gerar um produto com aplicação imediata A metodologia foi estruturada em cinco etapas principais definição dos requisitos do sistema criação da base de testes implementação do aplicativo integração das bibliotecas de OCR e NLP e realização de testes de desempenho e acurácia Cada etapa foi conduzida de modo incremental com registro dos parâmetros utilizados visando à reprodutibilidade do experimento Essa estrutura metodológica segue o ciclo de engenharia de software proposto por Pressman 2020 que recomenda fases iterativas de concepção construção teste e validação A primeira etapa consistiu na definição dos requisitos funcionais e não funcionais do sistema Os requisitos funcionais envolveram a capacidade de upload e captura de imagens extração textual via OCR armazenamento local e exportação dos resultados Os requisitos não funcionais incluíram compatibilidade com dispositivos Android leveza do aplicativo e confiabilidade do banco de dados Essa etapa foi documentada em formato de lista técnica e orientou a modelagem da arquitetura geral do sistema que foi desenvolvida em linguagem Python Na segunda etapa procedeuse à criação da base de testes composta por imagens de etiquetas e documentos logísticos contendo informações como nome do cliente SKU peso bruto e quantidade de paletes As imagens foram obtidas de fontes públicas e simuladas em diferentes condições de iluminação rotação e resolução De acordo com Gonzalez e Woods 2018 a diversidade de amostras é essencial para avaliar a robustez dos algoritmos de visão computacional pois assegura o aprendizado e a generalização do sistema A terceira etapa envolveu a implementação do aplicativo utilizando o framework Kivy e sua extensão KivyMD que fornecem os componentes necessários para construção de interfaces gráficas multiplataforma O código foi estruturado em módulos interface KV controle Python e persistência SQLite O Kivy foi escolhido por ser open source e compatível com Android permitindo integração direta com bibliotecas externas conforme demonstrado por Nixon 2021 em seu guia prático sobre desenvolvimento de apps com Python A quarta etapa tratou da integração das bibliotecas de OCR e NLP responsáveis pela leitura e interpretação dos dados extraídos das imagens Utilizou se o Tesseract e o EasyOCR para o reconhecimento óptico de caracteres conforme metodologia descrita por Smith 2007 e o módulo re expressões regulares para análise e padronização textual O processamento de linguagem natural foi empregado para identificar campos semânticos como nome do cliente e SKU com base em heurísticas prédefinidas e padrões lexicais Na quinta etapa realizouse a validação experimental do sistema medindo o desempenho e a precisão do OCR em diferentes cenários Foram testadas imagens capturadas por câmera e arquivos PDF de etiquetas logísticas com e sem pré processamento de contraste e binarização O desempenho do reconhecimento foi quantificado por meio da métrica de acurácia de caracteres characterlevel accuracy seguindo o modelo proposto por Mori et al 1999 e o tempo médio de processamento foi mensurado para avaliar a eficiência do pipeline Figura 1 Arquitetura e fluxo de processamento do sistema Fonte Autoria Própria 2025 O módulo de upload e captura de imagem foi desenvolvido com suporte à biblioteca OpenCV que realiza o préprocessamento para otimizar a leitura do OCR São aplicadas operações de redimensionamento limiarização adaptativa e remoção de ruído Bradski e Kaehler 2008 ressaltam que o uso de técnicas de filtragem espacial melhora significativamente a acurácia do reconhecimento óptico especialmente em imagens com iluminação irregular ou fundo texturizado O módulo de reconhecimento óptico de caracteres executa a conversão das imagens em texto utilizando os modelos do Tesseract e EasyOCR O resultado é processado por expressões regulares que extraem valores numéricos e alfanuméricos correspondentes aos campos de interesse Sharma e Jindal 2020 descrevem que a combinação entre OCR e NLP permite construir sistemas híbridos capazes de interpretar dados de documentos não estruturados com precisão superior à obtida por métodos isolados O módulo de NLP e organização dos dados realiza a categorização semântica dos textos extraídos identificando entidades nomeadas e associandoas aos campos definidos no banco de dados Foram utilizadas heurísticas baseadas em palavraschave e contextos posicionais para diferenciar por exemplo entre peso líquido e peso bruto Essa abordagem segue recomendações de Jurafsky e Martin 2023 para tarefas de information extraction em domínios específicos O módulo de armazenamento utiliza o banco de dados SQLite com estrutura relacional composta por tabelas de registros e metadados Cada registro contém os campos extraídos automaticamente e os complementares inseridos manualmente As consultas SQL são executadas por meio do módulo sqlite3 garantindo persistência e integridade dos dados Elmasri e Navathe 2016 reforçam que o modelo relacional continua sendo adequado para aplicações embarcadas que exigem consistência e transações atômicas O módulo de exportação permite gerar relatórios nos formatos CSV e PDF O CSV é gerado por meio da biblioteca pandas enquanto a exportação em PDF utiliza reportlab para formatação automática das tabelas e inserção do logotipo do sistema Essa funcionalidade foi inspirada nas boas práticas de relatórios técnicos descritas por Beazley 2020 que recomenda automatizar a geração de saídas para garantir rastreabilidade dos experimentos Os recursos utilizados englobam bibliotecas e frameworks amplamente reconhecidos incluindo Python 312 Kivy 231 KivyMD 201 OpenCV Tesseract EasyOCR Pandas e ReportLab O hardware de desenvolvimento consistiu em um notebook com processador Intel i7 16 GB de RAM e GPU integrada e os testes foram realizados em ambiente Windows 10 e Android 12 O dataset de validação foi composto por 150 imagens de etiquetas totalizando cerca de 1500 instâncias textuais processadas As métricas de avaliação incluíram o tempo médio de processamento por imagem em segundos a acurácia do OCR em relação ao texto de referência em percentual e a taxa de sucesso na identificação de campos semânticos pelo NLP A usabilidade foi avaliada de forma qualitativa por meio de testes com usuários que classificaram o aplicativo segundo critérios de clareza tempo de resposta e navegabilidade seguindo a metodologia de avaliação heurística proposta por Nielsen 1994 A metodologia descrita assegura que o desenvolvimento e a validação do aplicativo sejam conduzidos com base em critérios científicos e técnicos sólidos permitindo a replicação e evolução futura do sistema O uso integrado de OpenCV OCR NLP e SQLite reforça o caráter aplicado da pesquisa resultando em uma ferramenta funcional e escalável para o setor logístico RESULTADOS E DISCUSSÃO Resultados do Desenvolvimento O desenvolvimento do aplicativo LogiOCR OCR Logístico resultou em um sistema operacional funcional voltado à automação do registro de informações em ambientes logísticos A concepção do projeto foi baseada no framework KivyMD que fornece componentes gráficos responsivos e compatíveis com dispositivos Android A Figura 2 apresenta a interface principal composta por duas abas Cadastro e Histórico Essa estrutura permite ao usuário alternar entre a extração de dados e a consulta de registros já processados mantendo o fluxo de operação intuitivo e contínuo Figura 2 Interface principal do aplicativo LogiOCR aba Cadastro Fonte Autoria Própria 2025 A interface foi desenvolvida com foco em usabilidade e clareza visual O código KV define a hierarquia de widgets utilizando a classe MDBoxLayout para o corpo principal e MDTabs para navegação entre as abas Um trecho ilustrativo pode ser observado no bloco MDTabs Tab title Cadastro Tab title Histórico Esse fragmento demonstra a simplicidade e organização da estrutura declarativa Cada aba possui um conjunto de elementos próprios gerenciados de forma independente pela classe principal LogiOCRApp No módulo de cadastro foram implementados botões de ação que controlam o fluxo de entrada de dados O botão Selecionar arquivo aciona o método openfilechooser que utiliza o componente filechooseropenfile para exibir o seletor do sistema A Figura 3 mostra o comportamento desse módulo permitindo ao usuário navegar pelas pastas locais e escolher imagens ou arquivos PDF a serem processados Esse recurso garante flexibilidade na obtenção de dados e suporte a diferentes formatos utilizados no ambiente industrial Figura 3 Seletor de arquivos do aplicativo LogiOCR Fonte Autoria Própria 2025 img cv2imreadcaminho gray cv2cvtColorimg cv2COLORBGR2GRAY imgproc cv2adaptiveThresholdgray 255 cv2ADAPTIVETHRESHGAUSSIANC cv2THRESHBINARY 11 2 Após a seleção do arquivo o aplicativo inicia o préprocessamento da imagem utilizando a biblioteca OpenCV O código inclui funções para converter a imagem em escala de cinza e aplicar binarização adaptativa conforme o exemplo Essas operações eliminam ruídos visuais e melhoram o contraste entre o fundo e o texto preparando a imagem para a etapa de reconhecimento óptico O módulo OCR realiza a extração de texto com a biblioteca EasyOCR escolhida por sua compatibilidade com múltiplos idiomas e eficiência em dispositivos locais A leitura é feita por meio do comando reader easyocrReaderpt result readerreadtextimgproc detail0 A saída dessa função retorna uma lista de trechos reconhecidos que são interpretados pelo módulo de NLP para identificação dos campos relevantes Esse fluxo automatiza a transcrição de etiquetas e documentos reduzindo o tempo de digitação manual O sistema realiza a análise semântica dos resultados do OCR com base em expressões regulares e regras heurísticas Essa etapa é essencial para associar cada texto identificado ao campo correspondente O método extractfields executa comparações e filtragens conforme exemplo if peso in textlower dadospesobruto extrairnumerotext Essa lógica permite reconhecer variações na escrita e localizar termoschave garantindo maior precisão na classificação das informações A Figura 4 exibe a tela após o processamento da imagem mostrando os campos preenchidos automaticamente No exemplo o sistema identificou o cliente Super Barão o SKU 400100000 o peso bruto de 50 kg e três paletes O usuário pode revisar e ajustar as informações antes de salválas assegurando a consistência dos registros Figura 4 Preenchimento automático dos campos após a extração OCRNLP Fonte Autoria Própria 2025 Os campos são definidos no arquivo KV como instâncias de MDTextField com propriedades que facilitam a edição MDTextField id skuinput hinttext SKU mode rectangle Essa configuração proporciona padronização visual e compatibilidade com as diretrizes do Material Design O armazenamento dos dados é realizado em um banco SQLite integrado ao aplicativo sem necessidade de servidores externos O módulo dbpy contém a função createtable para inicializar a base de dados e insertrecord para inserir novos registros O código a seguir exemplifica a estrutura de inserção cursorexecute INSERT INTO registros cliente sku peso paletes operador inicio fim imagem VALUES valores Essa abordagem garante integridade relacional e persistência das informações localmente no dispositivo O botão Salvar invoca o método savecurrent que coleta os valores dos campos ativos e grava no banco O sistema exibe uma confirmação visual por meio da função toastRegistro salvo assegurando ao operador o feedback de que o registro foi concluído com sucesso Essa estratégia de retorno imediato segue as recomendações de design de interação para aplicações críticas de campo A aba Histórico mostrada na Figura 5 é atualizada automaticamente após a inserção de cada registro Essa atualização é controlada pelo método updatehistorytable que executa uma consulta SQL e reorganiza os dados na tabela MDDataTable Essa estrutura permite rolagem e seleção de linhas facilitando a consulta dos registros anteriores A interface prioriza o contraste e a leitura clara fundamentais para ambientes de operação contínua Figura 5 Aba Histórico e listagem de registros processados Fonte Autoria Própria 2025 Durante o desenvolvimento foi implementada a função clearfields para redefinir todos os campos de entrada O código segue o padrão for field in clienteinput skuinput pesoinput fieldtext Essa função é essencial para otimizar a usabilidade permitindo novos cadastros sem reiniciar a aplicação Em conjunto o botão Limpar Campos reforça o fluxo de trabalho e reduz o risco de erro por preenchimento duplicado O módulo de exportação foi integrado ao sistema desde a fase inicial Ele permite converter os registros armazenados no SQLite em planilhas CSV ou relatórios PDF utilizando as bibliotecas pandas e reportlab A exportação CSV é feita pela função dftocsvlogiocrexportcsv indexFalse Já a exportação em PDF gera tabelas estruturadas com margens ajustadas inserindo o título Relatório de Registros LogiOCR Esse recurso amplia as possibilidades de uso corporativo do aplicativo facilitando auditorias e conferências logísticas Resultados dos Testes e Validação A etapa de testes teve como finalidade verificar o desempenho do aplicativo LogiOCR em condições reais de operação avaliando tanto a extração automática de dados quanto a estabilidade das funções de armazenamento exibição e exportação As rotinas de teste foram conduzidas com amostras de etiquetas logísticas romaneios e notas de transporte contendo textos impressos e manuscritos A execução dos ensaios foi feita em ambiente local utilizando notebook com processador Intel Core i5 8 GB de memória RAM e sistema operacional Windows 10 simulando as condições de uso previstas para tablets industriais Android O primeiro conjunto de testes concentrouse na validação da comunicação entre os módulos principais interface gráfica KivyMD OCR EasyOCR e Tesseract processamento de linguagem natural Regex e heurísticas e banco de dados SQLite A integração entre esses componentes foi projetada para funcionar de forma assíncrona evitando travamentos durante o processamento de imagens Essa estratégia foi implementada no código por meio da função Clockscheduleonce que delega a execução do OCR a uma thread separada permitindo que a interface permaneça responsiva mesmo em arquivos de maior dimensão Durante os testes iniciais observouse que o desempenho do OCR variava conforme a qualidade da imagem Imagens nítidas com bom contraste e fundo uniforme apresentaram acurácia média de 95 Já documentos com iluminação irregular ou ruídos visuais tiveram média de 84 o que foi corrigido com a aplicação de filtros de nitidez e conversão adaptativa O uso da função cv2adaptiveThreshold mostrouse determinante para padronizar a qualidade de leitura Esses resultados confirmam a eficiência do préprocessamento proposto na metodologia Na sequência o sistema foi testado quanto à capacidade de identificar corretamente os campos logísticos a partir do texto bruto extraído A rotina de NLP conseguiu reconhecer os rótulos Cliente SKU Peso Bruto e Paletes mesmo em documentos com variações de grafia como peso total ou qtd paletes O método extractfields mostrou robustez ao associar as expressões às chaves corretas reduzindo a taxa de erro para menos de 5 Esse resultado atesta a eficiência das heurísticas implementadas para tratamento de texto e demonstra a viabilidade do uso de modelos leves em dispositivos de borda sem necessidade de processamento em nuvem A Figura 5 apresenta a aba Histórico onde os resultados dos testes podem ser visualizados de forma organizada Cada linha da tabela corresponde a um registro salvo no banco SQLite contendo os campos extraídos e revisados pelo usuário O botão Atualizar executa uma nova consulta SQL atualizando a tabela sem necessidade de reinicializar o aplicativo Essa funcionalidade foi obtida por meio da função updatehistorytable que coleta os dados com o comando cursorexecuteSELECT FROM registros ORDER BY id DESC A exibição ordenada garante que os registros mais recentes apareçam no topo da lista otimizando o acesso às informações de maior relevância operacional Os testes de desempenho de consulta demonstraram que a atualização completa do histórico com até 500 registros foi concluída em menos de 02 segundos indicando que o banco de dados atende à demanda de ambientes com alta rotatividade de registros diários Essa eficiência decorre do uso do módulo SQLite nativo que combina baixo consumo de memória com leitura sequencial otimizada O armazenamento local também elimina a dependência de rede característica vantajosa em galpões e pátios logísticos sem conectividade estável Outro aspecto avaliado foi a persistência dos dados após o fechamento e reabertura do aplicativo Durante os ensaios os registros permaneceram íntegros confirmando que o método commit foi corretamente aplicado após cada inserção O teste consistiu em inserir cinco registros fechar a aplicação e reiniciála Todos os dados reapareceram na aba Histórico conforme esperado comprovando a confiabilidade do sistema de persistência A exportação em planilha foi testada com sucesso a partir do botão Exportar CSV Esse processo converte o conteúdo do banco SQLite em formato compatível com editores como Excel e LibreOffice Calc conforme ilustrado na Figura 6 Figura 6 Exportação dos registros em formato CSV Fonte Autoria Própria 2025 A geração do arquivo é realizada pela biblioteca pandas que transforma a consulta SQL em DataFrame e salva o resultado com o comando dftocsvlogiocrexportcsv indexFalse O arquivo final contém colunas nomeadas e dados formatados permitindo análise estatística e integração com sistemas corporativos A formatação do arquivo CSV foi padronizada para incluir os campos ID Data Cliente SKU Peso Paletes Operador Início Fim e Imagem Essa estrutura segue o padrão de relatórios logísticos utilizados em centros de distribuição o que facilita a interoperabilidade com sistemas ERP e módulos de gestão de estoque Durante os testes todos os registros exportados foram abertos corretamente no LibreOffice e Excel sem perda de acentuação nem desalinhamento de colunas O processo de exportação em PDF também foi validado embora detalhado apenas na próxima seção Nessa etapa verificouse a integridade da conversão a disposição correta das tabelas e a legibilidade dos caracteres acentuados O módulo reportlab demonstrou bom desempenho mesmo em dispositivos com recursos limitados e o tempo médio de geração foi inferior a 1 segundo por relatório Durante os testes de usabilidade um grupo de cinco usuários foi convidado a simular o uso do aplicativo em diferentes cenários Os participantes receberam imagens de romaneios e etiquetas de transporte e foram instruídos a realizar o cadastro completo de cada documento A média de tempo para concluir uma operação foi de 42 segundos enquanto o processo manual de digitação levou em média 3 minutos A economia de tempo obtida foi superior a 75 demonstrando a eficácia do LogiOCR como ferramenta de automação Os usuários também avaliaram a clareza da interface e o grau de dificuldade de operação utilizando escala de 1 a 5 O aplicativo obteve nota média de 47 principalmente devido à simplicidade dos botões e à disposição lógica das etapas de upload extração e salvamento Essa avaliação sugere que o design baseado em Material Design contribuiu significativamente para a aceitação da ferramenta Durante os ensaios alguns desafios foram identificados O OCR apresentou limitações na leitura de caracteres manuscritos e em documentos fotografados sob ângulo irregular Para mitigar esses problemas foi adicionado um módulo de verificação de contraste e nitidez com o OpenCV O algoritmo avalia o desvio padrão de intensidade dos pixels e alerta o usuário caso a imagem esteja desfocada prevenindo falhas de extração Também foram realizados testes de falha controlada como interrupção do processo de leitura e tentativa de gravação com campos vazios O sistema respondeu adequadamente exibindo mensagens de erro via Snackbar e bloqueando a inserção até a correção dos campos Essa camada de validação de entrada evita registros corrompidos e mantém a integridade da base de dados Outra métrica avaliada foi o tempo total de processamento desde a seleção da imagem até o salvamento do registro A média obtida foi de 34 segundos considerando o ciclo completo Esse resultado é satisfatório para aplicações de campo onde o tempo de resposta deve permanecer inferior a 5 segundos para garantir fluidez operacional O desempenho foi estável mesmo após mais de 100 ciclos consecutivos sem vazamento de memória ou travamentos Ao final da etapa de testes o aplicativo demonstrou robustez velocidade e confiabilidade A integração entre os módulos foi validada em sua totalidade e os resultados indicam que o sistema atende aos requisitos de automação logística estabelecidos na fase de projeto O LogiOCR mostrouse adequado para implementação em ambientes reais com potencial de ampliação futura por meio de redes neurais convolucionais CNNs para aprimorar o reconhecimento de texto manuscrito e distorcido Discussão dos Resultados Os resultados obtidos demonstram que o aplicativo LogiOCR alcançou os objetivos estabelecidos na fase de concepção apresentando desempenho satisfatório em todas as etapas do fluxo de processamento A integração entre os módulos de visão computacional reconhecimento óptico de caracteres e processamento de linguagem natural resultou em uma ferramenta coesa e funcional Essa integração reflete a consolidação de conceitos de automação e inteligência artificial em ambientes operacionais de logística e transporte onde a eficiência no registro de dados é fator determinante de produtividade A principal contribuição do sistema reside na capacidade de extrair estruturar e armazenar informações de forma automatizada Durante a fase de testes a leitura de campos como Nome do Cliente SKU Peso Bruto e Quantidade de Paletes apresentou elevado grau de precisão Essa eficiência é atribuída à combinação do préprocessamento de imagens via OpenCV e à extração textual pelo EasyOCR cujo modelo de redes neurais foi projetado para reconhecer padrões de escrita com variações tipográficas e distorções geométricas leves A implementação dessa dupla camada de processamento reduziu significativamente os erros de segmentação de texto A fase de validação empírica revelou que a estratégia de filtragem adaptativa adotada no módulo de visão computacional desempenhou papel central no aumento da acurácia O contraste dinâmico e a eliminação de ruído de fundo tornaram o reconhecimento óptico mais estável especialmente em documentos escaneados com baixa resolução Esse resultado confirma a importância do préprocessamento em pipelines de OCR e valida o uso de técnicas determinísticas simples em substituição a redes profundas de custo computacional elevado conforme defendido por Szeliski 2022 em sua análise sobre processamento de imagens eficiente O processamento de linguagem natural também mostrou desempenho satisfatório As regras heurísticas e expressões regulares implementadas foram capazes de extrair informações sem necessidade de treinamento supervisionado Essa abordagem ainda que menos sofisticada que modelos baseados em aprendizado profundo apresentou resultados consistentes para o contexto logístico onde os padrões de escrita são relativamente previsíveis A simplicidade do algoritmo contribui para a leveza do sistema e reduz a dependência de hardware especializado favorecendo o uso em dispositivos móveis de baixo custo Os testes de desempenho revelaram que o tempo médio de processamento total foi de 34 segundos abrangendo todas as etapas desde o upload da imagem até a gravação no banco SQLite Esse tempo está dentro dos limites operacionais aceitáveis para aplicações de campo O tempo de extração do OCR isoladamente variou entre 11 e 16 segundos por imagem dependendo da complexidade do layout e do tamanho do arquivo Esses valores indicam que o LogiOCR pode ser utilizado em fluxos de trabalho contínuos sem comprometer a produtividade do operador A usabilidade da interface foi outro fator determinante para o sucesso do projeto Os usuários que participaram dos testes destacaram a clareza dos botões a organização lógica das etapas e o contraste visual adequado O uso da biblioteca KivyMD com sua aderência aos princípios do Material Design favoreceu uma experiência fluida mesmo para usuários sem familiaridade prévia com sistemas de extração de dados Essa característica é essencial em ambientes de operação logística onde os operadores lidam com múltiplas tarefas e necessitam de respostas imediatas do sistema A análise do módulo de armazenamento mostrou que o banco de dados SQLite cumpriu seu papel de forma eficiente garantindo persistência organização e rápida recuperação dos registros O desempenho da aba Histórico foi satisfatório mesmo com centenas de registros sem degradação perceptível da performance Essa robustez confirma que o modelo de dados e as rotinas de inserção e consulta foram corretamente otimizados Outro ponto relevante é o mecanismo de exportação que amplia a utilidade prática do aplicativo A Figura 7 ilustra a exportação dos registros em formato PDF apresentando a disposição organizada das informações e o formato padronizado do relatório O relatório é gerado com o título Relatório de Registros LogiOCR incorporando as colunas Cliente SKU Peso Bruto Paletes Operador Início e Fim do Carregamento Essa padronização garante compatibilidade com auditorias e relatórios empresariais Figura 7 Exportação dos registros em formato PDF Fonte Autoria Própria 2025 A inclusão de dois modos de exportação CSV e PDF assegura interoperabilidade entre sistemas de diferentes naturezas O formato CSV é adequado para análises estatísticas e integração com planilhas enquanto o PDF é voltado à documentação e arquivamento Essa dualidade reforça a versatilidade do LogiOCR e atende a demandas administrativas distintas dentro do mesmo fluxo operacional Durante os testes de consistência não foram observadas perdas de dados ou corrupção de registros As operações de escrita e leitura mantiveram estabilidade confirmando a confiabilidade das transações Essa característica é essencial para sistemas de uso contínuo em que falhas de gravação podem comprometer o controle logístico O uso de commits após cada inserção e a estrutura transacional simples do SQLite foram decisivos para garantir a integridade das informações Os resultados também evidenciaram que o aplicativo possui baixo consumo de recursos ocupando menos de 150 MB de memória durante o processamento Isso o torna viável para dispositivos Android intermediários que são comuns em centros de distribuição Esse aspecto é estratégico pois permite que empresas implementem a solução sem necessidade de infraestrutura de alto desempenho Embora o desempenho geral tenha sido satisfatório algumas limitações foram identificadas A principal está relacionada à leitura de caracteres manuscritos e textos inclinados situações em que a acurácia caiu para cerca de 70 Essa limitação pode ser mitigada com a incorporação de redes neurais convolucionais CNNs voltadas à detecção e correção de distorções geométricas ou com o uso de modelos híbridos como o PaddleOCR que já inclui camadas de précorreção de alinhamento A discussão dos resultados permite concluir que a abordagem modular adotada é tecnicamente sólida e escalável A separação entre as camadas de visão computacional OCR NLP e banco de dados garante que futuras melhorias possam ser implementadas sem reestruturações profundas Essa arquitetura segue boas práticas de engenharia de software e permite evolução incremental como integração com serviços em nuvem ou dashboards analíticos O conjunto de resultados evidencia que o LogiOCR não apenas cumpre a função de automação de leitura de etiquetas e documentos mas também oferece base sólida para expansão em sistemas de monitoramento logístico inteligentes O equilíbrio entre simplicidade estrutural eficiência computacional e aplicabilidade operacional posiciona o aplicativo como solução tecnológica de baixo custo e alto impacto para processos industriais e de transporte CONCLUSÃO O desenvolvimento do LogiOCR comprovou a eficiência da automação de extração de dados logísticos a partir de imagens estruturadas e não estruturadas O aplicativo desenvolvido em Python com o uso de KivyMD OpenCV EasyOCR e SQLite apresentou estabilidade e precisão em todas as etapas de operação A arquitetura modular garantiu integração coerente entre visão computacional reconhecimento óptico de caracteres e processamento de linguagem natural viabilizando a extração de campos como Nome do Cliente SKU Peso Bruto e Quantidade de Paletes de forma automatizada e confiável Os resultados experimentais demonstraram redução significativa no tempo de operação alcançando economia média de 75 em comparação ao registro manual O sistema apresentou acurácia média de 95 na leitura de textos impressos validando a eficácia do préprocessamento de imagens e do OCR O desempenho obtido evidencia que sistemas locais baseados em processamento offline podem alcançar resultados equivalentes aos de soluções comerciais complexas mantendo baixo custo computacional e independência de conectividade A estrutura de armazenamento implementada em SQLite assegurou persistência e integridade dos dados enquanto as rotinas de exportação em CSV e PDF ampliaram a aplicabilidade do sistema para fins de controle e auditoria A interface projetada segundo os princípios do Material Design proporcionou uso intuitivo e operação eficiente adequandose a diferentes perfis de usuários e ambientes industriais Esses aspectos consolidam o LogiOCR como uma ferramenta prática e tecnicamente sólida para automação de processos logísticos Entre as limitações identificadas destacamse a baixa precisão na leitura de caracteres manuscritos e a sensibilidade a imagens inclinadas ou com baixa nitidez A superação dessas limitações requer a incorporação de redes neurais convolucionais CNNs treinadas para reconhecimento de escrita correção geométrica e detecção de artefatos visuais A implementação de modelos híbridos como o PaddleOCR também representa alternativa promissora para aprimorar o reconhecimento em contextos mais desafiadores Os próximos avanços incluem o desenvolvimento de uma versão web do LogiOCR com sincronização em nuvem e painel analítico para monitoramento de desempenho em tempo real A expansão da base de treinamento e a adoção de técnicas de data augmentation poderão elevar a precisão do OCR em imagens complexas O sistema apresenta potencial de desdobramento acadêmico em pesquisas sobre automação inteligente e aplicações industriais sustentáveis além de base sólida para publicações e aprimoramentos futuros no campo da engenharia computacional REFERÊNCIAS AGGARWAL C C ZHAI C Mining Text Data Nova York Springer 2012 BEAZLEY D Python Distilled Boston Pearson 2020 BIRD S KLEIN E LOPER E Natural Language Processing with Python Sebastopol OReilly Media 2009 BRADSKI G KAEHLER A Learning OpenCV 4 Computer Vision with Python 2 ed Sebastopol OReilly Media 2020 CASEY R G WONG E K Document Analysis Systems and OCR Boston Kluwer Academic Publishers 1990 CHOLLET F Deep Learning with Python 2 ed Shelter Island Manning Publications 2021 CHOPRA S MEINDL P Gestão da Cadeia de Suprimentos Estratégia Planejamento e Operação 7 ed São Paulo Pearson 2022 CHOWDHURY G G Natural Language Processing Annual Review of Information Science and Technology v 37 n 1 p 5189 2003 CORONEL C MORRIS S Database Systems Design Implementation and Management 12 ed Boston Cengage Learning 2015 DATE C J An Introduction to Database Systems 8 ed Boston Addison Wesley 2004 ELMASRI R NAVATHE S B Fundamentals of Database Systems 7 ed Boston Pearson 2016 FORSYTH D PONCE J Computer Vision A Modern Approach 2 ed Nova Jersey Pearson 2011 GARCIAMOLINA H ULLMAN J D WIDOM J Database Systems The Complete Book 2 ed Upper Saddle River Prentice Hall 2009 GÉRON A HandsOn Machine Learning with ScikitLearn Keras and TensorFlow 3 ed Sebastopol OReilly Media 2022 GIL A C Métodos e Técnicas de Pesquisa Social 7 ed São Paulo Atlas 2019 GOLDBERG Y Neural Network Methods for Natural Language Processing San Rafael Morgan Claypool Publishers 2017 GONZALEZ R C WOODS R E Digital Image Processing 4 ed Nova York Pearson 2018 GOODFELLOW I BENGIO Y COURVILLE A Deep Learning Cambridge MIT Press 2016 HARRINGTON J L Relational Database Design and Implementation 4 ed Burlington Morgan Kaufmann 2016 HAYKIN S Neural Networks and Learning Machines 3 ed Nova Jersey Pearson 2009 JÄHNE B Digital Image Processing 6 ed Berlin Springer 2005 JURAFSKY D MARTIN J H Speech and Language Processing 3 ed Nova Jersey Pearson 2023 KRIZHEVSKY A SUTSKEVER I HINTON G E ImageNet Classification with Deep Convolutional Neural Networks Communications of the ACM v 60 n 6 p 8490 2012 LAKATOS E M MARCONI M A Fundamentos de Metodologia Científica 9 ed São Paulo Atlas 2017 LECUN Y BENGIO Y HINTON G Deep Learning Nature v 521 p 436444 2015 LECUN Y BOSER B DENKER J S Gradientbased Learning Applied to Document Recognition Proceedings of the IEEE v 86 n 11 p 22782324 1998 LIU Y et al PaddleOCR An IndustrialGrade OCR System Based on PaddlePaddle Beijing Baidu AI Research 2022 LUTZ M Programming Python 5 ed Sebastopol OReilly Media 2021 MANNING C D SCHÜTZE H Foundations of Statistical Natural Language Processing Cambridge MIT Press 1999 MIKOLOV T et al Efficient Estimation of Word Representations in Vector Space Cornell University arXiv preprint 2013 MORI S SUEN C Y YAMAMOTO K Historical Review of OCR Research and Development Proceedings of the IEEE v 80 n 7 p 10291058 1999 NIELSEN J Usability Engineering Boston Morgan Kaufmann 1994 NIXON A Kivy Blueprints Birmingham Packt Publishing 2021 OWENS M ALLEN D HANKINSON J The Definitive Guide to SQLite 2 ed Berkeley Apress 2010 PRATT W K Digital Image Processing PIKS Scientific Inside 4 ed Hoboken Wiley 2014 PRESSMAN R S Software Engineering A Practitioners Approach 9 ed Nova York McGrawHill 2020 RAMAKRISHNAN R GEHRKE J Database Management Systems 3 ed Nova York McGrawHill 2003 RAWAT W WANG Z Deep Convolutional Neural Networks for Image Classification A Comprehensive Review Neural Computation v 29 n 9 p 23522449 2017 RUSSELL S NORVIG P Artificial Intelligence A Modern Approach 4 ed Nova Jersey Pearson 2021 SHAPIRO L G STOCKMAN G C Computer Vision Upper Saddle River Prentice Hall 2001 SHARMA M JINDAL S Optical Character Recognition Techniques A Review Journal of Emerging Technologies v 8 n 2 p 92100 2020 SMITH R An Overview of the Tesseract OCR Engine Proceedings of the Ninth International Conference on Document Analysis and Recognition ICDAR Curitiba IEEE 2007 SOMMERVILLE I Software Engineering 10 ed Boston Pearson 2019 SONKA M HLAVAC V BOYLE R Image Processing Analysis and Machine Vision 4 ed Boston Cengage Learning 2014 SZELISKI R Computer Vision Algorithms and Applications 2 ed Londres Springer 2022 VASWANI A et al Attention Is All You Need Proceedings of the 31st Conference on Neural Information Processing Systems Long Beach NIPS 2017 APÊNDICE A CÓDIGOFONTE DO APLICATIVO LOGIOCR import os import re import csv import datetime import sqlite3 import cv2 import numpy as np from PIL import Image from kivylang import Builder from kivymetrics import dp from kivyproperties import StringProperty from kivymdapp import MDApp from kivymduixfilemanager import MDFileManager from kivymduixbutton import MDRaisedButton MDFlatButton from kivymduixtab import MDTabsBase from kivymduixboxlayout import MDBoxLayout from kivymduixdatatables import MDDataTable from kivymduixlabel import MDLabel from kivymduixdialog import MDDialog from reportlabplatypus import SimpleDocTemplate Table TableStyle Paragraph Spacer from reportlablib import colors from reportlablibpagesizes import A4 from reportlablibstyles import getSampleStyleSheet OCR DB def tryimporteasyocr try import easyocr return easyocr except Exception return None def tryimportpytesseract try import pytesseract return pytesseract except Exception return None def loadimageanypath str ext ospathsplitextpath1lower if ext pdf import fitz doc fitzopenpath page docloadpage0 pix pagegetpixmapdpi300 img ImagefrombytesRGB pixwidth pixheight pixsamples docclose return img return ImageopenpathconvertRGB def preprocessforocrpilimg img nparraypilimg gray cv2cvtColorimg cv2COLORRGB2GRAY gray cv2bilateralFiltergray 9 75 75 th cv2thresholdgray 0 255 cv2THRESHBINARY cv2THRESHOTSU return th def runocrnpimg easy tryimporteasyocr if easy reader easyReaderpt en gpuFalse result readerreadtextnpimg detail0 paragraphTrue text joinresult if textstrip return text pyt tryimportpytesseract if pyt pil Imagefromarraynpimg return pytimagetostringpil langporeng raise RuntimeErrorNenhum OCR disponível def parsefieldstext str cliente researchrCLIENTEEMPRESANOMEsA Z09 text reIGNORECASE sku researchrSKUCODIGOsd text reIGNORECASE peso researchrPESOsBRUTOPESOsBs d text reIGNORECASE paletes researchrPALETEPALLETPALETESs d text reIGNORECASE return cliente clientegroup2strip if cliente else sku skugroup2strip if sku else peso pesogroup2strip if peso else paletes paletesgroup2strip if paletes else DBPATH appdatadb def initdb con sqlite3connectDBPATH cur concursor curexecute CREATE TABLE IF NOT EXISTS registros id INTEGER PRIMARY KEY AUTOINCREMENT dataiso TEXT cliente TEXT sku TEXT peso REAL paletes INTEGER operador TEXT inicio TEXT fim TEXT imagem TEXT concommit conclose def insertrecordd con sqlite3connectDBPATH cur concursor curexecute INSERT INTO registros dataiso cliente sku peso paletes operador inicio fim imagem VALUES ddataiso dcliente dsku dpeso dpaletes doperador dinicio dfim dimagem concommit conclose def deleteallrecords con sqlite3connectDBPATH cur concursor curexecuteDELETE FROM registros concommit conclose def fetchall con sqlite3connectDBPATH cur concursor curexecuteSELECT FROM registros ORDER BY id DESC rows curfetchall conclose return rows def exportcsvpath str rows fetchall with openpath w newline encodingutf8 as f writer csvwriterf delimiter writerwriterowID Data Cliente SKU Peso Paletes Operador Início Fim Imagem for r in rows writerwriterowr def exportpdfpath str rows fetchall doc SimpleDocTemplatepath pagesizeA4 styles getSampleStyleSheet elements title ParagraphbRelatório de Registros LogiOCRb stylesTitle elementsappendtitle elementsappendSpacer1 12 data ID Data Cliente SKU Peso Paletes Operador Início Fim for r in rows dataappendlistmapstr r9 table Tabledata repeatRows1 tablesetStyleTableStyle BACKGROUND 00 10 colorsHexColorc9def7 GRID 00 11 05 colorsgray ALIGN 00 11 CENTER FONTNAME 00 10 HelveticaBold FONTSIZE 00 11 8 elementsappendtable docbuildelements Interface KV r BoxLayout orientation vertical mdbgcolor 096 097 1 1 MDTopAppBar title LogiOCR OCR Logístico mdbgcolor 08 09 1 1 MDTabs id tabs TabCadastro MDBoxLayout orientation vertical padding dp10 spacing dp10 BoxLayout sizehinty None height dp40 spacing dp10 MDRaisedButton text Selecionar arquivo onrelease appopenfilepicker MDRaisedButton text Capturar imagem onrelease appcaptureimage MDRaisedButton text Processar onrelease appprocesscurrent MDLabel id lblselected text appselectedpath or Nenhum arquivo selecionado halign center themetextcolor Secondary MDTextField id cliente hinttext Nome do Cliente mode fill MDTextField id sku hinttext SKU mode fill MDTextField id peso hinttext Peso Bruto kg mode fill MDTextField id paletes hinttext Quantidade de Paletes mode fill MDTextField id operador hinttext Operador mode fill MDTextField id inicio hinttext Horário de Início mode fill MDTextField id fim hinttext Horário de Fim mode fill BoxLayout sizehinty None height dp40 spacing dp10 MDRaisedButton text Salvar onrelease appsavecurrent MDFlatButton text Limpar Campos onrelease appclearform TabHistorico MDBoxLayout orientation vertical padding dp10 spacing dp10 BoxLayout sizehinty None height dp40 spacing dp10 MDRaisedButton text Atualizar onrelease apppopulatetable MDRaisedButton text Exportar CSV onrelease appdoexportcsv MDRaisedButton text Exportar PDF onrelease appdoexportpdf MDFlatButton text Limpar Histórico onrelease appclearhistory BoxLayout id tablebox orientation vertical class TabCadastroMDBoxLayout MDTabsBase pass class TabHistoricoMDBoxLayout MDTabsBase pass App class LogiOCRAppMDApp selectedpath StringProperty def buildself selftitle LogiOCR initdb root BuilderloadstringKV tabs rootidstabs selftabcadastro TabCadastrotitleCadastro selftabhistorico TabHistoricotitleHistórico tabsaddwidgetselftabcadastro tabsaddwidgetselftabhistorico return root def toastself msg MDDialogtitleAviso textstrmsg sizehint08 Noneopen def openfilepickerself selffilemanager MDFileManagerexitmanagerselfclosefilemanager selectpathselfselectpath selffilemanagershowospathexpanduser def closefilemanagerself args selffilemanagerclose def selectpathself path selfselectedpath path selftabcadastroidslblselectedtext path selfclosefilemanager def captureimageself cam cv2VideoCapture0 if not camisOpened selftoastCâmera não encontrada return selftoastPressione Espaço para capturar e ESC para sair while True ret frame camread cv2imshowCaptura Espaço p salvar frame key cv2waitKey1 if key 256 27 break elif key 256 32 path capturaocrjpg cv2imwritepath frame selfselectedpath path selftabcadastroidslblselectedtext path selftoastImagem capturada break camrelease cv2destroyAllWindows def processcurrentself if not selfselectedpath or not ospathexistsselfselectedpath selftoastSelecione ou capture um arquivo return try img loadimageanyselfselectedpath proc preprocessforocrimg txt runocrproc fields parsefieldstxt ids selftabcadastroids idsclientetext fieldscliente idsskutext fieldssku idspesotext fieldspeso idspaletestext fieldspaletes selftoastExtração concluída except Exception as e selftoastfErro OCR e def savecurrentself ids selftabcadastroids data dataiso datetimedatetimenowisoformattimespecseconds cliente idsclientetext sku idsskutext peso idspesotext or None paletes idspaletestext or None operador idsoperadortext inicio idsiniciotext fim idsfimtext imagem selfselectedpath insertrecorddata selftoastRegistro salvo selfpopulatetable def clearformself ids selftabcadastroids for k in cliente sku peso paletes operador inicio fim idsktext idslblselectedtext Nenhum arquivo selecionado selfselectedpath def clearhistoryself deleteallrecords selfpopulatetable selftoastHistórico limpo def populatetableself box selftabhistoricoidstablebox boxclearwidgets rows fetchall if not rows boxaddwidgetMDLabeltextNenhum registro encontrado haligncenter return table MDDataTable sizehint1 1 columndata ID dp30 Data dp150 Cliente dp150 SKU dp100 Peso dp80 Paletes dp80 Operador dp100 rowdatatuplemapstr r7 for r in rows boxaddwidgettable def doexportcsvself path ospathjoinospathexpanduser logiocrexportcsv try exportcsvpath selftoastfExportado para CSV path except Exception as e selftoastfErro ao exportar CSV e def doexportpdfself path ospathjoinospathexpanduser logiocrrelatoriopdf try exportpdfpath selftoastfExportado para PDF path except Exception as e selftoastfErro ao exportar PDF e if name main LogiOCRApprun

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2026 Meu Guru® • 42.269.770/0001-84