Data-Layer-Referenz
Jede Adresse unten ist relativ zu
hdvisionsystems/lumiscan-text-reader/
Data Layer
LumiScan Text Reader bietet seine Funktionen auf dem Data Layer unter hdvisionsystems/lumiscan-text-reader an.
Auf ctrlX OS (ctrlX CORE oder ctrlX IPC) nutzt LumiScan Text Reader den ctrlX Data Layer.
Auf einem PC mit Windows 11 oder Ubuntu 24.04 nutzt LumiScan Text Reader LumiScan Keryx.
Knotenadressen, Typen und Aufrufmuster sind auf beiden gleich. LumiScan Text Reader bietet:
-
ein Stream-Abonnement auf eine Quelle (experimentell)
Wie Adressen aufgebaut sind, wie Funktionen aufgerufen werden, die Statuscodes und die Werkzeuge sind in LumiScan Keryx beschrieben.
Anwendungsweite Knoten
| Adresse | Typ | Zugriff | Beschreibung |
|---|---|---|---|
|
string[] |
lesen |
Die Module, die gerade existieren |
|
Methode |
schreiben |
Ein Modul hinzufügen |
|
string |
lesen/schreiben |
Name für das neue Modul |
|
Methode |
schreiben |
Ein Modul entfernen |
|
string |
lesen/schreiben |
Zu entfernendes Modul |
|
Methode |
schreiben |
Die Modulliste dauerhaft speichern |
|
Methode |
schreiben |
Die Einstellungen eines Moduls dauerhaft speichern |
|
string |
lesen/schreiben |
Zu speicherndes Modul |
|
string |
lesen |
Wohin Sie eigene Modelle hochladen; das erste durchsuchte Verzeichnis |
|
string[] |
lesen |
Jedes durchsuchte Verzeichnis, in Reihenfolge |
|
string[] |
lesen |
In allen gefundene Sprachcodes |
|
Methode |
schreiben |
Ein anderes Upload-Verzeichnis verwenden |
|
string |
lesen/schreiben |
Verzeichnis, in das hochgeladen und das zuerst durchsucht wird |
|
Methode |
schreiben |
Die Verzeichnisse neu lesen und |
|
string |
lesen |
Was der Knoten enthalten muss, den ein Modul abonniert, als JSON Schema (draft-04) seiner JSON-Form: hier ein |
Jede Methode stellt außerdem output/status-code und output/status-text bereit.
system/tessdata-dir, system/tessdata-dirs und system/languages sind schreibgeschützte Ausgaben von
set-tessdata-dir und refresh-languages, die Auflistung kann also nie ein Verzeichnis beschreiben,
das nicht in Gebrauch ist. Beachten Sie, dass languages nur eine Auflistung ist: Das Lesen mit einem
neu hochgeladenen Modell wartet nicht auf ein Refresh. Siehe
Sprachmodelle.
Knoten pro Modul
Alle Adressen unten liegen unter <module-id>/read-text/.
| Adresse | Typ | Standard | Beschreibung |
|---|---|---|---|
|
Methode |
- |
Einen Lesevorgang ausführen |
|
string |
(leer) |
Adresse des zu lesenden Bildknotens |
|
uint16 |
0 |
Linker Rand der zu lesenden Region |
|
uint16 |
0 |
Oberer Rand |
|
uint16 |
0 |
Breite; 0 reicht bis zum rechten Rand |
|
uint16 |
0 |
Höhe; 0 reicht bis zum unteren Rand |
|
string |
|
Ein Code aus |
|
string |
|
|
|
string |
|
Siehe die Tabelle unten |
|
string |
|
|
|
string |
|
|
|
string |
(leer) |
Dem Satz hinzugefügte Zeichen |
|
string |
(leer) |
Aus dem Satz entfernte Zeichen |
|
float64 |
0.0 |
Konfidenz, die ein Wort erreichen muss, um gemeldet zu werden, 0 bis 1 |
|
flatbuffers |
leer |
|
|
int16 |
0 |
Ausgang als Zahl; negativ ist immer ein Fehler |
|
string |
(leer) |
Ausgang in Worten |
Akzeptierte Werte für input/layout
|
Ein einheitlicher Textblock - der Standard |
|
Genau eine Zeile |
|
Genau ein Wort |
|
Genau ein Zeichen |
|
Eine Zeile, ohne Strukturanalyse |
|
Textregionen im ganzen Bild finden und segmentieren |
|
Wie |
|
Text finden, wo immer er auftritt, ohne Annahme eines Layouts |
|
Wie |
|
Eine einzelne Textspalte |
|
Ein einzelner Block vertikal ausgerichteten Textes |
|
Ein einzelnes, im Kreis angeordnetes Wort |
Bild-Stream-Knoten pro Modul (experimentell)
Alle Adressen unten liegen unter <module-id>/, neben read-text/. Der Stream liest jedes Bild mit
den Eingaben von read-text, allen außer input/input-image-address. Siehe
Text auf einem Bild-Stream lesen.
| Adresse | Typ | Standard | Beschreibung |
|---|---|---|---|
|
bool |
wie angewendet |
Stream-Modus: |
|
string |
wie angewendet |
Die eine Quelle, der Stream-Ordner einer Kamera, z. B. |
|
string |
wie angewendet |
Das Tag auf den Ergebnissen des Moduls: Der Schritt des Moduls in der Lineage jedes Stream-Ergebnisses trägt es. Leer: die Modul-ID, z. B. |
|
uint32 |
wie angewendet |
Bilder, die warten dürfen, während eines gelesen wird, 1-64 |
|
bool |
wie angewendet |
|
|
Methode |
- |
Die Eingaben von |
|
Methode |
- |
Die von |
|
string |
(leer) |
Die zu entfernende Quelle, wie |
|
wie die Eingaben |
|
Was |
|
string |
- |
Hash dessen, womit die Ergebnisse erzeugt werden, 16 Hex-Ziffern. Schreibgeschützt |
|
bool |
|
|
|
flatbuffers |
leer |
|
|
string |
(leer) |
Warum das letzte Bild, das nicht gelesen werden konnte, fehlgeschlagen ist, mit der Quelle über ihre Adresse |
|
uint64 |
|
Millisekunden seit dem Start des Streams |
|
uint64 |
|
Bilder, die das Abonnement geliefert hat |
|
uint64 |
|
Gelesene Bilder, jedes mit einem Ergebnis |
|
uint64 |
|
Aus der Warteschlange verdrängte Bilder, oder wartende, als die Quelle ersetzt oder entfernt wurde |
|
uint64 |
|
Bilder, die nicht gelesen werden konnten |
|
uint64 |
|
Bilder, die verloren gingen, bevor sie eintrafen |
|
uint64 |
|
Lesezeit aller gelesenen Bilder, summiert, Mikrosekunden |
Die Eingaben von control/subscribe beginnen mit dem, was angewendet ist, und nur
control/subscribe/execute wendet sie an. control/subscribe/execute wird bei Stream-Modus ohne Adresse
oder einer Warteschlangengröße außerhalb von 1-64 abgelehnt, control/unsubscribe/execute bei einer
Adresse, die nicht die Quelle ist. Kann <module-id>.json nicht geschrieben werden, antworten beide
mit DL_CREATION_FAILED (auf einem PC CreationFailed) und ändern nichts.
Der Ergebnis-Flatbuffer
output/result ist registriert als
types/hdvisionsystems/lumiscan-text-reader/text_read_result.
| Feld | Typ | Beschreibung |
|---|---|---|
|
string |
Das gesamte Leseergebnis, Zeilen durch Zeilenumbrüche getrennt. Nicht nach |
|
string |
Ein erkanntes Wort |
|
float |
Seine Konfidenz, 0 bis 1 |
|
int |
Rahmen um das Wort, in den Koordinaten der gelesenen Region |
|
int |
|
|
int |
|
|
int |
|
|
uint |
Wie viele Wörter gemeldet werden |
|
float |
Mittlere Konfidenz über die gemeldeten Wörter; 0, wenn es keine gibt |
|
float |
Der angewendete Schwellwert |
|
string |
Die tatsächlich verwendete Sprache |
|
string |
Die tatsächlich verwendete Engine |
|
string |
Das tatsächlich verwendete Layout |
|
uint |
Die gelesene Region |
|
uint |
|
|
ulong |
Mikrosekunden seit der Epoche, wann der Lesevorgang abgeschlossen wurde |
control/subscribe/output/stream/result ist registriert als
types/hdvisionsystems/lumiscan-text-reader/stream_texts: ein hdv.stream.StreamTexts mit lineage,
woher das Bild stammt, und result, der Tabelle oben.
Mit einem Beispiel beginnen (PC)
Auf einem PC schreibt der Text Reader ein Beispiel seiner Einstellungen in einen Ordner Ihrer Wahl und beendet sich, ohne zu starten. Unter Windows:
lumiscan-text-read --generate-settings C:\work\text-reader-settings
Ohne Ordner (-g allein) schreibt er in den aktuellen Ordner. Das Beispiel ist die
Anwendungs-Einstellungsdatei lumiscan-text-reader.json, die das Modul module-1 nennt, und die
Moduldatei module-1.json daneben: jede Eingabe von read-text mit ihrem Standardwert, außer der
Bildadresse, die die camera1 des Cam Driver ist.
Daneben, in schemas/, liegen die Schemas, die die beiden Dateien in "$schema" nennen:
lumiscan-text-reader.schema.json, lumiscan-text-reader-module.schema.json und stream.schema.json
für den Abschnitt stream einer Moduldatei. Sie beschreiben jeden Schlüssel, den der Text Reader liest
- jede Eingabe von read-text mit ihrem Typ, ihrem Standardwert und dem Bereich, den ein Durchlauf
akzeptiert -, sodass ein Editor, der JSON Schema versteht, die Dateien prüfen und zeigen kann, was
jeder Wert bedeutet. Kopieren Sie den Ordner schemas zusammen mit den Dateien:
system/save-module-inputs behält das "$schema" einer Moduldatei, die es speichert.
Vorhandene Dateien werden nie überschrieben: Liegt eine davon bereits im Ordner, wird nichts
geschrieben, und der Text Reader nennt welche.
Der Text Reader nennt dann den Ordner, aus dem er seine Einstellungen liest, unter Windows standardmäßig
C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-text-read\etc\lumiscan-text-reader.
Bearbeiten Sie das Beispiel, kopieren Sie es dorthin und starten Sie den Text Reader. Siehe auch
Speicherorte der Dateien.