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

# Structural Similarity

Ce bloc de fonction compare deux images et retourne un score de similarité (en pourcentage) qui reflète leur ressemblance structurelle. Il est conçu pour des tâches rapides de comparaison visuelle comme la détection de changements, le contrôle qualité ou la validation d'étapes de traitement d'image.

## 📥 Entrées (sockets)

* `Image Any` Première image à comparer.
* `Image Any` Deuxième image à comparer.

Remarque : Les deux images d'entrée doivent avoir la même résolution et le même nombre de canaux pour une comparaison valide.

## 📤 Sorties (sockets)

* `Similarity Percentage` Valeur numérique entre 0 et 100 représentant la similarité structurelle des deux entrées.

## 🕹️ Contrôles

Ce bloc n'a pas de contrôles interactifs. Il s'exécute dès que les entrées sont disponibles.

## 🎯 Fonctionnalités

* Fournit un score unique de similarité facile à utiliser pour des seuils et des logiques de décision.
* Fonctionne directement avec des images couleur ou en niveaux de gris (à condition que les dimensions soient identiques).
* Facilement intégrable dans des flux d'inspection pour des vérifications automatiques pass/fail.

## ⚙️ Mécanisme d'exécution

* Lorsque les deux entrées d'image sont présentes et ont la même taille, le bloc calcule un score de similarité structurelle et le renvoie en pourcentage.
* Si les images diffèrent en taille, le bloc signale une erreur et ne produit pas de score valide.
* Conçu pour être une étape légère de comparaison dans des pipelines de traitement d'image continus.

## 📝 Utilisation

1. Fournissez deux images aux sockets d'entrée.
2. Assurez-vous que les deux images ont les mêmes dimensions et le même nombre de canaux.
3. Lisez la sortie `Similarity Percentage` et utilisez-la pour le journal, la prise de décision ou la logique en aval.

## 💡 Conseils et astuces

* Pour garantir que les images ont la même taille, utilisez `Image Resize` ou `Image Resizer` avant ce bloc.
* Si les images peuvent être tournées ou décalées, ajoutez `Auto Alignment` pour les aligner d'abord et obtenir une comparaison plus pertinente.
* Pour comparer une zone spécifique uniquement, rognez avec `Image ROI Select` et alimentez ce bloc avec les images rognées.
* Normalisez les différences d'intensité ou de contraste avec `Normalize Image` ou `Contrast-Brightness-Gamma` pour réduire les faux écarts dus à l'éclairage.
* Utilisez `Image AutoRotator` si l'orientation d'entrée peut varier entre les sources.
* Visualisez les entrées avec `Show Image` pour vérifier ce qui est réellement comparé.
* Enregistrez ou journalisez les images et résultats de comparaison avec `Image Logger` ou `Image Write` pour la traçabilité.
* Utilisez `Mean Value of Image` ou `Image Resolution and Channel Value` pour vérifier rapidement la luminosité et la taille avant la comparaison.

## 🛠️ Dépannage

* Si vous voyez une erreur concernant la taille des images, confirmez que les deux entrées ont la même largeur, hauteur et nombre de canaux. Envisagez d'utiliser `Image Resize`.
* Une similarité étonnamment basse malgré des images visuellement proches peut indiquer un désalignement, des différences de gamme de couleurs ou des régions de recadrage différentes — essayez `Auto Alignment`, `Normalize Image` ou le recadrage avec `Image ROI Select`.
* Si aucune sortie n'apparaît, vérifiez que les deux sockets d'entrée sont connectés et n'envoient pas `None`. Utilisez `Show Image` ou des blocs de debug pour vérifier les données entrantes.
