> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/spanish/function-blocks/blocks-reference/ai-blocks/ocr.md).

# OCR

Este bloque de función extrae texto de imágenes y devuelve el texto reconocido, las cajas delimitadoras y, opcionalmente, una imagen anotada. Está diseñado para flujos de trabajo simples de arrastrar y soltar: proporciona una imagen, ajusta el umbral de confianza y las opciones, luego consume el texto o visualiza los resultados.

## 📥 Entradas

`Image`\
Esta entrada acepta cualquier imagen sobre la que quieras realizar el reconocimiento de texto.

## 📤 Salidas

`Result`\
Imagen anotada con cajas de detección y, opcionalmente, etiquetas de texto superpuestas.

`Whole Text`\
Todo el texto detectado unido en una sola cadena.

`Texts`\
Cadenas de texto detectadas individualmente (pueden aparecer múltiples salidas).

`Boxes`\
Cajas delimitadoras detectadas para cada región de texto.

## 🕹️ Controles

`Use auto rotation`\
Alternar para habilitar el manejo automático de rotaciones (texto invertido/rotado).

`Show Texts`\
Alternar para dibujar las etiquetas de texto reconocidas en la imagen de salida anotada.

`Threshold`\
Deslizador para establecer la confianza mínima aceptada para las detecciones (más alto = menos resultados, pero más confiables).

## 🎨 Funciones

* Detección y reconocimiento de texto en tiempo real a partir de la imagen proporcionada a `Image`.
* Filtrado por confianza mediante el deslizador `Threshold` para ignorar detecciones débiles.
* Anotación opcional de la imagen: dibuja cajas y texto en `Result` cuando `Show Texts` está activado.
* Soporte de auto-rotación para mejorar el reconocimiento en texto rotado o invertido cuando `Use auto rotation` está activado.
* Salidas disponibles en formato legible (`Whole Text` / `Texts`) y en forma geométrica estructurada (`Boxes`) para procesamiento posterior.

## ⚙️ Mecanismo de ejecución

* Proporciona una imagen a la entrada `Image` y ejecuta el escenario.
* El bloque procesa la imagen y filtra las detecciones por debajo del `Threshold` seleccionado.
* Si hay salidas conectadas que requieren visualización, el bloque devuelve una imagen `Result` anotada con cajas y, si está activado, etiquetas de texto.
* Se producen salidas de texto (`Whole Text`, `Texts`) y salidas geométricas (`Boxes`) para ser usadas por otros bloques o herramientas de exportación.
* Nota: la primera ejecución puede tardar más (el modelo o los recursos se inicializan bajo demanda). Después, las inferencias serán más rápidas.

## 📝 Instrucciones de uso

1. Alimenta la imagen que quieres leer en la entrada `Image`.
2. Ajusta el deslizador `Threshold` para filtrar reconocimientos de baja confianza. Empieza con valores moderados (p. ej., 30–50) y ajústalos según sea necesario.
3. Activa `Use auto rotation` si tus imágenes pueden contener texto rotado.
4. Activa `Show Texts` si quieres que la imagen devuelta en `Result` muestre las etiquetas de texto detectadas.
5. Usa las salidas `Whole Text`, `Texts` o `Boxes` según tus necesidades (para mostrar, registrar o tomar decisiones lógicas).

## 💡 Consejos y trucos

* Mejora la precisión recortando previamente el área que contiene texto con `Image ROI Select` para que el bloque solo procese la región de interés.
* Acelera la inferencia en imágenes grandes usando `Image Resize` antes de alimentar el bloque.
* Elimina fondos complejos o aísla las regiones de texto con `Background Removal (RMBG-1.4)` o `Background Removal (BiRefNet)` cuando el texto esté sobre fondos con mucho ruido.
* Reduce el ruido visual con `Blur` o convierte a una imagen binaria más limpia con `Image Threshold` cuando trabajes con capturas ruidosas.
* Previsualiza rápidamente los resultados del OCR enviando la imagen `Result` anotada a `Show Image`.
* Si quieres un enfoque OCR alternativo, prueba el bloque `OCR (EasyOCR)` y compara resultados con tu conjunto de datos.
* Guarda el texto reconocido o las imágenes aguas abajo con `Image Logger`, `Image Write` o `CSV Export` para trazabilidad.

## 🛠️ Solución de problemas

* No se detecta texto: mejora la calidad de la imagen de entrada (recorta al texto, aumenta la resolución) o baja un poco el `Threshold`.
* Muchas detecciones falsas: sube el `Threshold` y recorta la imagen para centrarte en las regiones con texto real.
* Texto rotado no se lee correctamente: activa `Use auto rotation` o rota la imagen previamente con `Image AutoRotator` o aplicando un paso de `Image Resize` + rotación.
* Primera ejecución lenta: la primera evaluación puede tardar más mientras se inicializan los recursos. Las ejecuciones posteriores serán más rápidas.
* Si solo necesitas la geometría delimitadora para la lógica (no imágenes anotadas), desconecta las salidas de visualización para reducir la carga de procesamiento.
