> 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/roi-processing/image-roi-select-multi.md).

# Image ROI Select Multi

Bloc interactif pour sélectionner et éditer plusieurs Regions Of Interest (ROIs) rectangulaires sur une image. Dessinez, déplacez et redimensionnez des rectangles directement dans l'aperçu de l'image pour obtenir des images recadrées et des coordonnées de rectangles en pixels destinées au traitement en aval.

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

`Image` Connectez une image en couleur ou en niveaux de gris qui servira de source pour la sélection des ROIs.

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

`Images` Images recadrées pour chaque ROI (liste).\
`Rectangles` Rectangles en pixels pour chaque ROI (liste).\
`Selected Image` Recadrage pour le ROI actuellement sélectionné (image unique ou None).\
`Selected Rectangle` Rectangle en pixels du ROI sélectionné (rectangle unique ou None).

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

* Draw : cliquer-glisser sur une zone vide de l'image pour créer un nouveau ROI.
* Move : cliquer-glisser à l'intérieur d'un rectangle pour le déplacer.
* Resize : cliquer-glisser les bords ou coins du rectangle pour redimensionner.
* `Ctrl` Maintenir pendant le glissement pour forcer la création d'un nouveau rectangle (même au-dessus d'un ROI existant).
* `C` Appuyer pour effacer tous les ROIs.
* `U` Appuyer pour annuler le dernier ROI créé.
* `Delete` / `Backspace` Appuyer pour supprimer le ROI sélectionné.
* `Escape` Appuyer pour annuler la sélection/le glissement.

L'aperçu affiche des superpositions et des poignées pour indiquer les états de survol, de sélection et d'aperçu.

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

* Édition multi-ROI : créez plusieurs ROIs rectangulaires dans une même session d'image.
* Aperçu en direct : superposition interactive et mises à jour de l'aperçu pendant l'édition.
* Sorties précises au pixel : `Rectangles` et `Selected Rectangle` sont fournis en coordonnées de pixels relatives à l'image source.
* UI réactive : l'aperçu se redimensionne pour s'adapter à la zone du bloc en conservant des superpositions cohérentes.
* Sérialisation : les ROIs et la sélection sont préservés lors de l'enregistrement/du chargement d'un scénario.

## 📊 Fonctionnement <a href="#evaluation" id="evaluation"></a>

* Lorsqu'une image arrive sur l'entrée `Image`, le bloc la stocke comme source courante et met à jour l'aperçu.
* Le bloc convertit les définitions de ROI courantes en rectangles en pixels en utilisant la taille de l'image source et produit les sorties : `Images` (recadrages par ROI), `Rectangles` (coordonnées en pixels), `Selected Image` et `Selected Rectangle`.
* Si aucune image n'est connectée, le bloc renvoie des listes vides et des valeurs None (pas de recadrages).

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

1. Connectez un bloc producteur d'images à l'entrée `Image` (caméra, loader, stream).
2. Cliquez-glissez sur l'aperçu de l'image pour créer des ROIs. Utilisez les bords/coins pour ajuster la taille.
3. Cliquez à l'intérieur d'un rectangle pour le sélectionner ; le recadrage sélectionné est disponible via `Selected Image`.
4. Utilisez les raccourcis clavier (`C`, `U`, `Delete`/`Backspace`, `Escape`) et maintenez `Ctrl` pour modifier le comportement de création.
5. Utilisez les sorties dans des blocs en aval pour analyser ou sauvegarder les recadrages.

## 💡 Conseils et astuces <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Inspection rapide : connectez la sortie `Selected Image` au bloc Show Image pour prévisualiser le recadrage sélectionné dans un visualiseur plus grand.
* Traitement par lot : envoyez la sortie `Images` vers Collage Images pour créer une vue combinée de tous les recadrages, ou vers Image Logger / Image Write pour sauvegarder automatiquement les recadrages.
* Analyse focalisée : utilisez la sortie `Rectangles` comme entrée pour Get ROI lorsque vous souhaitez appliquer la même liste de rectangles à d'autres images (par exemple séries temporelles ou frames différentes).
* Combinaison avec des détecteurs : créez des ROIs pour localiser les zones d'intérêt, puis envoyez les images recadrées (`Images`) vers des blocs tels que Find Object, Feature Detector, Blob Detector ou OCR pour effectuer des détections/reconnaissances ciblées sur chaque recadrage.
* Visualisation : dessinez les `Rectangles` renvoyés sur l'image source à l'aide de Draw Rectangle ou Draw Detections pour visualiser les résultats avec d'autres annotations.
* Prétraitement : avant la sélection manuelle des ROIs, vous pouvez préparer l'image source avec Blur, Image Threshold ou HSV Filter pour rendre les structures plus faciles à voir et à sélectionner.
* Utilisation dans des boucles de pipeline : passez les recadrages ROI vers des blocs Analysis ou AI (par exemple Object Detection ou Background Removal) pour créer des flux de traitement efficaces par région.

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

* Pas d'aperçu ou contrôles désactivés : assurez-vous qu'une image valide est connectée à l'entrée `Image`.
* ROIs mal exportés : vérifiez que l'image source a des dimensions correctes ; le bloc fournit des rectangles en pixels relatifs à la taille de l'image d'entrée.
* Comportement de sélection inattendu : maintenez `Ctrl` pendant le glissement pour forcer la création d'un nouveau ROI au lieu de modifier un ROI existant.
* Trop ou pas assez de ROIs dans les étapes en aval : vérifiez que vous utilisez la bonne sortie (`Images` vs `Selected Image`) et que les blocs en aval acceptent des entrées de type liste lorsque vous envoyez plusieurs recadrages.
