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

# FloodFill

Cette fonction remplit des régions fermées d'une image à partir d'un point de départ (seed), en se basant sur la similarité des couleurs. Elle fonctionne avec des images en niveaux de gris ou en couleur et propose un curseur simple pour régler la tolérance du remplissage.

## 📥 Inputs (sockets)

`Input Image`\
L'image source sur laquelle appliquer le remplissage (niveaux de gris ou couleur).

`Seed Point (X,Y)` (optionnel)\
Coordonnée de départ pour le remplissage. Si non fournie, le bloc utilise le centre de l'image.

`Fill Color (R,G,B)` (optionnel)\
Couleur utilisée pour remplir la région sélectionnée. Si laissé vide, une couleur verte par défaut est utilisée.

## 📤 Outputs (sockets)

`Image`\
L'image résultante avec la zone remplie appliquée.

## 🕹️ Contrôles (widgets)

`Fill Range`\
Curseur horizontal pour définir la tolérance inférieure et supérieure des différences de couleur. Augmenter la plage permet d'accepter des variations de couleur plus larges autour du seed ; la diminuer limite le remplissage aux pixels très similaires au seed.

## 🎯 Fonctionnalités

* Fonctionne avec des images en niveaux de gris et en couleur — les images en niveaux de gris sont gérées automatiquement.
* `Seed Point` et `Fill Color` sont optionnels : utilisable de manière interactive ou dans des pipelines entièrement automatisés.
* La sortie visuelle superpose la région remplie sur l'image originale pour une inspection immédiate.
* Un seul curseur simple pour affiner la vitesse de propagation de la région.

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

Quand le bloc s'exécute :

* Il utilise le `Seed Point` fourni pour démarrer le remplissage ; en l'absence de seed, le centre de l'image est utilisé.
* Il utilise les valeurs de `Fill Range` pour décider quels pixels voisins sont suffisamment similaires pour être inclus dans le remplissage.
* Il applique la `Fill Color` choisie (ou la couleur par défaut) à la région sélectionnée et sort l'image modifiée.

## 📝 Utilisation

1. Connectez votre image à `Input Image`.
2. Facultatif : fournissez un `Seed Point (X,Y)` pour cibler une région spécifique ; sinon laissez le centre par défaut.
3. Facultatif : fournissez `Fill Color (R,G,B)` pour choisir la couleur de remplissage, ou laissez vide pour la valeur par défaut.
4. Ajustez `Fill Range` jusqu'à ce que la région remplie corresponde à vos attentes.
5. Inspectez le résultat à partir de la sortie `Image`.

## 💡 Astuces et conseils

* Utilisez `Blur` avant ce bloc pour lisser le bruit afin que de petites variations n'interrompent pas la croissance du remplissage.
* Utilisez `Image Threshold` ou `HSV Filter` pour isoler d'abord la région cible — cela peut rendre le remplissage plus fiable sur des arrière-plans bruyants ou multicolores.
* Recadrez vers une région d'intérêt avec `Image ROI Select` ou `Image ROI` avant le remplissage pour limiter les opérations et accélérer le traitement.
* Après le remplissage, prévisualisez avec `Show Image` et enregistrez avec `Image Write` ou `Image Logger` si nécessaire.
* Si le remplissage s'étend trop loin, réduisez la tolérance avec `Fill Range`. S'il n'atteint pas la région complète, augmentez la tolérance.
* Pour des cibles colorées, essayez de convertir ou d'isoler les couleurs avec `HSV Filter` puis donnez le résultat à ce bloc pour un remplissage plus cohérent.

## 🛠️ Résolution des problèmes

* Pas de changement visible : vérifiez la position du seed et assurez-vous que la région cible est dans les limites de l'image ; prévisualisez l'entrée avec `Show Image`.
* Le remplissage déborde vers des zones indésirables : réduisez la tolérance `Fill Range` ou prétraitez avec `Image Threshold` / `Blur` pour diminuer les couleurs similaires en dehors de la zone voulue.
* Couleur inattendue : vérifiez les valeurs de `Fill Color (R,G,B)` et testez la couleur sur une image d'exemple avant d'exécuter tout le pipeline.
