Cómo convertir imágenes a texto en la línea de comandos de Linux con OCR

Shutterstock / Dominik Bruhn

El software de reconocimiento óptimo de caracteres (OCR) de alta calidad puede haber sido costoso en el pasado, pero ahora está disponible, de forma gratuita, ¡directamente desde la línea de comandos de su terminal Linux! Este artículo lo ayudará a configurar y comenzar con OCR.

Índice de contenidos
  1. ¿Qué es OCR?
  2. Instalación Tesseract OCR
  3. ¡Hagamos el OCR!
  4. ¿Qué pasa si quiero OCR un archivo PDF?
  5. Terminando

¿Qué es OCR?

El acrónimo OCR significa Reconocimiento óptimo de caracteres: un programa de software y un sistema mediante el cual una computadora puede leer texto dentro de imágenes. Imagínese tomando una foto de su pasaje favorito de uno de los libros de El señor de los anillos.

Le gustaría mencionarlo en otro lugar, pero todo lo que tiene es una foto. El software OCR puede ayudarlo analizando esa foto / imagen y encontrando todo el texto que contiene.

Luego, el software de OCR, para cada letra descubierta, analizará los puntos gráficos que se muestran en la imagen y los traducirá / transformará en texto real que una computadora puede usar, por ejemplo, en un procesador de texto.

Si bien hay muchos programas de OCR disponibles, algunos de pago y otros gratuitos, no todos son de la misma calidad. Algunos paquetes proporcionarán resultados de menor calidad, otros se alinearán estrechamente con el texto que se muestra en la foto o imagen.

En general, los libros estándar (o impresiones de páginas web de Internet) funcionarán muy bien y deberían producir resultados de calidad razonable en todos los casos, ya que las fuentes son rectas y uniformes y bajo un solo ángulo, siempre que la foto o el escaneo original es de calidad razonable.

También es útil tener en cuenta que incluso los paquetes de software avanzados pueden tener problemas con imágenes borrosas o de mala calidad, y la mayoría de los paquetes pueden tener problemas con diferentes estilos de escritura a mano, etc. Otros desafíos pueden incluir texto mezclado con imágenes o fotos, o diferentes direcciones (por ejemplo, texto de izquierda a derecha y de arriba hacia abajo o en ángulo) dentro de la misma página.

Esto hace que la elección y el pago potencial de un paquete de OCR sea un proceso posiblemente largo, especialmente si desea probar y evaluar cada paquete.

Para aquellos que usan Linux, existe una gran alternativa. Un software OCR gratuito de alta calidad basado en LSTM Neural Net con soporte Unicode (UTF-8) y capaz de reconocer más de 100 idiomas por defecto. También admite muchos formatos de salida como HTML, PDF y texto sin formato.

Sin más preámbulos; bienvenido a Tesseract OCR!

Instalación Tesseract OCR

Instalar Tesseract OCR en su distribución de Linux basada en Debian / Apt (como Ubuntu y Mint), haga:

sudo apt install tesseract-ocr libtesseract-dev tesseract-ocr-eng

Instalar Tesseract OCR en RHEL y Centos, haga:

sudo yum install epel-release
sudo yum install tesseract-devel leptonica-devel

Instalar Tesseract OCR en Fedora, haz:

sudo yum install tesseract-devel leptonica-devel

Instalar Tesseract OCR en OSX, haga:

brew install tesseract

¡Hagamos el OCR!

Usaremos una imagen simple que contiene el siguiente texto:

Imagen de muestra lista para OCR a través de Tesseract

Para convertir esta imagen, todo lo que necesita hacer es abrir el indicador de terminal, cambiar el directorio (usando el cd your_directory_with_images comando) en el directorio que contiene sus imágenes (por ejemplo, si creó un directorio de imágenes en su directorio de inicio (~/images) puedes usar cd ~/images) y OCR los archivos:

tesseract -l eng input_for_ocr.png output_from_ocr
cat output_from_ocr.txt 

Usando Tesseract OCR a través de la línea de comandos de Linux

Muy simple y directo. Y como podemos ver, la salida es perfecta.

Especificamos el idioma inglés usando el -l eng opción. Puedes consultar el manual de tesseract (man tesseract) para cualquier otro código de idioma disponible.

También especificamos la imagen de entrada (input_for_ocr.png) así como el archivo de salida output_from_ocr sin ninguna extensión de archivo, que utilizará el texto sin formato predeterminado .txt formato.

También podemos cambiar el formato de salida a PDF usando un comando un poco más largo que simplemente especifica el formato de salida al final:

tesseract -l eng input_for_ocr.png output_from_ocr pdf

Formato de salida Tesseract PDF

Añadiendo el archivo pdf sufijo, el formato de salida utilizado fue PDF. Cuando abrimos el archivo PDF (output_from_ocr.pdf), podemos ver que el texto se puede seleccionar y copiar / pegar como se hizo con la palabra Lectores! Aquí:

El archivo PDF generado con Tesseract contiene datos basados ​​en texto

En otras palabras, el archivo PDF contiene datos de texto seleccionables, no información gráfica (y por lo tanto no se puede seleccionar). ¡Excelente!

¿Qué pasa si quiero OCR un archivo PDF?

A veces, puede recibir un archivo PDF que, aunque el formato PDF admite texto real dentro de las páginas, solo contiene imágenes con texto. Esto puede resultar frustrante ya que copiar y pegar no estará disponible. También puede realizar OCR en estas páginas, con una pequeña solución.

Primero deberá convertir su archivo PDF a imágenes, una imagen por página, y luego OCR de las páginas individuales a texto. Un poco más de trabajo, pero aún así ahorra mucho tiempo que reescribir texto manualmente.

Para conocer los pasos sencillos para convertir un archivo PDF en imágenes, o incluso scripts y automatizar la conversión de varios archivos PDF, puede leer nuestro artículo Convertir PDF a imágenes desde la línea de comandos de Linux.

Terminando

En este artículo, exploramos Tesseract, el motor OCR de línea de comandos gratuito y de alta calidad para Linux. Hemos visto cómo convertir imágenes en texto fácilmente usando un comando simple.

También analizamos la conversión de imágenes en archivos PDF basados ​​en texto y consultamos un artículo donde puede encontrar información sobre cómo convertir previamente archivos PDF basados ​​en imágenes en imágenes para que luego se puedan convertir a texto utilizando el método OCR mostrado aquí.

¡Disfrutar!

Descubre más contenido

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Nelida Haydee Saldivia.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a KnownHost que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Subir