Limitar caracteres que tesseract está buscando
¿Es posible limitar el conjunto de caracteres que tesseract está buscando (por ejemplo, buscar solo las letras a-z)? Eso mejoraría mis resultados grandemente.
4 answers
Crear un archivo de configuración (por ejemplo, "letras") en el directorio tessdata / configs-normalmente /usr/share/tesseract/tessdata/configs
o /usr/share/tesseract-ocr/tessdata/configs
Y añade esta línea al archivo de configuración:
tessedit_char_whitelist abcdefghijklmnopqrstuvwxyz
...o tal vez [a-z] funciona.. no sé: -)
Entonces llame a teseracto similar a esto:
tesseract input.tif output nobatch letters
Eso limitará tesseract a reconocer solo los caracteres deseados
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-25 00:24:01
Además del archivo de configuración, es la bandera -c
:
tesseract stdin stdout -c tessedit_char_whitelist=abcdefghijklmnopqrstuvwxyz -psm 6
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-08 09:34:36
Para usar la lista blanca en un archivo de configuración o usando el conmutador de línea de comandos -c tessedit_char_whitelist=...
, en la versión 4.0 más reciente tendrá que establecer el modo de motor OCR en "Original Tesseract only". Esto se debe a que el nuevo modo "Neural nets LSTM" no respeta la configuración de la lista blanca.
Ejemplo de línea de comandos adecuada para la versión 4.0:
Tesseract input_file output_file oem oem 0-c tessedit_char_whitelist = abc123
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-28 13:39:43
Simplemente agregando esto para cualquiera que use tesseract en Android. En su función readOCR donde establece el idioma, etc. añádase la siguiente línea;
tesseract.setVariable("tessedit_char_whitelist","ABCDEFGHIJKLMNOPQRSTUVWXYZ");
También puede hacer una lista negra de caracteres para excluir.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-21 13:03:11