> 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/minimum-ellipse.md).

# Minimum Ellipse

Ce bloc de fonction calcule et trace l'ellipse minimale englobant une forme fournie (contour). Il renvoie un résultat visuel et des paramètres numériques de la forme, utiles pour la mesure, l'alignement ou un traitement ultérieur.

## 📥 Entrées (sockets) <a href="#inputs" id="inputs"></a>

`Image Any` L'image sur laquelle l'ellipse sera dessinée (socket d'entrée). Fournissez une copie de l'image pour préserver la sortie visuelle.

`Contour` Le contour (forme) à englober par l'ellipse minimale (socket d'entrée).

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

`Image` L'image avec l'ellipse ajustée dessinée pour inspection visuelle (socket de sortie).

`Center` La position du centre de l'ellipse ajustée, sous forme de point (socket de sortie).

`Radius1` Un rayon de l'ellipse (socket de sortie).

`Radius2` L'autre rayon de l'ellipse (socket de sortie).

`Angle` L'angle de rotation de l'ellipse en degrés (socket de sortie).

## 🕹️ Contrôles <a href="#controls" id="controls"></a>

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

## 🎯 Fonctionnalités <a href="#features" id="features"></a>

* Produit une superposition visuelle montrant l'ellipse ajustée sur l'image d'entrée pour une vérification facile.
* Rend des paramètres géométriques (center, two radii, angle) utiles pour les mesures, le tri ou la logique en aval.
* Fonctionne avec tout contour valide extrait d'une étape de traitement précédente.

## 📝 Comment l'utiliser <a href="#usage" id="usage"></a>

1. Fournissez une image dans `Image Any`.
2. Fournissez le contour à analyser dans `Contour`. Les contours typiques proviennent de blocs de recherche de contours.
3. Lisez le résultat visuel depuis `Image` et les valeurs numériques depuis `Center`, `Radius1`, `Radius2` et `Angle` pour un traitement ultérieur.

## ⚙️ Ce qu'il fait à l'exécution <a href="#evaluation" id="evaluation"></a>

Le bloc ajuste une ellipse qui englobe minimalement le contour fourni, dessine l'ellipse sur une copie de l'image d'entrée et renvoie l'image ainsi que les paramètres numériques de l'ellipse.

## 💡 Astuces <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Si vous avez besoin de contours à partir d'une image, utilisez d'abord `Find Contour` ou `Find Object` pour produire une entrée `Contour` adaptée.
* Utilisez `Approximate Contour` pour simplifier des contours complexes avant d'ajuster une ellipse — cela donne souvent des paramètres plus propres et plus stables.
* Appliquez `Image Threshold`, `Image Adaptive Threshold` ou `Blur` en prétraitement pour améliorer l'extraction des contours sur des images bruyantes.
* Utilisez `Fill Contour` pour générer des formes pleines à partir de contours basés sur les bords lorsque cela aide le traitement suivant.
* Comparez les formes avec `Minimum Circle` ou `Minimum Rotated Rectangle` si vous souhaitez des alternatives géométriques plus simples.
* Visualisez les résultats avec `Show Image` ou enregistrez-les avec `Image Write` / `Image Logger` pour les archives ou rapports.
* Combinez avec `Measure Position Distance` si vous avez besoin de distances entre centres d'ellipse ou autres points de référence.

## 🛠️ Dépannage <a href="#troubleshooting" id="troubleshooting"></a>

* Si l'ellipse paraît incorrecte, assurez-vous que le `Contour` fourni est valide (fermé et avec suffisamment de points). Essayez de simplifier le contour avec `Approximate Contour`.
* Si aucun contour n'est produit en amont, vérifiez que des étapes de prétraitement comme le seuillage ou le flou sont appliquées afin que les blocs de recherche de contours puissent détecter des formes.
* Si les rayons ou l'angle renvoyés semblent instables entre les images, appliquez un lissage ou utilisez des blocs mémoire pour stabiliser les mesures dans le temps.
