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

# Draw Rectangle

Ce bloc fonction dessine un ou plusieurs rectangles sur une image d'entrée. Chaque rectangle peut être dessiné en vert ou en rouge selon une entrée optionnelle de statut. Il est utile pour visualiser les résultats de détection, mettre en évidence des zones d'intérêt ou annoter des images pour inspection et journalisation.

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

`Image Any` Image source sur laquelle les rectangles seront dessinés (obligatoire).

`Rectangle` Un rectangle ou une liste de rectangles. Chaque rectangle est défini par les points en haut à gauche et en bas à droite au format ((x0, y0), (x1, y1)) (obligatoire). Plusieurs rectangles sont pris en charge.

`Status` Booléen optionnel ou liste de booléens. `True` dessine en vert, `False` dessine en rouge. Si omis, les rectangles sont dessinés en vert par défaut. Lorsque plusieurs rectangles sont fournis, vous pouvez fournir une liste correspondante de valeurs de statut.

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

`Image Any` L'image source avec les rectangles dessinés sur une copie (l'image originale n'est pas modifiée).

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

Ce bloc fonction n'a pas de contrôles interactifs ; son comportement est entièrement piloté par les sockets d'entrée.

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

* Dessine un ou plusieurs rectangles avec un code couleur vert/rouge clair pour indiquer le statut.
* Accepte soit un seul rectangle soit une liste de rectangles.
* Accepte soit un seul statut soit une liste de statuts ; en l'absence de statut, la valeur par défaut est `True` (vert).
* Retourne une copie annotée de l'image d'entrée afin que les images en amont restent inchangées.
* Utilise une épaisseur de trait visible adaptée aux tailles d'image typiques pour l'inspection.

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

1. Fournissez une image à l'entrée `Image Any`.
2. Fournissez un rectangle ou une liste de rectangles à l'entrée `Rectangle` au format ((x0, y0), (x1, y1)).
3. Facultatif : fournissez un booléen ou une liste de booléens à l'entrée `Status` pour contrôler les couleurs des rectangles.
4. Lisez l'image annotée depuis la sortie `Image Any` et connectez-la à des visionneuses, enregistreurs ou blocs de traitement ultérieurs.

## 📊 Évaluation <a href="#evaluation" id="evaluation"></a>

Lors de l'exécution, le bloc copie l'image entrante, dessine chaque rectangle fourni en vert si `True` et en rouge si `False` (par défaut vert), puis renvoie l'image annotée. Les entrées uniques produisent une image annotée unique ; les listes de rectangles appliquent le même comportement à chaque rectangle.

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

* Pour visualiser des résultats de détection : envoyez les boîtes englobantes de `Find Object` ou `Object Detection` dans l'entrée `Rectangle` et colorez optionnellement selon une condition via `Status`.
* Pour des objets suivis, connectez les sorties du tracker `Object_Detection_Tracker` pour dessiner des rectangles persistants avec IDs et statuts.
* Pré-filtrez des régions avec `Image ROI Select` avant le dessin pour limiter les annotations à une zone découpée.
* Combinez avec `Rectangles in Rectangle` pour filtrer les détections indésirables et ne dessiner que les rectangles situés à l'intérieur d'une zone de référence.
* Utilisez `Draw Detections` ou `Draw Result On Image` si vous avez besoin d'étiquettes textuelles ou de superpositions structurées en plus des rectangles.
* Envoyez l'image annotée à `Show Image` pour une inspection rapide ou à `Image Logger` / `Image Write` pour enregistrer des images annotées à des fins d'audit et de rapport.

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

* Rectangles non visibles : vérifiez l'ordre des coordonnées et que celles-ci sont dans les limites de l'image ((x0, y0), (x1, y1)).
* Couleurs inattendues : assurez-vous que l'entrée `Status` correspond au nombre de rectangles ou fournissez un seul booléen pour l'appliquer à tous.
* Annotations qui se chevauchent et encombrent : essayez de dessiner sur une région découpée ou utilisez moins de rectangles plus grands produits par un prétraitement (par ex. `Find Object` avec filtrage par aire).
* Si vous avez besoin d'étiquettes ou de comptes en plus des rectangles, ajoutez en sortie `Write Text On Image` ou `Draw Result On Image`.
