Das Ergebnis

output/results ist ein Flatbuffer mit einem Eintrag pro gefundenem Barcode, im registrierten Typ types/hdvisionsystems/lumiscan-barcode-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 ein 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 von Point2f

Die Eckpunkte, die den Code im Bild umreißen

Point2f ist ein Paar von Floats, x und y, in Bildpixelkoordinaten. Die Koordinaten sind Floats, weil Mittelpunkt und 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 eine fehlende Umrandung also als "keine Umrandung 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 - ein Float 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 ein Rechteck um jeden Code, beschriftet mit dem dekodierten Text und dem Score, in einer Ansicht namens bar-code.

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