> 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/german/funktionsblocke/blocks-reference/detections-shapes/roi-processing/image-roi-polygon-multi.md).

# Image ROI Polygon Multi

Dieser Funktionsblock erlaubt es, mehrere polygonale Regions of Interest (ROIs) direkt auf einem Bild zu zeichnen, zu bearbeiten und zu speichern. Verwende ihn, um beliebige Formen zu markieren, maskierte Ausschnitte zu extrahieren und Polygon-Koordinaten für weitere Verarbeitung zu exportieren – alles mit einfachen Maus- und Tastaturinteraktionen.

## 📥 Eingänge

`Image Any`\
Gib das Bild an, das du annotieren möchtest. Sobald ein Bild verbunden ist und der Block ausgeführt wird, dient dieses Bild als Zeichenfläche für die Polygone.

## 📤 Ausgänge

`Highlighted Image`\
Gibt das Originalbild mit überlagernden Polygonen (gespeichert und aktuell) und visuellen Markern zurück.

`Polygon Images`\
Gibt eine Liste von zugeschnittenen, maskierten Bildern zurück — eines pro gespeichertem Polygon — wobei die Originalpixel innerhalb jedes Polygons erhalten bleiben.

`Polygons`\
Gibt eine Liste von Polygonformen als Koordinatenlisten (Konturen) zurück, die von anderen Funktionsblöcken verwendet werden können.

## 🕹️ Steuerungen

`Draw Polygon Canvas`\
Interaktiver Bildbereich, in dem du Polygone mit linken Mausklicks zeichnest.

`Press C`\
Löscht das aktuelle Polygon (oder entfernt das zuletzt gespeicherte Polygon, falls kein aktuelles Polygon vorhanden ist).

`Press U`\
Macht den letzten Punkt des aktuellen Polygons rückgängig. Wenn kein aktuelles Polygon existiert, wird das zuletzt gespeicherte Polygon wieder zur Bearbeitung geöffnet.

`Press S`\
Speichert das aktuelle Polygon (erfordert mindestens 3 Punkte). Gespeicherte Polygone werden Teil der Ausgaben.

Mausinteraktionen: Linksklick zum Hinzufügen eines Punkts; Klicken und Ziehen eines Vertex zum Verschieben; Überfahren von Vertexen hebt diese hervor und ermöglicht die Bearbeitung. Das Cursor-Symbol ändert sich, um den Erstellungs- oder Vertex-Bearbeitungsmodus anzuzeigen.

## 🎨 Funktionen

* Persistente Multi-Polygon-Bearbeitung: Erstelle mehrere Polygone und wechsle zwischen aktuellem und gespeicherten Polygonen.
* Visuelle Overlays: Unterschiedliche Farben kennzeichnen gespeicherte Polygone, das gerade bearbeitete Polygon, hervorgehobene Vertexe und aktive Punkte.
* Exportierbare ROI-Ausschnitte: Gibt maskierte und zugeschnittene Bilder für jedes gespeicherte Polygon zurück, passend für weitere Verarbeitung.
* Koordinatenexport: Liefert die Polygon-Eckkoordinaten als Standard-Konturlisten für die Weiterverwendung.
* Einfache Tastaturbedienung für schnelles Bearbeiten (C, U, S) und intuitive, mausgetriebene Zeichenfunktionen.

## ⚙️ Ablauf / Wie es läuft

* Wird ein Bild an den Eingang gelegt und der Block ausgeführt, erscheint das Bild in der interaktiven Zeichenfläche.
* Zeichne Punkte auf der Fläche, um ein Polygon zu formen. Die visuellen Overlays werden in Echtzeit aktualisiert.
* Durch das Speichern eines Polygons (`Press S`) wird es zur internen Liste hinzugefügt; der Block liefert bei jeder Ausführung aktualisierte Ausgaben: das annotierte Bild, eine Liste maskierter/zugeschnittener Polygonbilder sowie die Polygonkoordinaten.
* Das Bearbeiten und Verschieben von Vertexen wirkt sich bei der nächsten Ausführung auf die Ausgaben aus.

## 📝 Nutzungshinweise

1. Verbinde eine Bildquelle mit dem Eingang `Image Any` (zum Beispiel: `Camera USB`, `Load Image` oder `Stream Reader`).
2. Klicke auf die Zeichenfläche, um Polygon-Eckpunkte hinzuzufügen. Mindestens drei Punkte sind erforderlich, um ein Polygon zu bilden.
3. Verwende `Press S`, um das aktuelle Polygon zu speichern. Gespeicherte Polygone werden in den Ausgaben berücksichtigt.
4. Um einen Punkt zu korrigieren, fahre mit der Maus über den Vertex, bis er hervorgehoben wird, und ziehe ihn an die neue Position.
5. Verwende `Press U`, um den letzten Punkt rückgängig zu machen, oder `Press C`, um das aktuelle Polygon zu löschen.
6. Führe den Block aus, um die Ausgänge `Highlighted Image`, `Polygon Images` und `Polygons` zu erhalten und diese in andere Blöcke zu speisen.

## 💡 Tipps und Tricks

* Wähle vorab Bereiche mit `Image ROI Select` oder `Image ROI`, wenn du dich nur auf einen Teilbereich konzentrieren möchtest, bevor du Polygone zeichnest.
* Verwende `Apply Mask` nach diesem Block, um Polygonmasken mit anderer Maskierungslogik zu kombinieren (z. B. zum Entfernen des Hintergrunds oder zum Kombinieren mehrerer Masken).
* Speise `Polygon Images` in Erkennungs- oder Analyseblöcke wie `Find Object`, `Object Detection` oder `Mask Detection`, um Erkennung nur innerhalb ausgewählter Regionen durchzuführen.
* Speichere Beispiele der zugeschnittenen ROIs mit `Image Logger` oder `Image Write`, um ein Referenzdatensatz aus ausgewählten Polygonen aufzubauen.
* Wenn du mehrere gespeicherte Polygon-Overlays nebeneinander darstellen möchtest, verwende `Image Concatenate` oder `Collage Images` mit dem `Polygon Images`-Output.
* Für Vorverarbeitung vor dem Zeichnen (z. B. um eine binäre Maske zu erzeugen, der du folgen möchtest), setze `Blur`, `Image Threshold` oder `HSV Filter` stromaufwärts ein, um Konturen leichter nachvollziehbar zu machen.

## 🛠️ Fehlersuche

* Beim Klicken in die Zeichenfläche passiert nichts: Stelle sicher, dass ein Bild an `Image Any` angeschlossen ist und führe den Block einmal aus, damit die Zeichenfläche initialisiert wird.
* Polygon kann nicht gespeichert werden: Prüfe, ob dein aktuelles Polygon mindestens drei Punkte hat, bevor du `Press S` drückst.
* Polygon-Ausgaben sind leer: Vergewissere dich, dass Polygone tatsächlich gespeichert wurden (`Press S`) und nicht nur als aktuelles Polygon vorhanden sind; nicht gespeicherte Polygone werden nicht in `Polygon Images` oder `Polygons` aufgenommen.
* Zuschnitt des Polygons erscheint leer: Stelle sicher, dass das Polygon innerhalb der Bildgrenzen liegt und das Bild gültige Pixel enthält. Wenn nötig, führe Vorverarbeitungsschritte wie `Normalize Image` oder `Denoising` vor dem Zeichnen durch.
