Cómo instalar y usar Easyocr en Linux

Cómo instalar y usar Easyocr en Linux
Este artículo cubrirá una guía sobre la instalación y el uso de la herramienta de línea de comandos EasyOCR y el módulo Python. Disponible como una aplicación gratuita y de código abierto, se puede usar para identificar y extraer texto de imágenes. Utiliza tecnología de reconocimiento de caracteres ópticos (OCR) y una variedad de algoritmos y modelos de lenguaje diferentes para detectar el texto.

Características principales de Easyocr

Easyocr puede detectar texto en más de 80 idiomas y guiones. Incluye modelos previamente capacitados para estos idiomas, pero puede usar Easyocr para entrenar sus propios modelos desde cero. Además del contenido basado en texto digital y impreso que se encuentra en las imágenes, Easyocr también puede detectar y extraer texto escrito a mano. Otras características principales de Easyocr incluyen la capacidad de procesar múltiples imágenes a la vez, la capacidad de limitar y bloquear ciertos caracteres de un idioma, una opción para convertir las líneas extraídas en párrafos, capacidad de cambiar el tamaño y magnificar las imágenes para mejorar la precisión de la detección, etc.

Instalación de Easyocr en Linux

Puede instalar Easyocr en Linux usando el Pip Package Manager. Para instalar PIP Package Manager en Ubuntu, use el siguiente comando:

$ sudo apt install python3-pip

PIP Package Manager está disponible en repositorios oficiales de muchas distribuciones de Linux, por lo que puede instalarlo desde el Manager de paquetes de stock. También puede seguir las instrucciones oficiales de instalación disponibles aquí para instalar el Administrador de paquetes PIP en su sistema Linux.

Después de haber instalado con éxito el Pip Package Manager, ejecute el siguiente comando para instalar Easyocr en Linux:

$ PIP3 Instalar Easyocr

Usando Easyocr en Linux

La siguiente imagen se usará para extraer texto a través de varios comandos Easyocr explicados a continuación:

Para extraer texto de la imagen de arriba, deberá ejecutar un comando en el siguiente formato:

$ easyocr -l en -f imagen.png

La primera opción "-l" se puede usar para especificar el lenguaje del contenido de texto que desea ser capturado por Easyocr. Puede especificar varios idiomas utilizando códigos de idioma separados de comando. El conmutador "-f" se usa para especificar el archivo de imagen de entrada. Una lista de todos los idiomas compatibles con Easyocr y sus códigos se pueden encontrar aquí (desplácese hacia abajo para verlos).

Después de ejecutar el comando anterior, debería ver la siguiente salida en el terminal:

La salida muestra ciertos números y el texto extraído de la imagen. Esta salida se puede leer en el siguiente formato: Coordenadas de piezas de texto individuales> Texto detectado> Nivel de confianza. Entonces, los números en el lado izquierdo representan coordenadas de los cuadros de texto identificados, mientras que el número de la derecha, la mayoría del lado indica cuán preciso es el texto extraído.

Si solo desea recibir texto en forma legible por humanos, agregue el interruptor "-detail 0" al comando anterior:

$ easyocr -l en --detail 0 -f Imagen.png

Después de ejecutar el comando anterior, debe obtener alguna salida similar a esta:

Como puede ver en la salida, el texto extraído no está en el orden adecuado. Puede probar la opción de línea de comando "-Paragraph True" para unir piezas y oraciones individuales en orden adecuado.

$ Easyocr -l en --detail 0 -PARAGRAPH TRUE -F Imagen.png

Después de ejecutar el comando anterior, debe obtener alguna salida similar a esta:

Tenga en cuenta que, dependiendo de la calidad y la claridad de una imagen y el contenido de texto de la imagen, ciertas inexactitudes siempre pueden estar presentes en el texto extraído y es posible que tenga que hacer correcciones manuales para solucionarlas.

Para guardar el texto identificado en un archivo externo, use el símbolo ">" y suministre un nombre para el archivo de salida. Aquí hay un comando de ejemplo:

$ Easyocr -l en --detail 0 -PARAGRAPH TRUE -F Imagen.PNG> Salida.TXT

Para saber más sobre todas las opciones de línea de comandos compatibles con EasyOCR, use el siguiente comando:

$ Easyocr --help

Usar Easyocr en los programas de Python

Easyocr también está disponible como una biblioteca de Python, por lo que puede importar su módulo principal en sus programas de Python. A continuación se muestra una muestra de código que ilustra su uso en un programa de Python:

importar easyocr
lector = easyocr.Lector (['en'])
resultado = lector.ReadText ('Imagen.png ', detalle = 0, párrafo = verdadero)
con Open ("Salida.txt "," w ") como f:
Para la línea en el resultado:
imprimir (línea, archivo = f)

La primera declaración se utiliza para importar el módulo "Easyocr" en su programa Python. A continuación, se crea una nueva instancia de la clase "Reader" (clase base) suministrando una lista de idiomas compatibles con Easyocr como argumento principal. Si su imagen contiene texto en varios idiomas, puede agregar más códigos de idioma a la lista. A continuación, el método "ReadText" se llama en la instancia "Lector" y la ruta del archivo de imagen se suministra como el primer parámetro. Este método identificará y extraerá texto de la imagen suministrada. Los dos argumentos opcionales, "detalle" y "párrafo" son las mismas que las opciones de línea de comando explicadas anteriormente. Simplifican el texto eliminando elementos innecesarios.

Después de ejecutar el comando anterior, debe tener la siguiente línea en "Salida.archivo txt ":

Puedes leer más sobre la API Python de Easyocr desde aquí. Una versión en línea de EasyocR está disponible aquí para probar.

Conclusión

Easyocr es una herramienta de extracción de texto de línea de comando que viene con modelos previamente capacitados para numerosos idiomas. Esto facilita a los usuarios finales identificar y extraer rápidamente el texto de las imágenes sin tener sus propios modelos de idiomas. También proporciona coordenadas detalladas para cajas delimitadoras alrededor de palabras identificadas y tokenizadas, lo que facilita el análisis de los textos individuales.