> 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/transformation-filters/mean-shift-filtering.md).

# Mean Shift Filtering

Ce bloc de fonction applique le filtrage mean shift aux images RGB pour lisser les régions de couleur tout en préservant les contours. Il est utile pour la réduction du bruit, la segmentation de couleur et la préparation des images pour l'analyse de contours ou de blobs.

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

`ImageRGB` Image RGB d'entrée à traiter.

(ici la prise est une prise d'entrée)

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

`ImageRGB` Image RGB filtrée (même type que l'entrée).

(ici la prise est une prise de sortie)

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

`Spatial Radius` Curseur qui contrôle le voisinage spatial utilisé pour le filtrage (plus petit = les détails fins sont mieux préservés).\
Plage : 1 — 3

`Color Window Radius` Curseur qui contrôle la fenêtre de similarité des couleurs (plus grand = lissage des couleurs plus fort).\
Plage : 20 — 100

`Maximum Level Radius` Curseur qui ajuste le nombre de niveaux pyramide utilisés en interne (plus élevé = lissage plus agressif, mais plus lent).\
Plage : 1 — 5

## ⚙️ Mode d'exécution <a href="#how-it-runs" id="how-it-runs"></a>

Lorsque ce bloc reçoit une image via l'entrée `ImageRGB`, il applique le filtrage mean shift en utilisant les valeurs des trois curseurs et renvoie l'image traitée via la sortie `ImageRGB`. Les modifications de n'importe quel curseur sont prises en compte lors de l'évaluation suivante, vous permettant d'ajuster les paramètres de manière interactive tout en prévisualisant les résultats.

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

* Lisse les régions de couleur tout en gardant nets les contours des objets.
* Réduit le bruit et les petits détails de texture, facilitant la segmentation et la détection de formes.
* Réglage des paramètres en temps réel via des curseurs pour des expérimentations rapides.

## 📝 Recommandations d'utilisation <a href="#usage" id="usage"></a>

1. Alimentez une image RGB dans l'entrée `ImageRGB`.
2. Ajustez `Spatial Radius` pour contrôler l'intensité du lissage spatial local.
3. Augmentez `Color Window Radius` pour fusionner des couleurs similaires en régions plus homogènes.
4. Utilisez `Maximum Level Radius` avec parcimonie — des valeurs plus élevées augmentent le temps de traitement.
5. Inspectez le résultat depuis la sortie `ImageRGB` dans un bloc de prévisualisation ou le visualiseur d'images.

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

* Si votre image source est très grande et que le traitement est lent, ajoutez `Image Resizer` avant ce bloc pour réduire les dimensions et accélérer le traitement.
* Pour des entrées bruyantes, envisagez un léger `Blur` avant le mean shift pour supprimer le bruit du capteur sans perdre les contours importants.
* Après mean shift, utilisez `Find Contour` ou `Blob Detector` pour extraire des formes d'objets propres à partir des régions lissées.
* Pour cibler une zone spécifique, recadrez d'abord avec `Image ROI Select` et alimentez l'image recadrée dans ce bloc.
* Utilisez `HSV Filter` ou `Color Quantizer and Clustering` après le mean shift pour affiner la segmentation basée sur la couleur.
* Prévisualisez les résultats avec `Show Image` et enregistrez les images intéressantes avec `Image Logger` ou `Image Write`.

(les suggestions ci‑dessus font référence à d'autres blocs de fonction disponibles dans le système)

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

* Performance lente : réduisez `Color Window Radius` ou `Maximum Level Radius`, ou diminuez la taille de l'image avec `Image Resizer`.
* Détails trop lissés : réduisez `Color Window Radius` et/ou `Spatial Radius` pour préserver les caractéristiques fines.
* Segmentation inégale dûe aux variations d'éclairage : essayez de combiner avec `HSV Filter` ou ajustez l'éclairage (paramètres de capture) avant le traitement.
* Couleurs ou artefacts inattendus : visualisez les étapes intermédiaires avec `Show Image` pour vérifier les entrées et envisagez d'utiliser `Blur` ou des méthodes de débruitage en amont.
