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 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 secuencias de comandos. Incluye modelos previamente entrenados para estos lenguajes, pero puedes usar EasyOCR para entrenar tus propios modelos desde cero. Además del contenido de texto digital e impreso en 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 la 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 puedes 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 utiliza 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).

El resultado muestra números específicos y texto extraído de la imagen. Este resultado se puede leer en el siguiente formato: coordenadas de fragmentos de texto individuales> texto detectado> nivel de confianza. Por lo tanto, los números del extremo izquierdo representan las coordenadas de los cuadros de texto identificados, mientras que el número del extremo derecho indica qué tan preciso es el texto extraído.

Si solo desea obtener el texto detectado en formato legible por humanos, agregue el interruptor "?detalle 0" al comando anterior:

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

Como puede ver en el resultado, el texto extraído está en el orden incorrecto. Puedes probar el párrafo ??Verdadero? Opción de línea de comando 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, dependiendo de la calidad y claridad de la imagen y del contenido textual de la imagen, siempre puede haber algunas imprecisiones 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 línea de comando admitidas por EasyOCR, use el siguiente comando:

$ easyocr --help

Usando EasyOCR en programas 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 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 utiliza 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 imágenes sin tener sus propios modelos de lenguaje. También proporciona coordenadas detalladas del cuadro delimitador alrededor de palabras identificadas y etiquetadas, lo que facilita el análisis de fragmentos de texto individuales.

Artículos Relacionados