GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Tesseract OCR:instalación y uso en Ubuntu 16.04

Tesseract es uno de los motores OCR de código abierto más potentes disponibles en la actualidad. OCR significa reconocimiento óptico de caracteres. Este es el proceso de extracción de textos a partir de imágenes. Por ejemplo, considere la siguiente imagen que tiene algo de texto que debe extraerse:

La salida del motor OCR, una vez que se realiza algún procesamiento, será algo como esto:

  Open
  Access
  Button

Así es como funciona OCR. Es útil en muchas aplicaciones, como reconocimiento de matrículas de vehículos, conversión de copias escaneadas de documentos a formato Word, extracción automática de detalles de recibos, etc. También constituye el primer paso en muchas tareas de procesamiento de lenguaje natural. En este tutorial, veremos cómo instalar y configurar rápidamente Tesseract, imagemagick y cómo usarlos para obtener los mejores resultados posibles con el preprocesamiento de imágenes.

El preprocesamiento de imágenes es una parte importante de la realización de OCR con Tesseract. Esto asegura que la precisión del texto extraído sea alta y reduce el error. Pasaremos por algunas operaciones básicas para realizar en la imagen usándola. Imagemagick es una herramienta basada en línea de comandos de procesamiento de imágenes, que nos ayuda a realizar operaciones como recortar, cambiar el tamaño, cambiar esquemas de color, etc.

1 Instalar Tesseract

Es bastante simple instalar tesseract, ejecute los siguientes comandos:

sudo apt update sudo apt install tesseract-ocr

Esto instala el motor Tesseract. La siguiente imagen muestra el resultado cuando está instalado correctamente:

Lo siguiente que debe hacer es instalar los paquetes de idioma. Tesseract es muy robusto y puede extraer más de 100 idiomas diferentes, siempre que se descarguen los paquetes de idioma. Puede descargar un paquete de idioma en particular usando el siguiente comando genérico:

sudo apt-get install tesseract-ocr-[lang]

En el comando anterior, reemplace "[lang]" con el idioma que desea descargar. Los ejemplos para inglés y francés están a continuación:

sudo apt-get install tesseract-ocr-eng sudo apt-get install tesseract-ocr-fra

Por lo general, el tesseract viene con el paquete en inglés por defecto. La siguiente imagen muestra que el inglés ya estaba instalado y que el francés debía descargarse e instalarse:

Alternativamente, si desea que se descarguen todos los paquetes de idioma, puede ejecutar el siguiente comando:

sudo apt-get install tesseract-ocr-all

Esto completa la instalación de Tesseract.

2 Instalar Imagemagick Ejecute el siguiente comando para instalar imagemagick

sudo apt install imagemagick

Esta herramienta se usa desde la línea de comando usando el comando convertir. Para verificar la instalación correcta, ejecute el siguiente comando y el resultado debe ser similar a la imagen a continuación:

convert -h

Uso de 3 Tesseract

Tesseract es capaz de tomar imágenes de muchos formatos diferentes como jpg, png, tiff, etc. y extraer texto de ellas. Esta sección se enfoca en ejecutar tesseract y en la siguiente sección, veremos cómo podemos mejorar la precisión. Aquí hay algunos comandos básicos para ejecutar tesseract:

Para obtener el resultado en la terminal, ejecute el comando genérico con la ruta de la imagen

tesseract [ruta_imagen] salida estándar

Para almacenar la salida de OCR en un archivo, ejecute el siguiente comando genérico:

tesseract [image_path] [file_name]

Después de dos imágenes, muestre la imagen utilizada y el resultado de ejecutar los comandos anteriores en esa imagen


Como puede observar, ejecutar el segundo comando condujo a la creación de un archivo llamado "outfile.txt" en el que se puede encontrar la salida.

4 Preprocesamiento de imágenes

De la salida anterior, es posible que haya observado que hay un error en la salida y también un error que dice que el tamaño de los píxeles es pequeño. Esta es una de las desventajas de Tesseract, espera que proporcione una imagen procesada en la que pueda realizar OCR. En esta sección, repasaremos algunas de las tácticas que puede usar con la ayuda de imagemagick para mejorar la calidad de la imagen y, por lo tanto, aumentar la precisión de la salida.

