LOC

Instale Tesseract OCR en Linux

Instale Tesseract OCR en Linux

Tesseract: una solución de OCR gratuita

Introducción

Tessereact se considera una de las mejores soluciones de OCR disponibles. Desde 2006 cuenta con el patrocinio de Google, anteriormente fue desarrollado por Hewlett Packard en C y C ++ entre 1985 y 1998.   El sistema es capaz de identificar incluso la escritura a mano, puede aprender aumentando su precisión y se encuentra entre los más desarrollados y completos del mercado.

Supera fácilmente a competidores comerciales como ABBY, si está buscando una solución seria para OCR, Tesseract es la más precisa, pero no espere soluciones masivas: utiliza un núcleo por proceso, lo que significa un procesador de 8 núcleos (hyperthreading aceptado) podrá procesar 8 o 16 imágenes simultáneamente.

Cuando usé Tesseract gestionamos miles de clientes potenciales subiendo contenido escrito a mano, imágenes con texto, etc. Usamos 48 servidores centrales, con DatabaseByDesign y luego con AWS, nunca tuvimos un problema de recursos.

Teníamos un cargador que discriminaba entre archivos de texto como Microsoft Office o archivos e imágenes de Open Office o documentos escaneados. La persona que subió el video determinó lo que los scripts de OCR o PHP procesarían un pedido, en el campo del reconocimiento de texto.

Tesseact es una gran solución, pero antes de pensarlo debes saber, las últimas versiones de Tesseract trajeron grandes mejoras, algunas de ellas significan trabajo duro. Si bien la capacitación puede durar horas o días, la capacitación de las versiones recientes de Tesserct puede ser de días, semanas o incluso meses si está buscando una solución de OCR multilingüe.


Instalación de Tesseract 4 en Debian / Ubuntu:

apt-get install tesseract-ocr

Si está utilizando una distribución de Linux diferente, deberá copiar la última versión del repositorio de github y copiar el .archivo de datos entrenados en 'tessdata' (/ usr / share / tesseract-ocr / tessdata o / usr / share / tessdata).

De forma predeterminada, Tesseract instalará el paquete de idioma inglés, para instalar idiomas adicionales, ejecute

apt-get install tesseract-ocr-LANG

por ejemplo, para agregar hebreo:

apt-get install tesseract-ocr-heb

Puede incluir todos los idiomas ejecutando:

apt-get install tesseract-ocr-all

Para que Tesseract funcione correctamente, necesitaremos usar el comando "convertir" (convertir entre formatos de imagen, así como cambiar el tamaño de una imagen, desenfocar, recortar, eliminar, difuminar, dibujar, voltear, unir, volver a muestrear y mucho más) proporcionado por Imagemagick:

Instalemos imagemagick con apt-get:

apt-get install imagemagick

Ahora probemos Tesseract, busquemos una imagen que contenga texto y ejecutemos:

tesseract [nombre_imagen] [nombre_archivo de salida]

Si se instala correctamente, Tesseract extraerá el texto de la imagen.

Cuando trabajé con Tesseract, todo lo que necesitábamos era contar los documentos. Como con cualquier otro programa puedes y debes entrenarlo, en Word podemos definir algunos símbolos que se pueden contar o no, si contar o no números, etc. lo mismo con Tesseract.

También podemos entrenar su sensibilidad a imágenes específicas.


Optimización de Tesseract:

Optimización de tamaño: Según fuentes oficiales, el tamaño de píxeles óptimo para que una imagen sea procesada con éxito por Tesseract es 300DPI. Necesitaremos procesar cualquier imagen usando el parámetro -r para hacer cumplir este DPI. Aumentar el DPI también aumentará el tiempo de procesamiento.

Rotación de página: Si cuando se escaneó la página no se giró correctamente y permanece en 180 ° o 45 °, la precisión de Tesseract disminuirá, puede usar este script de Python para detectar y corregir automáticamente problemas de rotación.

Eliminación de bordes: Según el hombre oficial de Tesseract, los bordes se pueden elegir erróneamente como personajes, especialmente los bordes oscuros y donde hay variedad de gradaciones. Eliminar los bordes puede ser un buen paso para lograr la máxima precisión con Tesseract.

Eliminación de ruido: Según Tesseracts, el ruido "es una variación aleatoria de brillo o color en una imagen". Podemos eliminarlo en el binarización paso, lo que significa polarizar sus colores.


Entrenamiento Tesseract:

Si bien la mayoría de los tutoriales cubren solo la instalación de Tesseract, resumiré cómo entrenar su sistema OCR, aquí podemos encontrar un tutorial para todas las versiones. En este artículo resumiré cómo entrenar Tesseract 4 que incluye un nuevo “Motor de reconocimiento basado en redes neuronales que ofrece una precisión significativamente mayor (en imágenes de documentos) que las versiones anteriores, a cambio de un aumento significativo en la potencia de cálculo requerida. Sin embargo, en lenguajes complejos, en realidad puede ser más rápido que el Tesseract base."

Antes de continuar, necesitaremos instalar bibliotecas adicionales:

sudo apt-get install libicu-dev
sudo apt-get install libpango1.0-dev
sudo apt-get install libcairo2-dev

E instalaremos las herramientas de entrenamiento ejecutando, dentro del directorio Tesseract:

fabricar
hacer entrenamiento
sudo make training-install

Según la wiki oficial de Tesseract, tenemos 3 opciones actuales para entrenar nuestro sistema OCR:

Si bien las opciones anteriores pueden parecer diferentes, los pasos de entrenamiento son en realidad casi idénticos, aparte de la línea de comando, por lo que es relativamente fácil probarlo de todas las formas, dado el tiempo o el hardware para ejecutarlos en paralelo."

En este tutorial, solo ejecutaremos tesstrain.sh script que llamará a los programas necesarios para entrenar un idioma específico.

En primer lugar, clonemos todos los archivos dentro de nuestro / usr / share / tesseract-ocr:

clon de git https: // github.com / tesseract-ocr / tesseract

Vaya a / usr / share / tesseract-ocr / tesseract / training (directorio de instalación predeterminado de Tesseract) y ejecute:

PS ./ tesstrain.sh --lang heb --langdata_dir / usr / share / tesseract-ocr / langdata --tessdata_dir / usr / share / tesseract-ocr / tessdata 

Cambie "heb" por el idioma que desea entrenar y también edite la ruta a sus datos.

Dentro del directorio / usr / share / tesseract-ocr / tesseract / training encontrará el archivo específico del idioma.sh útil para agregar reglas para idiomas específicos.


Solución de problemas

Tesseract es para mí la mejor solución de OCR, pero recientemente hizo grandes cambios con respecto a las versiones anteriores y muchos usuarios se quejan de cambios o cosas que ya no funcionan, no me preocuparía ya que los cambios parecen dar excelentes resultados. La comunidad de Tesseract es muy activa, en caso de que encuentre problemas para ejecutar tesseract, hágase parte de la comunidad de Tesseract aquí.

Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...
Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...
Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...