> 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-select.md).

# Image ROI Select

Esta función te permite seleccionar de forma interactiva una única región rectangular de interés (ROI) arrastrando sobre la vista previa de la imagen. Es ideal para recortar un área de una imagen y usarla en procesos o inspecciones posteriores.

## 📥 Entradas

`Image Any`\
La imagen a recortar. Conecta una imagen en escala de grises o en color para definir el área seleccionable.

## 📤 Salidas

`Image Any`\
La imagen recortada que corresponde al rectángulo seleccionado.

`Rectangle`\
Las coordenadas de píxeles que describen el área seleccionada (esquina superior-izquierda y esquina inferior-derecha).

## 🕹️ Controles

`Image Preview`\
La vista previa interactiva donde creas y editas la ROI con el ratón.

`Drag`\
Crea un rectángulo arrastrando en la vista previa, o arrastra dentro del rectángulo para moverlo.

`Edge / Corner Drag`\
Redimensiona el rectángulo arrastrando un borde o una esquina.

`Ctrl`\
Mantén pulsada para forzar la creación de un rectángulo nuevo aunque ya exista uno.

## 🎯 Features

* Creación, desplazamiento y redimensionado interactivo del rectángulo directamente sobre la vista previa.
* Superposición visual que muestra el rectángulo actual y lo resalta durante la interacción.
* Acepta selección única o repetida; se usa la ROI más reciente como salida.
* El resultado recortado se devuelve inmediatamente como imagen junto con las coordenadas del rectángulo.
* El rectángulo seleccionado se conserva para que la misma ROI pueda restaurarse al recargar el proyecto.

## ⚙️ Running mechanism

* Proporciona una imagen al input `Image Any` y ejecuta el escenario una vez para cargar la imagen en la vista previa.
* Usa la vista previa para `Drag` y dibujar un rectángulo. Arrastra dentro del rectángulo para moverlo, o arrastra bordes/esquinas para redimensionarlo.
* El bloque calcula las coordenadas de píxeles del rectángulo seleccionado y emite:
  * la imagen recortada extraída de esas coordenadas vía `Image Any`
  * las coordenadas del rectángulo vía `Rectangle`
* La superposición de la vista previa se actualiza en tiempo real mientras creas o editas la ROI.

## 📝 Usage instructions

1. Conecta un bloque que produzca imágenes al input `Image Any` y ejecuta una vez para poblar la vista previa.
2. Dibuja la ROI haciendo clic y arrastrando en la vista previa.
3. Mueve o redimensiona la ROI según necesites.
4. Mantén pulsado `Ctrl` mientras arrastras para crear un rectángulo nuevo.
5. Usa las salidas para alimentar la imagen recortada o las coordenadas del rectángulo a bloques posteriores.

## 💡 Tips and Tricks

* Combina con `Show Image` para abrir el recorte en un visor más grande y revisarlo con detalle.
* Si necesitas múltiples ROI editables, usa `Image ROI Select Multi` en lugar de este bloque.
* Usa `Image Resize` después de este bloque para normalizar los tamaños de los recortes antes de ejecutar detecciones o análisis.
* Alimenta la salida recortada a `Find Object` cuando quieras ejecutar template matching solamente dentro del área seleccionada — esto reduce falsos positivos y acelera el procesamiento.
* Guarda recortes importantes con `Image Logger` o `Image Write` para registrar ejemplos para revisión posterior o para datos de entrenamiento.
* Para visualizar detecciones o coordenadas sobre la imagen original, usa `Draw Rectangle` aguas abajo con la salida `Rectangle`.

## 🛠️ Troubleshooting

* Si la vista previa está vacía, asegúrate de que el bloque productor esté conectado y de haber ejecutado la pipeline una vez para cargar datos de imagen.
* Si la selección aparece fuera de la imagen, verifica las dimensiones de la imagen de entrada y vuelve a dibujar la ROI dentro del área de la vista previa.
* Para el procesamiento final, confirma que la resolución de la imagen recortada sea adecuada para los bloques posteriores (usa `Image Resize` si es necesario).
