Python Tesseract não consegue reconhecer esta fonte
-
21-09-2019 - |
Pergunta
Eu tenho esta imagem:
Eu quero lê -lo em uma string usando python, o que eu não achei que seria tão difícil. Cheguei ao Tesseract e depois um invólucro para scripts Python usando o Tesseract.
Então comecei a ler imagens, e está muito bem até tentar ler esta. Vou ter que treiná -lo para ler essa fonte específica? Alguma idéia sobre o que é essa fonte específica? Ou existe um mecanismo OCR melhor que eu poderia usar com o Python para fazer esse trabalho.
EDIT: Talvez eu pudesse fazer algum tipo de vetor em torno dos números e depois redesenhá -los em um tamanho maior? As imagens maiores são o melhor TESSERACT OCR parece lê -las (sem surpresa lol).
Solução
Basta treinar o motor para os 10 dígitos e um ''. . Isso deve resolver. E altere sua imagem para escala de cinza antes de ocupar.
Outras dicas
O treinamento é difícil e não é o que realmente é necessário aqui. A distinção entre O e 0 e L e 1 será difícil, independentemente do script. Limitar o OCR a escolher apenas entre dígitos numéricos simplifica bastante o problema, se o contexto o permitir.
Meu interesse pelo Tesseract está no processamento de muitos números, de antigos relatórios do governo. Nesse caso e no caso em questão, o conjunto de personagens será algo como '0123456789.' Seguindo um comentário no grupo de notícias antigo (SourceGe) para o TESSERACT, por ERIC_TAJ em 2007-03-21, você pode modificar os modelos-> índice e modelos . Modifiquei essa abordagem um pouco para ler no conjunto de caracteres permitido em tempo de execução em uma variável de ambiente, para que eu possa ajustar o conjunto permitido em tempo real.
Houve muito tráfego neste tópico no Grupo de discussão do TESSERACT OCR recentemente. Você precisará usar um "idioma" de apenas números. Muitas pessoas treinaram o motor dessa maneira antes. Parece que você está tentando superar um esquema de proteção de dados CAPTCHA ... TSK, TSK.
O reconhecimento da fonte de tela pequena pode ser difícil para o OCR de uso geral, que é otimizado para a leitura de grandes fontes lisas digitalizadas do papel.
Você pode melhor tentar a captura de tela especial OCR comoTextract SDK. Ele coletará todas as fontes locais e fornecerá um reconhecimento 100% preciso, simplesmente combinando com o personagem ao personagem.
Parece a fonte euroctile. Sim, você terá que treinar com cada fonte diferente que está sendo usada em suas imagens de origem.