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

# Draw Rectangle

Dieser Funktionsblock zeichnet ein oder mehrere Rechtecke auf ein Eingangsbild. Jedes Rechteck kann je nach optionalem Status-Eingang grün oder rot gezeichnet werden. Nützlich zur Visualisierung von Erkennungsergebnissen, Hervorhebung von Interessensbereichen oder zur Annotation von Bildern für Inspektion und Protokollierung.

## 📥 Eingänge

* `Image Any`\
  Quellbild, auf dem die Rechtecke gezeichnet werden (erforderlich).
* `Rectangle`\
  Ein Rechteck oder eine Liste von Rechtecken. Jedes Rechteck ist definiert durch die obere linke und untere rechte Ecke im Format ((x0, y0), (x1, y1)) (erforderlich). Mehrere Rechtecke werden unterstützt.
* `Status`\
  Optionales Boolean oder Liste von Booleans. `True` zeichnet grün, `False` zeichnet rot. Wird kein Status angegeben, werden Rechtecke standardmäßig grün gezeichnet. Bei mehreren Rechtecken kann eine passende Liste von Statuswerten übergeben werden.

## 📤 Ausgänge

* `Image Any`\
  Eine Kopie des Eingangsbildes mit aufgemalten Rechtecken (das Originalbild bleibt unverändert).

## 🕹️ Steuerungen

Dieser Funktionsblock besitzt keine interaktiven Widgets; das Verhalten wird vollständig über die Eingangs-Sockets gesteuert.

## 🎨 Funktionen

* Zeichnet ein einzelnes oder mehrere Rechtecke mit klarer Farb-Codierung (grün/rot) für den Status.
* Akzeptiert entweder ein einzelnes Rechteck oder eine Liste von Rechtecken.
* Akzeptiert entweder einen einzelnen Status oder eine Liste von Statuswerten; fehlt der Status, ist der Standardwert `True` (grün).
* Gibt eine annotierte Kopie des Eingangsbildes zurück, sodass upstream Bilder unverändert bleiben.
* Verwendet eine gut sichtbare Linienstärke, geeignet für typische Bildgrößen bei Inspektionen.

## 📝 Nutzungshinweise

1. Gib ein Bild an den Eingang `Image Any`.
2. Gib ein Rechteck oder eine Liste von Rechtecken im Format ((x0, y0), (x1, y1)) an den Eingang `Rectangle`.
3. Optional: Gib ein Boolean oder eine Liste von Booleans an den Eingang `Status`, um die Farben zu steuern.
4. Lies das annotierte Bild vom Ausgang `Image Any` und verbinde es mit Viewern, Loggern oder weiteren Verarbeitungsblöcken.

## 📊 Bewertung

Beim Ausführen kopiert der Block das eingehende Bild, zeichnet jedes angegebene Rechteck — grün bei `True`, rot bei `False` (Standard: grün) — und gibt das annotierte Bild zurück. Einzelne Eingaben erzeugen ein einzelnes annotiertes Bild; bei Listenverarbeitungen werden die Rechtecke jeweils entsprechend gezeichnet.

## 💡 Tipps und Tricks

* Zur Visualisierung von Erkennungsergebnissen: Verbinde Bounding-Box-Ausgaben von `Find Object` oder `Object Detection` mit dem Eingang `Rectangle` und färbe optional über `Status`.
* Für getrackte Objekte: Verbinde Tracker-Ausgaben von `Object_Detection_Tracker`, um persistente Rechtecke mit IDs und Status anzuzeigen.
* Vorfilter: Verwende `Image ROI Select`, um Zeichnungen auf einen bestimmten Bildausschnitt zu beschränken.
* Filtere unerwünschte Erkennungen mit `Rectangles in Rectangle`, bevor du zeichnest.
* Wenn du Textbeschriftungen oder strukturierte Overlays brauchst, kombiniere mit `Draw Detections`, `Draw Result On Image` oder `Write Text On Image`.
* Schicke das annotierte Bild an `Show Image` zur schnellen Ansicht oder an `Image Logger` / `Image Write`, um annotierte Frames zu speichern.

## 🛠️ Fehlersuche

* Rechtecke nicht sichtbar: Prüfe die Reihenfolge der Koordinaten und ob die Koordinaten innerhalb der Bildgrenzen liegen ((x0, y0), (x1, y1)).
* Unerwartete Farben: Stelle sicher, dass der `Status`-Eingang zur Anzahl der Rechtecke passt oder übergib ein einzelnes Boolean, um die Farbe für alle Rechtecke einheitlich zu setzen.
* Überlappende Annotationen wirken unübersichtlich: Zeichne auf einen beschnittenen Bereich oder verwende weniger/länger anhaltende Rechtecke, z. B. durch Vorverarbeitung wie `Find Object` mit Flächenfilterung.
* Du benötigst Labels oder Zählwerte zusammen mit Rechtecken: Füge downstream `Write Text On Image` oder `Draw Result On Image` hinzu.
