> 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/detections-shapes/roi-processing/image-roi.md).

# Image ROI

Este bloque de función permite recortar una región de interés de una imagen de entrada usando deslizadores de rango. Ajusta los deslizadores `Width` y `Height` para definir un recorte rectangular; el bloque devuelve la imagen recortada y las coordenadas del rectángulo para su uso posterior.

## 📥 Entradas <a href="#inputs" id="inputs"></a>

`Image Any` Proporciona la imagen fuente que se va a recortar.

## 📤 Salidas <a href="#outputs" id="outputs"></a>

`Image Any` Imagen recortada correspondiente al rectángulo seleccionado.

`Rectangle` Coordenadas del ROI seleccionado en forma de rectángulo.

## 🕹️ Controles <a href="#controls" id="controls"></a>

`Width` Deslizador de rango horizontal para establecer los límites de recorte izquierda/derecha (min y max).

`Height` Deslizador de rango vertical para establecer los límites de recorte superior/inferior (min y max).

`Input Image Size (H, W)` Etiqueta informativa que muestra las dimensiones de la imagen de entrada y actualiza automáticamente los rangos de los deslizadores.

## ⚙️ Mecanismo de ejecución <a href="#running-mechanism" id="running-mechanism"></a>

Cuando el bloque recibe una imagen de entrada, lee las dimensiones de la imagen y ajusta los rangos de los deslizadores `Width` y `Height` para que coincidan con el tamaño de la imagen. Los deslizadores proporcionan valores enteros de mínimo/máximo que definen el rectángulo de recorte. Al evaluarse, el bloque devuelve la imagen recortada y una forma de `Rectangle` que representa el ROI.

## 🎯 Características <a href="#features" id="features"></a>

* Rangos de deslizadores dinámicos que se adaptan automáticamente al tamaño de la imagen conectada.
* Devuelve tanto la imagen recortada como las coordenadas del rectángulo para uso posterior.
* Conserva la disposición de canales de la imagen (color o escala de grises) en el resultado recortado.
* Recuerda y restaura el tamaño de la imagen de entrada al guardar/cargar escenarios (soporte de serialización).

## 📝 Instrucciones de uso <a href="#usage" id="usage"></a>

1. Conecta un bloque que produzca imagen a la entrada `Image Any`.
2. Observa la etiqueta `Input Image Size (H, W)` para confirmar las dimensiones.
3. Ajusta el deslizador `Width` (min/max) para establecer los límites de recorte horizontales.
4. Ajusta el deslizador `Height` (min/max) para establecer los límites de recorte verticales.
5. Usa las salidas según necesites: pasa la imagen recortada a bloques de análisis o emplea las coordenadas del rectángulo para visualización.

## 💡 Consejos y trucos <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Para inspeccionar visualmente el ROI seleccionado mientras ajustas los deslizadores, envía la salida `Image Any` al bloque `Show Image`.
* Si la imagen de entrada es muy grande, coloca un bloque `Image Resizer` antes de este bloque para acelerar los ajustes interactivos de los deslizadores.
* Usa `Image ROI Select` o `Image ROI Select Multi` si prefieres seleccionar áreas de recorte con el ratón en lugar de los deslizadores; luego alimenta el `Rectangle` resultante a este bloque o usa sus salidas en la cadena de procesamiento.
* Para detección enfocada en el área recortada, conecta la imagen recortada a bloques detectores como `Find Object`, `Object Detection` o `Blob Detector` para reducir coincidencias falsas y acelerar el procesamiento.
* Para guardar ejemplos del ROI o registrarlos, conecta la salida de la imagen recortada a `Image Logger` o `Image Write`.
* Para marcar el ROI en la imagen original para visualización, usa la salida `Rectangle` con `Draw Rectangle` y luego previsualiza con `Show Image`.
* Combínalo con `Histogram On Line` o `Histogram On Curve` para análisis de perfil limitado al área recortada.
* Usa las coordenadas del rectángulo con bloques conscientes del ROI como `Get ROI` o `Check Area` para crear lógica posterior basada en posiciones de objetos dentro de la región seleccionada.

## 🛠️ Solución de problemas <a href="#troubleshooting" id="troubleshooting"></a>

* Si los deslizadores no cubren toda la extensión de la imagen, confirma que hay una imagen conectada y visible en la etiqueta `Input Image Size (H, W)` — los deslizadores se actualizan solo después de recibir la imagen.
* Si la salida recortada está vacía o en negro, asegúrate de que los valores min/max de los deslizadores definan un área no nula y estén dentro de los límites de la imagen.
* Si los bloques posteriores esperan un formato de canal específico (escala de grises vs RGB), usa conversión de color o un bloque de preprocesamiento como `Image Resizer` antes o después del recorte para ajustar al formato esperado.
