# Grab Cut Algorithm

Dieser Funktionsblock nutzt den Grab Cut-Algorithmus, um Objekte vom Hintergrund eines Bildes zu trennen. Er bietet zwei Modi zur Definition des interessierenden Bereichs (ROI), die verwendet werden können: über ein rechteckiges Gebiet oder eine vordefinierte Maske.

## 📥 Eingänge <a href="#inputs" id="inputs"></a>

`Image Any` Das Eingangsbild, das das Objekt enthält, das Sie vom Hintergrund trennen möchten.

`ROI` Der interessierende Bereich, der als Rechteck definiert ist und vom Algorithmus verwendet wird, um zu bestimmen, wo sich das Objekt befindet.

`Mask` Ein binäres Maskenbild, das verwendet werden kann, um bekannte Hintergrund- und Vordergrundbereiche anzuzeigen, falls verfügbar.

## 📤 Ausgänge <a href="#outputs" id="outputs"></a>

`Image Any` Das Ausgabebild mit entferntem Hintergrund, das nur die ausgewählten Objekte sichtbar lässt.

## 🕹️ Steuerungen <a href="#controls" id="controls"></a>

`Iterations` Ein Schieberegler, um die Anzahl der Iterationen anzugeben, die der Grab Cut-Algorithmus zur Verfeinerung der Segmentierungsergebnisse ausführen soll. Die Anpassung wirkt sich auf die Verarbeitungszeit und die Genauigkeit der Objekterkennung aus.

## 🎨 Funktionen <a href="#features" id="features"></a>

`Two Modes of Operation` Sie können Objekte entweder mit einer rechteckigen ROI oder einer vordefinierten Maske segmentieren, was je nach Bedarf Flexibilität ermöglicht.

`Dynamic Iteration Adjustment` Die Anzahl der Iterationen kann angepasst werden, um ein Gleichgewicht zwischen Verarbeitungszeit und Segmentierungsgenauigkeit zu erreichen.

## 📝 Nutzungshinweise <a href="#usage" id="usage"></a>

1. **Input Image**: Verbinden Sie das Bild, das Sie verarbeiten möchten, mit dem Eingangsbereich `Image Any`.
2. **Define ROI**: Geben Sie die rechteckige ROI in den Eingangsbereich `ROI` an, wenn Sie die Rechteckmethode verwenden.
3. **Provide Mask**: Wenn Sie eine Maske verwenden, geben Sie ein binäres Maskenbild in den Eingangsbereich `Mask` an.
4. **Set Iterations**: Verwenden Sie den Schieberegler, um die Anzahl der Iterationen festzulegen, die der Algorithmus durchführen soll.
5. **Evaluate**: Führen Sie den Block aus, um den Grab Cut-Algorithmus auszuführen und das segmentierte Bild auszugeben.

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

Bei der Ausführung führt dieser Funktionsblock den Grab Cut-Algorithmus basierend auf den bereitgestellten Eingaben aus und gibt das modifizierte Bild mit entferntem Hintergrund aus.

## 💡 Tipps und Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

<details>

<summary>Verwendung von Masken</summary>

Wenn Sie einen bestimmten Bereich segmentieren möchten, der nicht rechteckig ist, ziehen Sie in Betracht, eine Maske zu verwenden. Dies ermöglicht es Ihnen, komplexe Formen zu definieren, ohne sich strikt auf ein definiertes Rechteck zu verlassen.

</details>

<details>

<summary>Iterationen anpassen</summary>

Das Testen mit einer höheren Anzahl an Iterationen kann in komplexen Bildern zu besseren Ergebnissen für eine genauere Segmentierung führen. Beginnen Sie mit einem niedrigen Wert und passen Sie ihn je nach Ausgabequalität an.

</details>

<details>

<summary>Überprüfen der Bildkompatibilität</summary>

Stellen Sie immer sicher, dass das Eingangsbild und die Maske (sofern verwendet) die gleichen Abmessungen haben. Wenn dies nicht der Fall ist, kann der Algorithmus sie nicht korrekt verarbeiten und markiert die Ausgabe als ungültig.

</details>

## 🛠️ Fehlersuche <a href="#troubleshooting" id="troubleshooting"></a>

<details>

<summary>Ungültige Ausgabe aufgrund von Dimensionsunterschieden</summary>

Wenn Sie auf ein Problem mit nicht übereinstimmenden Dimensionen stoßen, überprüfen Sie die Größen des Eingangsbildes und der Maske. Beide sollten gleich sein, damit der Algorithmus korrekt funktioniert.

</details>

<details>

<summary>Objekt wird nicht korrekt segmentiert</summary>

Für bessere Ergebnisse experimentieren Sie mit den ROI-Dimensionen oder der Maske, die Sie angeben. Stellen Sie sicher, dass die Maske den Vordergrund- und Hintergrundbereich richtig abgrenzt.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/german/function-blocks/image-transformations/transformation-filters/grab-cut-algorithm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
