Pipeline completo de OCR con Keras y TensorFlow
Usa Keras-OCR para un reconocimiento de texto simple pero potente en Python.
¿Qué es la API Keras-OCR?
Keras-OCR es una biblioteca Python de alto nivel y código abierto diseñada para simplificar tareas de reconocimiento óptico de caracteres (OCR) usando el poder de Keras y TensorFlow. A diferencia de los sistemas OCR tradicionales que requieren configuración extensa, Keras-OCR ofrece un pipeline completo con modelos preentrenados para detección de texto (usando el algoritmo CRAFT) y reconocimiento de texto (mediante un modelo CRNN). Esta combinación permite a los desarrolladores extraer texto de imágenes, documentos escaneados o incluso notas manuscritas con solo unas pocas líneas de código.
La biblioteca está optimizada para casos de uso reales, incluyendo:
- Digitalización de documentos: Convierte documentos en papel o PDF a texto buscable.
- Automatización de entrada de datos: Extrae texto de facturas, recibos o formularios.
- Herramientas de accesibilidad: Genera texto alternativo para imágenes en aplicaciones web.
- Análisis de redes sociales: Procesa texto incrustado en memes o contenido generado por usuarios.
Con soporte integrado para procesamiento por lotes y aceleración opcional por GPU, Keras-OCR equilibra facilidad de uso con rendimiento, haciéndolo ideal tanto para prototipos como para implementaciones en producción.
Características principales de Keras-OCR
- Modelos preentrenados: Incluye CRAFT (detector) y CRNN (reconocedor) para uso inmediato.
- Configuración sencilla: Dependencias mínimas (Keras, TensorFlow, OpenCV).
- Procesamiento por lotes: Procesa múltiples imágenes en paralelo para mayor eficiencia.
- Entrenamiento personalizable: Ajusta los modelos con tus propios conjuntos de datos.
- No requiere GPU: Funciona en CPU pero se acelera con GPU.
- Salida de cuadros delimitadores: Devuelve texto con coordenadas para análisis espacial.
- Código abierto: Gratuito, impulsado por la comunidad y con licencia MIT.
Instalación
Instala Keras-OCR mediante pip (requiere Python 3.6+):
Instalar Keras-OCR
pip install keras-ocr
Para soporte GPU, asegúrate de tener TensorFlow con GPU instalado:
Instalar TensorFlow GPU
pip install tensorflow-gpu
Ejemplos de código
A continuación se muestran ejemplos prácticos para extraer texto de imágenes usando Keras-OCR.
Ejemplo 1: Detección y reconocimiento básico de texto
Este ejemplo muestra cómo usar el pipeline preentrenado para extraer texto de una imagen:
Pipeline básico de OCR
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)
Ejemplo 2: Procesamiento por lotes
Procesa múltiples imágenes simultáneamente para mayor eficiencia:
Procesamiento por lotes
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["image1.jpg", "image2.jpg", "image3.jpg"]
batch_predictions = pipeline.recognize(images)
for prediction in batch_predictions:
print(prediction)
Ejemplo 3: Visualización de cuadros delimitadores
Dibuja los cuadros de texto detectados en la imagen original:
Visualizar resultados
import matplotlib.pyplot as plt
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
image = keras_ocr.tools.read("document.jpg")
predictions = pipeline.recognize([image])
keras_ocr.tools.drawAnnotations(image, predictions[0])
plt.imshow(image)
plt.show()
Conclusión
Keras-OCR simplifica la extracción de texto con su pipeline listo para usar, convirtiéndolo en una excelente opción para desarrolladores que necesitan OCR rápido y preciso sin configuración compleja. Su integración con Keras y TensorFlow permite personalizaciones, mientras que el procesamiento por lotes asegura escalabilidad.
Ya sea que estés construyendo escáneres de documentos, automatizando entrada de datos o analizando contenido de redes sociales, Keras-OCR proporciona una solución ligera pero potente.
Productos Similares
- API de Python de PyMuPDF | Análisis y extracción de PDF avanzados
- API EasyOCR - Reconocimiento Óptico de Caracteres Completo en Python
- Biblioteca Python pdfminer.six | Extraer texto de archivos PDF
- docTR API – Reconocimiento Óptico de Caracteres en Python
- pypdf | Biblioteca de Python para un análisis eficiente de PDF