> 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/image-transformations/analysis/structural-similarity.md).

# Structural Similarity

Este bloque de función compara dos imágenes y devuelve una puntuación de similitud (porcentaje) que refleja cuán estructuralmente parecidas son. Está diseñado para tareas rápidas de comparación visual como detección de cambios, control de calidad o validación de pasos de procesamiento de imagen.

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

`Image Any` Primera imagen a comparar.\
`Image Any` Segunda imagen a comparar.

Nota: Ambas imágenes de entrada deben tener la misma resolución y canales para que la comparación sea válida.

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

`Similarity Percentage` Valor numérico entre 0 y 100 que representa la similitud estructural de las dos entradas.

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

Este bloque de función no tiene controles interactivos. Se ejecuta cuando las entradas están disponibles.

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

* Proporciona una única puntuación numérica de similitud, fácil de usar para umbrales y lógica de decisión.
* Funciona directamente con imágenes en color o en escala de grises (requiere mismas dimensiones).
* Integración sencilla en flujos de inspección para comprobaciones automáticas de aprobado/reprobado.

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

* Cuando ambas entradas de imagen están presentes y coinciden en tamaño, el bloque calcula una puntuación de similitud estructural y la emite como porcentaje.
* Si las imágenes difieren en tamaño, el bloque reporta un error y no produce una puntuación válida.
* Diseñado para usarse como un paso de comparación ligero dentro de canalizaciones de procesamiento de imagen continuas.

## 📝 Uso <a href="#usage" id="usage"></a>

1. Proporcione dos imágenes a los sockets de entrada.
2. Asegúrese de que ambas imágenes tengan dimensiones y número de canales idénticos.
3. Lea la salida `Similarity Percentage` y úsela para registro, toma de decisiones o lógica posterior.

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

* Para asegurar que las imágenes coincidan en tamaño, use `Image Resize` o `Image Resizer` antes de este bloque.
* Si las imágenes pueden estar rotadas o desplazadas, añada `Auto Alignment` para alinearlas primero y obtener una comparación más significativa.
* Para enfocar la comparación en un área específica, recorte con `Image ROI Select` y alimente las imágenes recortadas a este bloque.
* Normalice diferencias de intensidad o contraste con `Normalize Image` o `Contrast-Brightness-Gamma` para reducir diferencias falsas causadas por la iluminación.
* Use `Image AutoRotator` si la orientación de las entradas puede diferir entre fuentes.
* Visualice las entradas con `Show Image` para inspeccionar qué se está comparando.
* Registre o guarde imágenes de comparación y resultados con `Image Logger` o `Image Write` para trazabilidad.
* Use `Mean Value of Image` o `Image Resolution and Channel Value` para comprobar rápidamente brillo y tamaño antes de la comparación.

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

* Si ve un error sobre el tamaño de la imagen, confirme que ambas entradas tienen la misma anchura, altura y número de canales. Considere usar `Image Resize`.
* Similitud inesperadamente baja a pesar de imágenes visualmente similares puede indicar desalineación, diferencias en el rango de color o distintas regiones recortadas — pruebe con `Auto Alignment`, `Normalize Image` o recorte con `Image ROI Select`.
* Si no aparece salida, verifique que ambos sockets de entrada estén conectados y no envíen `None`. Use `Show Image` o bloques de depuración para verificar los datos entrantes.
