Pergunta

É possível limitar o conjunto de caracteres que tesseract Procura (por exemplo, pesquisar apenas letras az)? Isso melhoraria muito meus resultados.

Foi útil?

Solução

Crie um arquivo de configuração (por exemplo, "letras") no diretório TessData/Configs - geralmente /usr/share/tesseract/tessdata/configs
ou
/usr/share/tesseract-ocr/tessdata/configs

E adicione esta linha ao arquivo de configuração:

tessedit_char_whitelist abcdefghijklmnopqrstuvwxyz  

... ou talvez [az] funciona .. não :-)
Em seguida, ligue para o TESSERACT semelhante a este:

tesseract input.tif output nobatch letters  

Isso limitará o Tesseract para reconhecer apenas os personagens procurados

Outras dicas

Para usar a lista de permissões em um arquivo de configuração ou usando o -c tessedit_char_whitelist=... Switch da linha de comando, na versão mais recente 4.0, você precisará definir o modo OCR Engine como o "Somente Tesseract original". Isso ocorre porque o novo modo "Neural Nets LSTM" não respeita a configuração da lista de permissões. Exemplo de linha de comando adequada para versão 4.0:

tesseract input_file output_file --oem 0 -c tedsetit_char_whitelist = abc123

ATUALIZAÇÃO: Em versões mais recentes (4.0), estão corrompidos eng.traineddata Arquivo instalado por padrão pelo Windows e alguns instaladores do Linux. Solução temporária é substituir tessdata\eng.traineddata Arquivo com um da versão mais antiga. Este arquivo deve ter cerca de 30 MB. Caso contrário, você receberá um erro: "Tesseract não poderia carregar nenhum idioma!" ou similar.

Além do arquivo de configuração, é o -c bandeira:

tesseract stdin stdout -c tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyz -psm 6

Basta adicionar isso para qualquer pessoa que use o Tesseract no Android. Na sua função de leitura, onde você define o idioma etc. Adicione a seguinte linha;

tesseract.setVariable("tessedit_char_whitelist","ABCDEFGHIJKLMNOPQRSTUVWXYZ");

Você também pode fazer a lista negra para que os personagens excluam.

Na versão 4.00 do TESSERACT, isso não pode ser feito. Você só pode ajustar seu modelo ou usar o Regex para remover caracteres extras da previsão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top