# OCR (EasyOCR)

Este bloque de función detecta y extrae texto de imágenes usando un motor OCR. Está diseñado para una integración sencilla: proporciona una imagen, ajusta un umbral de confianza y, opcionalmente, permite la rotación automática para mejorar el reconocimiento de texto rotado.

## 📥 Entradas

* `Image` Imagen en escala de grises o color que contiene el texto a reconocer.

## 📤 Salidas

* `Result` Imagen anotada con las cajas detectadas y etiquetas de texto opcionales (si la visualización está activada más adelante).
* `Whole Text` Texto completo reconocido como una sola cadena (palabras concatenadas).
* `Texts` Segmentos de texto reconocidos individualmente como una lista.
* `Boxes` Polígonos delimitadores (4 puntos) para cada área de texto detectada.

## 🕹️ Controles

* `Auto Rotation` Alternar para probar versiones rotadas de la imagen de entrada al buscar texto. Útil cuando el texto puede aparecer girado (por ejemplo, teléfonos o rótulos inclinados).
* `Show Texts` Alternar para incluir las etiquetas de texto reconocidas en la salida `Result` (cuando la visualización esté activa).
* `Threshold` Control deslizante para establecer la confianza mínima requerida para aceptar una detección. Valores más altos reducen falsos positivos pero pueden omitir texto débil.

## ✨ Características

* Reconocimiento en múltiples ángulos cuando `Auto Rotation` está habilitado, para mejorar la detección de texto rotado.
* Filtrado por confianza mediante `Threshold` para controlar la estricticidad de las detecciones.
* Devuelve tanto los resultados textuales como los polígonos exactos de cada detección, permitiendo procesamiento o registro posterior.
* Usará aceleración por hardware disponible para mejorar el rendimiento.

## 📊 Cómo funciona

Cuando se entrega una imagen a `Image`, el bloque analiza la imagen buscando texto aplicando el umbral y la configuración de rotación. Las detecciones aceptadas se devuelven como texto y cajas delimitadoras. Si hay una salida de visualización conectada, en `Result` se producirá una imagen anotada con las cajas detectadas (y etiquetas opcionales).

## 📝 Inicio rápido

1. Conecta un bloque que produzca imágenes (por ejemplo una cámara o un cargador de imágenes) a `Image`.
2. Activa `Auto Rotation` si el texto puede aparecer rotado.
3. Ajusta `Threshold` para equilibrar sensibilidad y falsos positivos.
4. Usa la salida `Boxes` para dibujar o registrar las detecciones, o conecta `Result` a un bloque de visualización para previsualizar.

## 💡 Consejos y trucos

* Preprocesa texto pequeño o con ruido con `Image Resizer` o `Super Resolution` para mejorar la legibilidad antes del OCR.
* Recorta la región de interés con `Image ROI Select` o `Image ROI` para que el OCR procese solo las áreas relevantes (más rápido y más preciso).
* Mejora el contraste y reduce ruido con `Contrast Optimization`, `Denoising` o `Adjust Colors` antes de alimentar la imagen.
* Elimina fondos distractores con `Background Removal (RMBG-1.4)` o `Background Removal (BiRefNet)` cuando el texto esté sobre escenas complejas.
* Para comprobaciones visuales rápidas, conecta `Result` a `Show Image` para inspeccionar la ubicación de las cajas y etiquetas.
* Para comparar calidad de reconocimiento o estrategias alternativas, prueba el otro bloque `OCR` y compara resultados.
* Guarda el texto reconocido y registros usando `CSV Export` o arma registros estructurados con `Data to JSON` para sistemas posteriores.
* Si aparecen muchos falsos positivos, aumenta `Threshold` o aplica enmascarado dirigido con `Apply Mask` para excluir regiones irrelevantes.

## 🛠️ Solución de problemas

* No se detecta texto: aumenta el tamaño de la imagen con `Image Resizer` o mejora la claridad con `Denoising` / `Contrast Optimization`.
* Detecciones con baja confianza: sube el valor de `Threshold` y/o limpia el fondo con los bloques de eliminación de fondo.
* Texto rotado o boca abajo: activa `Auto Rotation`. Si solo hay un ángulo problemático, recorta con `Image ROI Select` y rota externamente.
* Muchos falsos positivos en fondos texturizados: restringe el área de procesamiento con `Image ROI Select` y usa `Apply Mask` para bloquear regiones ruidosas.
* Quiere salida estructurada: enruta `Texts` y `Boxes` a `Data to JSON` o `CSV Export` para guardar o procesar posteriormente.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/spanish/bloques-de-funcion/ai-blocks/ocr-easyocr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
