> 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/detections-shapes/shape-analysis/most-similar-shape.md).

# Most Similar Shape

Cette fonction compare un contour de référence à une liste de contours candidats et sélectionne celui qui lui ressemble le plus. Elle renvoie le contour le mieux assorti, un score de similarité (0–1) et une image annotée montrant le contour sélectionné.

## 📥 Entrées

* `Contour`\
  Contour de référence utilisé pour la comparaison.
* `Contour(s)`\
  Liste de contours candidats à comparer.
* `Image`\
  Image optionnelle utilisée pour la sortie visuelle/annotation.

## 📤 Sorties

* `Most Similar`\
  Le contour de la liste de candidats qui correspond le mieux au contour de référence.
* `Score (0-1)`\
  Score de similarité (1.0 = identique, les valeurs inférieures indiquent moins de similarité).
* `Image Any`\
  Image annotée optionnelle avec le contour sélectionné mis en évidence.

## 🕹️ Controls

Ce bloc n’a pas de contrôles configurables par l’utilisateur. Il s’exécute automatiquement dès que les entrées sont fournies.

## 🎨 Features

* Comparaison rapide de formes pour trouver la correspondance la plus proche dans une liste.
* Fournit à la fois un score numérique de similarité et un résultat visuel pour vérification.
* Fonctionne avec tout format de contour accepté par le système.

## 📝 Instructions d’utilisation

1. Fournissez un contour de référence à l’entrée `Contour`.
2. Fournissez un ou plusieurs contours candidats à l’entrée `Contour(s)`.
3. Optionnel : fournissez une image à `Image` pour obtenir une visualisation annotée du contour choisi.
4. Exécutez le scénario : les sorties incluront le contour sélectionné, son score de similarité et l’image annotée si fournie.

## 📊 Évaluation

Lors de l’exécution, ce bloc mesure la ressemblance entre le contour de référence et chaque candidat. Il retourne le candidat ayant la meilleure ressemblance (score le plus élevé) avec le score numérique et, si disponible, une image annotée.

## 💡 Astuces et bonnes pratiques

* Pour extraire d’abord des contours à partir d’une image binaire, utilisez `Find Contour`.
* Utilisez `Approximate Contour` pour simplifier les contours (réduire le nombre de points) avant comparaison lorsque les formes sont bruitées ou trop détaillées.
* Combinez avec `Hull Convex` pour comparer des enveloppes convexes plutôt que des contours bruts si vous souhaitez comparer la forme extérieure.
* Utilisez `Minimum Rectangle`, `Minimum Ellipse` ou `Minimum Circle` pour convertir les contours en des descripteurs géométriques simples comme stratégie de comparaison alternative.
* Prétraitez les images d’entrée avec `Blur`, `Denoising` ou `Image Threshold` pour réduire le bruit et améliorer l’extraction des contours.
* Si vous voulez inspecter visuellement le résultat sélectionné, connectez la sortie d’image annotée à `Show Image`.
* Utilisez `Contour to Image` pour recadrer ou isoler la région autour d’un contour pour inspection ou traitement ultérieur.
* Dessinez le contour sélectionné sur la sortie en direct avec `Draw Result On Image` ou `Draw Detections` pour une visualisation plus claire dans les tableaux de bord.
* Si vous avez besoin de comparer des contours seulement dans une sous-zone, recadrez d’abord avec `Image ROI` ou `Image ROI Select` pour limiter les candidats et accélérer le traitement.
* Pour des comparaisons en lot sur plusieurs régions, utilisez `Image ROI Polygon` ou `Image ROI Polygon Multi` pour générer plusieurs zones et envoyer leurs contours dans ce bloc.

## 🛠️ Résolution des problèmes

* Si les scores de similarité sont anormalement bas, assurez-vous que les contours proviennent d’une image binaire propre (utilisez `Image Threshold` et `Blur` si nécessaire).
* Si plusieurs candidats ont des scores proches, simplifiez les contours avec `Approximate Contour` ou comparez des formes englobantes (`Minimum Rectangle`, `Minimum Ellipse`) pour réduire la sensibilité aux petites différences.
* Si la sortie visuelle ne montre pas le contour sélectionné, vérifiez qu’une image a bien été fournie à l’entrée `Image` ou connectez la sortie du bloc à `Show Image` pour l’aperçu.
