Das Ergebnis

output/results ist ein FlatBuffer mit einem Eintrag pro gefundenem Data-Matrix-Code, im registrierten Typ types/hdvisionsystems/lumiscan-dmc-reader/code_detect_result.

Die Wurzel ist ein Array – CodeDetectResultArray.results –, sodass ein Lauf, der nichts gefunden hat, ein leeres Array veröffentlicht und keinen Fehler.

Was jeder Eintrag enthält

Feld Typ Beschreibung

center

Point2f

Der Mittelpunkt des Codes im Bild, in Pixeln

text

string

Der dekodierte Inhalt des Codes

score

float

Wie sicher das Leseergebnis ist

polygons

Array aus Point2f

Die Eckpunkte, die den Code im Bild umreißen

Point2f ist ein Paar aus Gleitkommazahlen, x und y, in Bildpixelkoordinaten. Die Koordinaten sind Gleitkommazahlen, weil der Mittelpunkt und die Ecken eines Codes selten genau auf einer Pixelgrenze liegen.

Das Ergebnis lesen

center und text sind immer vorhanden. polygons kann bei einem Eintrag fehlen; behandeln Sie einen fehlenden Umriss daher als „kein Umriss angegeben“ und nicht als Fehler.

Über die ctrlX REST API (ctrlX OS): Ein FlatBuffer kommt als JSON an, und seine Zahlen kommen in Anführungszeichen zurück – eine Gleitkommazahl ist in der Antwort ein String. Parsen Sie sie auf Ihrer Seite als Zahlen, statt sie als Text zu vergleichen.

Das Ergebnis zeichnen

Um die Codes im Bild zu sehen, statt Koordinaten zu lesen, öffnen Sie LumiScan Cockpit. Es zeichnet um jeden Code ein Rechteck, beschriftet mit dem dekodierten Text und dem Score, in einer Ansicht mit dem Namen datamatrix-code.

Ein Code, der lokalisiert, aber nicht dekodiert wurde, hat keinen Text; Cockpit beschriftet ihn nur mit seinem Score.