> 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/detectors/data-matrix-reader2.md).

# Data Matrix Reader2

Dieser Funktionsblock dekodiert Data-Matrix-Codes aus einem Bild und gibt die decodierten Textwerte zurück. Er eignet sich zum Lesen eines oder mehrerer Data-Matrix-Symbole, die in einem Frame vorhanden sind.

## 📥 Eingänge

`Data Matrix Image`\
Geben Sie ein Bild (Graustufen oder Farbe) an, das Data-Matrix-Symbole zur Dekodierung enthält.

## 📤 Ausgänge

`Data`\
Diese Ausgabe liefert eine Liste der im Eingangsbild gefundenen decodierten Textzeichenfolgen.

## 🕹️ Steuerungen

`Timeout`\
Zeitlimit in Millisekunden, wie lange auf die Dekodierung gewartet werden soll. Eine Erhöhung gibt dem Block mehr Zeit, schwache oder schwierige Symbole zu erkennen.

## ⚙️ Funktionsweise

Wenn der Block ausgeführt wird, untersucht er das bereitgestellte Bild auf Data-Matrix-Symbole und versucht, jedes innerhalb des konfigurierten `Timeout` zu dekodieren. Werden Symbole gefunden, werden deren decodierte Textwerte als Liste über die Ausgabe `Data` zurückgegeben. Werden keine gefunden, wird eine leere Liste zurückgegeben.

## 🎯 Funktionen

* Erkennt und dekodiert mehrere Data-Matrix-Symbole aus einem einzigen Bild.
* Gibt decodierte Werte als Klartextzeichenfolgen zurück, was die Weiterverarbeitung erleichtert.
* Einfache Timeout-Steuerung, um Geschwindigkeit und Erkennungsrobustheit auszubalancieren.

## 📝 Verwendungshinweise

1. Stellen Sie eine Bildquelle für `Data Matrix Image` bereit — z. B. von einem Kamera-Block oder einem geladenen Bild.
2. Optional: Passen Sie `Timeout` an, um bei schwierigen Lesungen mehr Zeit zu erlauben.
3. Verwenden Sie die Ausgabe `Data`, um decodierte Werte für Protokolle, Anzeige oder weitere Verarbeitung zu nutzen.

## 💡 Tipps und Tricks

* Wenn das Zielsymbol in einem kleinen Bereich liegt, schneiden Sie zuerst mit `Image ROI Select` zu, damit der Block nur den relevanten Bereich verarbeitet.
* Erhöhen Sie die Zuverlässigkeit, indem Sie das Eingangsbild mit `Image Resize` vergrößern, sodass das Symbol mehr Pixel enthält.
* Entfernen Sie Bildstörungen mit `Blur`, `Denoising` oder `Image Adaptive Threshold`, bevor Sie das Bild in den Block geben.
* Verwenden Sie `Show Image`, um den exakt analysierten Frame während des Feinabstimmens der Vorverarbeitung anzuzeigen.
* Speichern Sie Beispiel-Frames mit `Image Logger` oder `Image Write` für Offline-Analyse und Feineinstellungen.
* Erwarten Sie andere Code-Typen (z. B. QR oder lineare Barcodes)? Probieren Sie `Barcode Reader` als Alternative für diese Formate.
* Falls Symbole gedreht vorliegen, testen Sie `Image AutoRotator` oder schneiden Sie verschiedene Ausrichtungen mit ROI-Werkzeugen zu.

## 🛠️ Fehlersuche

* Keine decodierten Werte: Überprüfen Sie Beleuchtung und Kontrast, schneiden Sie mit `Image ROI Select` auf das Symbol zu, erhöhen Sie `Timeout` oder vergrößern Sie das Bild mit `Image Resize`.
* Teilweise oder fehlerhafte Texte: Stellen Sie sicher, dass das Symbol nicht unscharf ist — versuchen Sie Rauschreduzierung oder verwenden Sie ein höher auflösendes Eingangsbild.
* Falsche Negative bei verrauschtem Hintergrund: Wenden Sie `Image Adaptive Threshold` oder andere Filter an, um die Trennung von Vorder- und Hintergrund zu verbessern.
* Viele Symbole, aber nur einige decodiert: Verarbeiten Sie jede ROI separat oder erhöhen Sie `Timeout` und verbessern Sie die Bildqualität für die fehlenden Symbole.