4.1 cambio de tamaño

Cambiar el tamaño es uno de los trucos más útiles para mejorar la precisión de OCR. Esto se debe a que la mayoría de las imágenes tienen un tamaño de fuente muy pequeño que Tesseract no puede leer correctamente. Puede cambiar el tamaño de una imagen usando el siguiente comando. La cantidad porcentual indica el límite de cambio de tamaño. Ya que queremos aumentar el tamaño, necesitamos dar un valor mayor a 100. Aquí, hemos dado un valor de 150% (use un método de prueba y error para determinar el % de cambio de tamaño perfecto para su caso de uso).

convert -resize 150% [input_file_path] [output_file_path]

en el comando anterior, reemplace [input_file_path] con la ruta de la imagen que se debe cambiar de tamaño y [output_file_path] con la ruta de la imagen donde se debe almacenar la salida. La siguiente imagen es la salida cuando ejecuté el comando:convert -resize 150% image7.png image7_resize.png

4.2 Usar imágenes en escala de grises

Si tiene una imagen en color, se recomienda convertirla primero a escala de grises. Es muy probable que solo esto sea suficiente para obtener la precisión de OCR que desea. De lo contrario, para seguir procesando, puede usar las imágenes en escala de grises para binarizar la imagen. Use el siguiente comando para convertir su imagen para convertirla a escala de grises

convert [input_file_path] -type Grayscale [output_file_path]

La siguiente imagen muestra el resultado de ejecutar el comando convert image6_resize.png -type Grayscale image6_gray.png

4.3 Binarizar la imagen

La binarización o umbralización implica convertir la imagen en valores de blanco y negro. Cada píxel de esta imagen tiene solo uno de dos valores, ya sea blanco o negro. Esto reduce drásticamente la complejidad de las imágenes. Si tiene imágenes con ruido o imágenes con sombras, o mucho texto, puede usar este método de preprocesamiento. Para binarizar esta imagen, asegúrese de tener primero una imagen en escala de grises y luego use el siguiente comando:

convert [input_file_path] -threshold 55% [output_file_path]

El % de umbral se puede variar para obtener el mejor resultado para su caso de uso. La siguiente imagen muestra un ejemplo. Es importante tener en cuenta que, para la imagen en cuestión, la binarización no es la mejor opción, ya que pierde algunos datos.

Se deben tener en cuenta los siguientes puntos antes de aplicar cualquiera o todas las técnicas de preprocesamiento mencionadas anteriormente:

  • Dependiendo del caso de uso, será útil cualquiera de los pasos de preprocesamiento o una combinación de ellos.
  • cuando un paso de preprocesamiento conduce a una disminución de la precisión, debe ignorarse de los pasos de preprocesamiento.
  • Los porcentajes al cambiar el tamaño o el umbral varían de una imagen a otra y, por lo tanto, se debe aplicar un método de prueba y error para obtener el mejor valor porcentual posible para brindar la mayor precisión cuando se ejecuta Tesseract

Una vez que haya completado el procesamiento previo, ejecute Tesseract con la imagen procesada para verificar la precisión. Tesseract es muy potente, pero tiene algunas limitaciones en lo que respecta al tipo de imagen que se proporciona como entrada. Espero que hayas encontrado útil este tutorial.


Ubuntu
  1. Instalación del servidor Ubuntu 20.04

  2. Ubuntu 20.04 Instalación de Dropbox e integración de escritorio

  3. Instalación de Ubuntu 20.04 FFmpeg

  4. Perfect Server Automated ISPConfig 3 Instalación en Debian 10 - 11 y Ubuntu 20.04

  5. Perfect Server Automated ISPConfig 3 Instalación en Debian 10 - 11 y Ubuntu 20.04

Docker:Instalación y uso básico en Ubuntu 16.04

Utilidad DD:haga copias de seguridad y restaure fácilmente archivos de imagen de disco en Ubuntu

Cómo instalar y configurar OpenNMS en Ubuntu 18.04

Instalación y descripción general de la versión beta de Ubuntu 19.10 (Eoan Ermine)

¿Cómo convertir PNG, JPEG a WebP en Ubuntu? (También WebP a PNG y JPEG)

Descarga e instalación del fondo de pantalla de Ubuntu 16.10