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

# Image ROI

Ce bloc fonction permet de recadrer (crop) une région d’intérêt à partir d’une image d’entrée en utilisant des curseurs de plage horizontaux. Ajustez les curseurs `Width` et `Height` pour définir un recadrage rectangulaire ; le bloc fournit en sortie l’image recadrée et les coordonnées du rectangle pour un traitement ultérieur.

## 📥 Entrées

`Image Any`\
Fournissez l’image source à recadrer.

## 📤 Sorties

`Image Any`\
Image recadrée correspondant au rectangle sélectionné.

`Rectangle`\
Coordonnées de la ROI sélectionnée sous forme d’un rectangle.

## 🕹️ Contrôles

`Width`\
Curseur de plage horizontal pour définir les limites gauche/droite du recadrage (min et max).

`Height`\
Curseur de plage vertical pour définir les limites haut/bas du recadrage (min et max).

`Input Image Size (H, W)`\
Étiquette informative qui affiche les dimensions de l’image d’entrée et met automatiquement à jour les plages des curseurs.

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

Lorsqu’un bloc reçoit une image d’entrée, il lit ses dimensions et met à jour les plages des curseurs `Width` et `Height` pour correspondre à la taille de l’image. Les curseurs fournissent des valeurs entières min/max qui définissent le rectangle de recadrage. À l’évaluation, le bloc renvoie l’image recadrée ainsi qu’un shape rectangle représentant la ROI.

## 🎯 Fonctionnalités

* Plages de curseurs dynamiques qui s’adaptent automatiquement à la taille de l’image connectée.
* Renvoie à la fois l’image recadrée et les coordonnées du rectangle pour une utilisation en aval.
* Préserve la disposition des canaux d’image (couleur ou niveaux de gris) dans le résultat recadré.
* Se souvient et restaure la taille de l’image d’entrée lors de l’enregistrement/chargement des scénarios (prise en charge de la sérialisation).

## 📝 Instructions d’utilisation

1. Branchez un bloc produisant une image sur l’entrée `Image Any`.
2. Vérifiez l’étiquette `Input Image Size (H, W)` pour confirmer les dimensions.
3. Ajustez le curseur `Width` (min/max) pour définir les limites horizontales du recadrage.
4. Ajustez le curseur `Height` (min/max) pour définir les limites verticales du recadrage.
5. Utilisez les sorties selon vos besoins : envoyez l’image recadrée vers des blocs d’analyse ou utilisez les coordonnées du rectangle pour la visualisation.

## 💡 Astuces

* Pour inspecter visuellement la ROI pendant le réglage des curseurs, envoyez la sortie `Image Any` vers un bloc `Show Image`.
* Si l’image d’entrée est très grande, placez un bloc `Image Resizer` avant ce bloc pour accélérer les ajustements interactifs des curseurs.
* Si vous préférez sélectionner la zone de recadrage à la souris plutôt qu’avec des curseurs, utilisez `Image ROI Select` ou `Image ROI Select Multi`, puis injectez le rectangle obtenu dans ce bloc ou utilisez ses sorties en aval.
* Pour des détections plus ciblées dans la zone recadrée, alimentez l’image recadrée vers des bloqueurs détecteurs tels que `Find Object`, `Object Detection`, ou `Blob Detector` afin de réduire les faux positifs et d’accélérer le traitement.
* Pour sauvegarder des exemples de la ROI ou les consigner, connectez la sortie image recadrée à `Image Logger` ou `Image Write`.
* Pour marquer la ROI sur l’image originale pour la visualisation, utilisez la sortie `Rectangle` avec `Draw Rectangle` puis prévisualisez avec `Show Image`.
* Combinez avec `Histogram On Line` ou `Histogram On Curve` pour des analyses de profil limitées à la zone recadrée.
* Utilisez les coordonnées du rectangle avec des blocs conscience de la ROI comme `Get ROI` ou `Check Area` pour créer une logique en aval basée sur la position d’objets à l’intérieur de la région sélectionnée.

## 🛠️ Dépannage

* Si les curseurs ne couvrent pas toute l’étendue de l’image, confirmez qu’une image est bien connectée et visible dans l’étiquette `Input Image Size (H, W)` — les curseurs ne se mettent à jour qu’après réception de l’image.
* Si la sortie recadrée est vide ou noire, assurez-vous que les valeurs min/max des curseurs définissent une aire non nulle et qu’elles sont à l’intérieur des limites de l’image.
* Si les blocs en aval attendent un format de canal spécifique (niveau de gris vs RGB), utilisez une conversion de couleur ou un bloc de prétraitement tel que `Image Resizer` avant ou après le recadrage pour correspondre au format attendu.
