Cómo instalar y usar EasyOCR en Linux

Este artículo lo guiará a través de la instalación y el uso de la herramienta de línea de comandos EasyOCR y el módulo Python. Disponible como aplicación gratuita y de código abierto, se puede utilizar para identificar y extraer texto de las imágenes. Utiliza tecnología de reconocimiento óptico de caracteres (OCR) y muchos algoritmos y modelos de lenguaje diferentes para detectar texto.

Características clave de EasyOCR

EasyOCR puede detectar texto en más de 80 idiomas y escrituras. Incluye modelos previamente entrenados para estos idiomas, pero puede usar EasyOCR para entrenar sus propios modelos desde cero. Además del contenido de texto digital e impreso 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 por lotes varias imágenes al mismo tiempo, la capacidad de restringir y bloquear caracteres específicos en el idioma, la capacidad de convertir líneas extraídas en párrafos, la capacidad de cambiar el tamaño y ampliar las imágenes para mejorar la precisión de detección. , y más.

Instalación de EasyOCR en Linux

Puede instalar EasyOCR en Linux usando el administrador de paquetes pip. Para instalar el administrador de paquetes pip en Ubuntu, use el siguiente comando:

$ sudo apt install python3-pip

El administrador de paquetes Pip está disponible en los repositorios oficiales de muchas distribuciones de Linux, por lo que puede instalarlo desde el administrador de paquetes estándar. También puede seguir las instrucciones de instalación oficiales disponibles aquí para instalar el administrador de paquetes pip en su sistema Linux.

Después de instalar con éxito el administrador de paquetes pip, ejecute el siguiente comando para instalar EasyOCR en Linux:

$ pip3 install easyocr

Usando EasyOCR en Linux

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

$ easyocr -l en -f image.png

El primer parámetro “-l” se puede utilizar para especificar el idioma del contenido de texto que desea capturar con EasyOCR. Puede especificar varios idiomas mediante códigos de idioma separados por comandos. El interruptor “-f” se usa para especificar un archivo de imagen de entrada. Puede encontrar una lista de todos los idiomas admitidos por EasyOCR y sus códigos aquí (desplácese hacia abajo para verlos).

La salida muestra números y texto específicos extraídos de la imagen. Esta salida se puede leer en el siguiente formato: coordenadas de fragmentos de texto individuales> texto detectado> nivel de confianza. Por lo tanto, los números en el extremo izquierdo representan las coordenadas de los cuadros de texto identificados, mientras que el número en el extremo derecho indica la precisión del texto extraído.

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

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

Como puede ver en la salida, el texto extraído está en el orden incorrecto. Puede probar la opción de línea de comando “–paragraph True” para concatenar las partes y oraciones individuales en el orden correcto.

$ easyocr -l en --detail 0 --paragraph True -f image.png

Tenga en cuenta que, según la calidad y la claridad de la imagen y el contenido textual de la imagen, siempre puede haber algunas inexactitudes en el texto extraído y es posible que deba realizar correcciones manuales para corregirlas.

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

$ easyocr -l en --detail 0 --paragraph True -f image.png > output.txt

Para obtener más información sobre todas las opciones de la línea de comandos admitidas por EasyOCR, utilice el siguiente comando:

$ easyocr --help

Uso de EasyOCR en programas de Python

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

import easyocr

reader = easyocr.Reader(['en'])
result = reader.readtext('image.png', detail=0, paragraph=True)
with open("output.txt", "w") as f:
for line in result:
print(line, file=f)

La primera declaración se usa para importar el módulo easyocr a su programa Python. Luego, se crea una nueva instancia de la clase “Reader” (clase base), proporcionando como argumento principal una lista de idiomas soportados por EasyOCR. Si su imagen contiene texto en varios idiomas, puede agregar otros códigos de idioma a la lista. Luego, se llama al método "readtext" en la instancia del "lector", y la ruta al archivo de imagen se proporciona como primer parámetro. Este método identifica y extrae texto de la imagen proporcionada. Los dos argumentos opcionales, "detalle" y "párrafo", son los mismos que los parámetros de la línea de comando descritos anteriormente. Simplifican el texto eliminando elementos innecesarios.

Conclusión

EasyOCR es una herramienta de extracción de texto de línea de comandos que viene con modelos previamente entrenados para muchos idiomas. Esto permite a los usuarios finales identificar y extraer rápidamente texto de las imágenes sin tener sus propios modelos de lenguaje. También proporciona coordenadas de cuadro delimitador detalladas alrededor de palabras identificadas y etiquetadas, lo que facilita el análisis de fragmentos de texto individuales.

Artículos Relacionados