Das Ergebnis

output/results ist ein FlatBuffer mit einem Eintrag pro gefundenem QR-Code, im registrierten Typ types/hdvisionsystems/lumiscan-qr-code-reader/code_detect_result.

Die Wurzel ist ein Array — CodeDetectResultArray.results —, sodass ein Durchlauf, 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 von Floats, x und y, in Bildpixelkoordinaten. Die Koordinaten sind Floats, weil der Mittelpunkt und die Ecken eines Codes selten genau auf einer Pixelgrenze liegen.

Das Ergebnis lesen

(ctrlX OS) Über die ctrlX REST API kommt ein FlatBuffer 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.

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

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 qr-code.

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