El software de acreditación óptico de caracteres (OCR) de alta calidad puede haber sido caro en el pasado, pero ahora está habilitada, sin cargo, de forma directa desde la línea de comandos de su terminal Linux. Este post lo ayudará a configurar y comenzar con OCR.
¿Qué es OCR?
El acrónimo OCR significa Acreditación óptico de caracteres: un programa de software y un sistema a través de el cual una computadora puede leer el texto dentro de las 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 citarlo 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 dentro de ella.
Después, el software OCR analizará, por cada letra descubierta, los puntos gráficos que se ven en la imagen y los traducirá / transformará en texto real que una computadora puede utilizar, a modo de ejemplo, en un procesador de texto.
Aunque 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 peor calidad, otros se alinearán estrechamente con el texto que se ve en la foto o imagen.
En términos generales, los libros estándar (o las impresiones de páginas web de Internet) funcionarán muy bien y deberían producir resultados de calidad razonable en todos los casos, dado que las fuentes son rectas y uniformes y están en un solo ángulo, siempre que la foto o escaneado original sea de un tamaño razonable. calidad.
Además es bueno prestar atención que inclusive los paquetes de software avanzados pueden tener problemas con imágenes de mala calidad o borrosas, y la mayoría de los paquetes pueden tener problemas con diferentes estilos de escritura, etc. Otros desafíos pueden incluir texto mezclado con imágenes o fotos, o direcciones diferentes (a modo de ejemplo, izquierda (texto tanto a la derecha como de arriba hacia abajo o en ángulo) dentro de la misma página.
Esto hace que seleccionar, y potencialmente pagar, un paquete de OCR sea un procedimiento tal vez largo, especialmente si desea probar y examinar cada paquete.
Para aquellos que usan Linux, existe una gran ruta alternativa. Un software OCR sin costes de alta calidad basado en LSTM Neural Net con soporte Unicode (UTF-8) y que puede reconocer más de 100 idiomas de forma predeterminada. Además admite muchos formatos de salida como HTML, PDF y texto sin formato.
Sin más preámbulos; ¡bienvenido a Tesseract OCR!
Instalando 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 lo siguiente:
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, haz lo siguiente:
brew install tesseract
¡Vamos a OCR!
Usaremos una imagen simple que contiene el siguiente texto:
Para convertir esta imagen, todo lo que debe hacer es abrir el indicador de Terminal, cambiar el directorio (usando el cd your_directory_with_images
comando) al directorio que contiene sus imágenes (a modo de ejemplo, si ha creado un directorio de imágenes en su directorio de inicio (~/images
) simplemente puede utilizar cd ~/images
) y OCR de los archivos:
tesseract -l eng input_for_ocr.png output_from_ocr cat output_from_ocr.txt
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.
Además 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.
Además 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
Añadiendo el 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 elegir y copiar / pegar como se hizo con la palabra ¡Lectores! aquí:
Dicho de otra forma, el archivo PDF contiene datos seleccionables y basados en texto, no información gráfica (y por eso no seleccionable). ¡Excelente!
¿Qué pasa si quiero OCR un archivo PDF?
A veces, puede recibir un archivo PDF que, aún cuando el formato PDF admite texto real dentro de las páginas, contiene solo imágenes con texto. Esto puede resultar frustrante, dado que copiar y pegar no estará disponible. Además puede OCR estas páginas, con una pequeña solución.
Primero querrá convertir su archivo PDF en imágenes, una imagen por página, y posteriormente OCR de las páginas individuales en texto. Un poco más de trabajo, pero aún así ahorra mucho tiempo en lugar de volver a escribir el texto manualmente.
Para conocer los pasos sencillos para convertir un archivo PDF en imágenes, o inclusive para crear un script y automatizar la conversión de varios archivos PDF, puede leer nuestro post Convertir PDF a imágenes desde la línea de comandos de Linux.
Terminando
En este post, exploramos Tesseract, el motor de OCR de línea de comandos sin costes de alta calidad para Linux. Vimos cómo podíamos convertir imágenes en texto fácilmente usando un comando simple.
Además analizamos la conversión de imágenes en archivos PDF basados en texto, y mencionamos un post en el que puede hallar información acerca de cómo convertir previamente archivos PDF basados en imágenes en imágenes para que posteriormente se puedan convertir a texto usando el método OCR que se muestra aquí.
¡Disfrutar!