Cómo hacer OCR desde la línea de comandos de Linux con Tesseract

Texto extraído del diagrama en el PDF de Turing.

Puede extraer texto de las imágenes en la línea de comandos de Linux con el motor Tesseract OCR. Es rápido, preciso y funciona en unos 100 idiomas. Aquí se explica cómo usarlo.

Reconocimiento óptico de caracteres

El reconocimiento óptico de caracteres (OCR) es la capacidad de mirar y encontrar palabras en una imagen y luego extraerlas como texto editable. Esta tarea simple para los humanos es muy difícil de lograr para las computadoras. Los primeros intentos fueron torpes, por decir lo menos. Las computadoras a menudo se confundían si la fuente o el tamaño no eran del agrado del programa OCR.

Sin embargo, los pioneros en este campo todavía son honrados. Si perdió una copia electrónica de un documento pero aún tenía la versión impresa, OCR podría recrear una versión editable electrónica. Incluso si los resultados no fueran 100 por ciento precisos, sigue siendo un gran ahorro de tiempo.

Después de una limpieza manual, recuperará su documento. La gente perdonó los errores que cometió porque entendieron la complejidad de la tarea que enfrenta el paquete OCR. Además, era mejor que volver a escribir todo el documento.

La situación ha mejorado considerablemente desde entonces. La aplicación Tesseract OCR, escrita por Hewlett Packard, se lanzó en la década de 1980 como una aplicación comercial. Fue presentado en 2005 y ahora cuenta con el apoyo de Google. Tiene capacidades multilingües, se considera uno de los sistemas OCR más precisos disponibles y puede usarlo de forma gratuita.

Instalación de Tesseract OCR

Para instalar Tesseract OCR en Ubuntu, use este comando:

sudo apt-get install tesseract-ocr

En Fedora, este comando es:

sudo dnf instalar tesseract

En Manjaro necesitas escribir:

sudo pacman-syu tesseract

Uso de Tesseract OCR

Vamos a configurar una serie de tareas para Tesseract OCR. Nuestra primera imagen que contiene texto es un extracto del considerando 63, Normas generales de protección de datos. Veamos si OCR puede leerlo (y mantenerse despierto).

Cómo reinstalar Grub en Arch Linux

Esta es una imagen engañosa porque cada oración comienza con un superíndice débil, que es típico de los documentos legislativos.

Necesitamos pasar cierta información al comando tesseract, que incluye:

Tesseract hace un excelente trabajo, como se muestra en el texto extraído a continuación. Da Iawn, Tesseract OCR.

Si su documento contiene dos o más idiomas (por ejemplo, un diccionario de galeses a inglés), puede usar el signo más (+) para decirle a Tesseract que agregue otro idioma, por ejemplo:

Tesseract Image. png TextFil e-L Eng+Cym+FRA

Uso de Tesseract OCR con archivos PDF

El comando Tesseract está diseñado para funcionar con archivos de imagen, pero no puede leer archivos PDF. Sin embargo, si necesita extraer texto de un PDF, primero puede usar otra utilidad para crear un conjunto de imágenes. Una imagen representará una página del archivo PDF.

La utilidad PDFTPPM que necesita ya debe instalarse en su computadora Linux. El archivo PDF que utilizaremos en nuestro ejemplo es una copia del artículo seminal de Alan Turing sobre inteligencia artificial, «máquinas informáticas e inteligencia».

Utilizamos el parámetr o-png para indicar que queremos crear archivos PNG. El nombre de archivo de nuestro archivo PDF es «turing. pdf». Nombraremos nuestros archivos de imagen «turing-01. png», «turing-02. png», etc.

pdftopp m-png turing. pdf turing

Para ejecutar Tesseract para cada archivo de imagen con un solo comando, debemos usar para bucle. Para cada uno de nuestros archivos "turing-nn. png", ejecutamos Tesseract y creamos un archivo de texto llamado "Text-" Plus "Turing-Nn" como parte del nombre del archivo de imagen:

para i en turing-. png; hacer tesseract «$ i» «texto- $ i» -l Eng; hecho;

Para combinar todos los archivos de texto en uno, podemos usar CAT:

Complete. txt

Cómo instalar Linux desde un teléfono Android usando DriveDroid

¿Entonces, cómo pasó esto? Muy bien, como puedes ver a continuación. Sin embargo, la primera página se ve bastante hinchada. Tiene diferentes estilos de texto y tamaños, así como el diseño. También hay una «marca de agua» vertical en el borde derecho de la página.

Sin embargo, el resultado está cerca del original. Obviamente, el formato se ha perdido, pero el texto es correcto.

La marca de agua vertical fue descifrada como una franja de galimatías en la parte inferior de la página. El texto era demasiado pequeño para leer con precisión con Tesseract, pero era bastante fácil de encontrar y eliminar. El peor resultado habría sido caracteres aleatorios al final de cada línea.

Curiosamente, las letras individuales al comienzo de la Q & amp; se ignoraron una lista en la segunda página. La sección del archivo PDF se muestra a continuación.

Como puede ver a continuación, las preguntas permanecieron, pero se perdieron la "Q" y "A" al comienzo de cada línea.

Los diagramas tampoco se decodificarán correctamente. Veamos qué sucede cuando intentamos extraer el archivo que se muestra a continuación de un archivo PDF Turing.

Como puede ver en nuestro resultado a continuación, se leyeron los caracteres, pero se perdió el formato del diagrama.

Nuevamente, Tesseract estaba luchando con el pequeño tamaño de los índices y no se mostraron correctamente.

Para ser honesto, el resultado aún no fue malo. No logramos extraer texto plano, pero este ejemplo fue elegido intencionalmente porque presentó un problema.

Una buena solución cuando la necesitas

OCR no es algo que deba usar a diario. Sin embargo, cuando surge la necesidad, es bueno saber que tiene uno de los mejores motores OCR a su disposición.

toadmin. ru

sudo Pacma n-Syu Tesseract en una ventana terminal.

Extracto del recital 63 GDPR

recital de tesseract-63. png recital --dpi 150 en la ventana terminal.

Texto extraído del recital 63.

cat text-turing* >La imagen con texto de diferente tamaño es audaz y en cursiva.

tesseract bold-italic. png bold –dpi 150 en la ventana terminal.

Texto extraído de Bold-Ititalic. png.

sudo apt-get install tesseract-oCR-cym en una ventana terminal.

Una imagen que contiene el texto del primer verso del himno nacional galés.

Tesseract Hen-Wlad-Fy-Nhadau. png Anthe m-l cym –dpi 150 en una ventana terminal.

Texto galés extraído.

PDF de la página de título

pdftopp m-png turing. pdf turing en la ventana terminal.

Para i en turing -. png; hacer tesseract

Una lista de preguntas y respuestas del archivo PDF del documento Turing.

Texto extraído de la página de preguntas y respuestas del archivo PDF del documento Turing.

Diagrama