# Shape Detector

Dieser Funktionsblock ist so konzipiert, dass er verschiedene Formen innerhalb eines gegebenen Eingabebildes erkennt. Er bietet eine Methode zum Filtern von Formen basierend auf verschiedenen Parametern und liefert Konturen sowie Flächenmessungen für jede erkannte Form.

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

`Image` Dieser Eingang akzeptiert beliebige Bilddaten, in denen Formen erkannt werden müssen.

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

`Filtered Image` Ein Ausgabebild, das die Ergebnisse des Formenerkennungsprozesses zeigt, einschließlich aller erkannten Konturen.

`Contoured Image` Diese Ausgabe hebt die erkannten Formen im Eingabebild hervor und bietet visuelles Feedback.

`Border Coordinates` Die Koordinaten der umschließenden Rechtecke um die erkannten Formen, die für weitere Verarbeitungen verwendet werden können.

`Center Positions` Die Positionen der Zentren der erkannten Formen.

`Areas` Die Flächenmessungen jeder erkannten Form, die Einblicke in die Größe der Formen geben.

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

`Blur Coefficient` Ein Schieberegler, mit dem Sie die Menge an Medianunschärfe einstellen können, die auf das Eingabebild vor der Erkennung angewendet wird. Dies hilft, Rauschen zu reduzieren, das die Formenerkennung stören könnte.

`Auto Threshold` Ein Kontrollkästchen, das die automatische Berechnung der Schwellenwerte aktiviert, die für die binäre Umwandlung des Bildes verwendet werden.

`Threshold Range` Ein Bereichsschieberegler, um die Schwellenwerte für die Formenerkennung manuell festzulegen, wenn der Auto-Threshold nicht ausgewählt ist.

`Clear Spots Parameter` Ein Schieberegler zur Festlegung der Größe des morphologischen Kerns, der zum Schließen von Lücken zwischen den Konturen in den erkannten Formen verwendet wird.

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

`Shape Detection` Der Block kann verschiedene Formen basierend auf gefilterten Eingabebildern identifizieren und erkennen.

`Flexible Configuration` Benutzer können die Parameter für die Erkennung so anpassen, dass sie beispielsweise die Unschärfe, die Schwellenwerte und morphologische Merkmale variieren, was maßgeschneiderte Erkennungsergebnisse liefert.

`Visual Feedback` Konturen und Zentren der erkannten Formen werden visualisiert, um sofortiges Feedback zu den Erkennungsergebnissen zu geben.

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

1. **Connect Input**: Vernetzen Sie ein Bild, das Formen enthält, mit dem Eingangsbereich `Image` des Blocks.
2. **Set Blur Coefficient**: Passen Sie den Schieberegler `Blur Coefficient` an, um die Menge der angewendeten Unschärfe zur Rauschreduzierung zu kontrollieren.
3. **Enable Auto Threshold (if desired)**: Aktivieren Sie das Kontrollkästchen `Auto Threshold`, um die Schwellenwerte automatisch zu berechnen, oder lassen Sie es deaktiviert, um sie manuell über den Schieberegler `Threshold Range` festzulegen.
4. **Set Clear Spots Parameter**: Passen Sie den `Clear Spots Parameter` an, um die morphologische Verarbeitung des geschwächten Bildes zu verfeinern.
5. **Run the Block**: Bewerten Sie den Block, um Formen zu erkennen und gefilterte Bilder, Konturen, Koordinaten und Flächen abzurufen.

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

Wenn er ausgeführt wird, führt dieser Funktionsblock eine Formenerkennung im Eingabebild basierend auf den angegebenen Parametern durch und gibt das gefilterte Bild, konturierte Ergebnisse, Koordinaten, Zentrumpositionen und Flächen aller erkannten Formen aus.

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

<details>

<summary>Rauschreduzierung</summary>

Verwenden Sie einen höheren Unschärfewert, um Rauschen vor der Erkennung herauszufiltern, was zu saubereren Erkennungsergebnissen beiträgt.

</details>

<details>

<summary>Manuelle Schwellenwerte festlegen</summary>

Wenn der Auto-Threshold bei Ihren Bildern nicht gut funktioniert, versuchen Sie, den Schwellenbereich manuell anzupassen, um bessere Ergebnisse zu erzielen.

</details>

<details>

<summary>Verkürzung der Verarbeitungszeit</summary>

Wenn die Verarbeitungszeit ein Anliegen ist, ziehen Sie in Betracht, die Größe des Eingabebildes zu verringern oder unnötige Details wegzulassen, die zu überflüssigen Erkennungen führen könnten.

</details>

<details>

<summary>Flächenanalyse von Formen</summary>

Sie können die Ausgabe `Areas` verwenden, um Einblicke in die Größe der erkannten Formen zu erhalten, was Ihnen hilft, bedeutende Muster oder Anomalien zu identifizieren.

</details>

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

<details>

<summary>Keine Formen erkannt</summary>

Wenn keine Formen erkannt werden, versuchen Sie, die Schwellenwerteinstellungen oder den Unschärfewert anzupassen. Überprüfen Sie das Eingabebild auf ausreichenden Kontrast zwischen Formen und Hintergründen.

</details>

<details>

<summary>Ungenaue Formenerkennung</summary>

Überprüfen Sie, ob das Eingabebild zu rauschig oder verschwommen ist. Die Anpassung des `Clear Spots Parameter` kann helfen, die Erkennungsergebnisse zu verfeinern.

</details>
