# Match Anything (ELOFTR)

Este bloque de función realiza el emparejamiento de keypoints entre dos imágenes para encontrar puntos correspondientes y visualizar las coincidencias. Úsalo cuando necesites comparar dos vistas de la misma escena, verificar alineamiento o rastrear correspondencias entre pares de imágenes.

## 📥 Entradas (sockets)

* `Image A` La primera imagen para emparejar (puede ser a color o en escala de grises).
* `Image B` La segunda imagen para emparejar (puede ser a color o en escala de grises).

## 📤 Salidas (sockets)

* `Visualization` Imagen anotada que muestra las dos entradas lado a lado con los keypoints emparejados y, opcionalmente, líneas de conexión.
* `Keypoints A` Lista de keypoints emparejados en `Image A` (coordenadas).
* `Keypoints B` Lista de keypoints emparejados en `Image B` (coordenadas).
* `Scores` Puntuaciones de confianza del emparejamiento para cada par emparejado.

## 🕹️ Controles

* `Show Matches` Interruptor para habilitar o deshabilitar el dibujo de líneas entre los keypoints emparejados en la visualización.
* `Threshold` Deslizador para establecer la confianza mínima de emparejamiento (valores más altos mantienen solo las coincidencias más fuertes).

## 🎯 Características

* Empareja keypoints entre dos imágenes y devuelve coordenadas de los puntos emparejados y puntuaciones de confianza.
* Visualización opcional que coloca las dos imágenes lado a lado y marca los puntos emparejados (y líneas si `Show Matches` está activado).
* Funciona con entradas a color o en escala de grises.
* Umbral de confianza ajustable para filtrar coincidencias débiles.

## ⚙️ Mecanismo de ejecución

Al ejecutarse, el bloque acepta dos entradas de imagen y calcula keypoints correspondientes entre ellas. Filtra las coincidencias según el `Threshold` configurado y, si se solicita, genera una imagen de visualización que muestra los keypoints emparejados y (opcionalmente) las líneas de conexión. Las coordenadas emparejadas y las puntuaciones se proporcionan a través de las salidas correspondientes.

## 📝 Instrucciones de uso

1. Proporciona dos imágenes relacionadas a `Image A` y `Image B` (por ejemplo, dos vistas de la misma escena).
2. Ajusta `Threshold` para controlar cuán estricto debe ser el emparejamiento.
3. Activa o desactiva `Show Matches` para mostrar u ocultar las líneas entre puntos emparejados en la visualización.
4. Usa la salida `Visualization` para inspeccionar las coincidencias y las salidas `Keypoints A`, `Keypoints B` y `Scores` para procesamiento posterior.

## 💡 Consejos y trucos

* Si las imágenes de entrada tienen tamaños muy diferentes, normalízalas primero con `Image Resize` para mejorar la estabilidad del emparejamiento.
* Para centrar el emparejamiento en una región de interés, recorta las imágenes con `Image ROI` o `Image ROI Select` antes de alimentarlas a este bloque.
* Visualiza resultados rápidamente conectando la salida `Visualization` a `Show Image`.
* Combínalo con `Feature Detector` si quieres comparar detecciones clásicas de características con emparejamientos basados en modelo.
* Si necesitas dibujar cajas de detección o superposiciones basadas en las coincidencias, usa `Draw Detections` o `Draw Point` con las coordenadas de keypoints.

## 🛠️ Solución de problemas

* Pocas o ninguna coincidencia: baja ligeramente el `Threshold`, asegúrate de que las imágenes de entrada contengan contenido solapado o prueba con redimensionado/preprocesado.
* Muchas coincidencias de baja confianza: aumenta el `Threshold` para filtrar correspondencias débiles.
* La visualización no aparece: verifica que la salida `Visualization` esté conectada a un bloque visualizador como `Show Image`.
* Imágenes con poca textura o patrones repetitivos pueden producir coincidencias ambiguas: intenta enfocarte en una ROI más distintiva o mejora la calidad de imagen con `Contrast Optimization`.


---

# 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/match-anything-eloftr.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.
