Sobre el proyecto
EasyOCR es una biblioteca de código abierto de reconocimiento óptico de caracteres (OCR) diseñada para estar lista para usar. Según su README, admite más de 80 idiomas y todas las escrituras populares, incluidas latina, china, árabe, devanagari y cirílica.
La instalación se realiza mediante pip (`pip install easyocr`) y también se proporciona un Dockerfile. En Windows, se recomienda instalar primero PyTorch y torchvision. Los pesos de los modelos para los idiomas seleccionados se descargan automáticamente o pueden colocarse manualmente en la carpeta `~/.EasyOCR/model`.
El uso básico en Python carga un lector una vez y luego procesa imágenes:
import easyocr
reader = easyocr.Reader(['ch_sim','en'])
result = reader.readtext('chinese.jpg')
La salida es una lista de elementos, cada uno con un cuadro delimitador, el texto detectado y una puntuación de confianza. Una opción `detail=0` devuelve solo las cadenas reconocidas. Las entradas pueden ser rutas de archivo, objetos de imagen OpenCV/numpy, bytes de imagen o una URL de imagen sin procesar. El modo solo CPU está disponible con `gpu=False`. También se incluye una interfaz de línea de comandos, por ejemplo `easyocr -l ch_sim en -f chinese.jpg --detail=1 --gpu=True`.
El README señala que se pueden pasar varios idiomas a la vez, aunque no todas las combinaciones son compatibles; el inglés se describe como compatible con todos los idiomas, y los idiomas que comparten caracteres comunes suelen ser compatibles entre sí.
Internamente, la detección utiliza el algoritmo CRAFT y el reconocimiento utiliza una CRNN compuesta por extracción de características (ResNet/VGG), etiquetado de secuencias (LSTM) y decodificación CTC, todo ejecutado con PyTorch. El proyecto reconoce varios repositorios y artículos de investigación upstream. Los usuarios pueden entrenar o usar sus propios modelos de reconocimiento y detección, con documentación enlazada para ambos.
La hoja de ruta menciona soporte planificado para texto manuscrito y una reestructuración para permitir algoritmos de detección y reconocimiento intercambiables. Las contribuciones son bienvenidas mediante pull requests, informes de problemas y adiciones de idiomas; agregar un nuevo idioma requiere archivos de caracteres y diccionario. El README también señala que los problemas con más de seis meses pueden cerrarse automáticamente y que Jaided AI ofrece soporte empresarial.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.