Fehlerbehebung
Diese Seite beginnt mit den allgemeinen Prüfungen, die für jedes Problem gelten. Danach folgen die Probleme, gruppiert nach Leseergebnissen, Statuscodes, Sprachmodellen, dem Bild-Stream sowie Modulen und Einstellungen. Führen Sie zuerst die allgemeinen Prüfungen durch und suchen Sie dann Ihr Symptom.
Alle Adressen sind relativ zu hdvisionsystems/lumiscan-text-reader/.
Allgemeine Prüfungen
-
Lesen Sie
output/status-codeundoutput/status-textder Operation, für einen Lesevorgang<module>/read-text/output/status-codeund<module>/read-text/output/status-text. Das Vorzeichen des Statuscodes zeigt, ob es funktioniert hat: größer als 0 ist Erfolg,0bedeutet, dass die Operation seit dem Start der Anwendung nicht gelaufen ist, kleiner als 0 bedeutet, dass sie fehlgeschlagen ist und nichts erzeugt hat. Die Codes sind unter Ausführungsstatus aufgelistet. -
Ein fehlgeschlagener Schreibvorgang auf
executeantwortet nur mit einem Statuscode (über REST ein bloßes400). Lesen Sie anschließendoutput/status-text: Er beginnt mitok:odererror:und nennt den Grund. -
Lesen Sie das Anwendungsprotokoll. Auf ctrlX OS lesen Sie es im ctrlX Logbook oder mit
journalctl, auf einem PC in der Konsolenausgabe der Anwendung. Das Protokoll enthält denselben Text wieoutput/status-text; sind mehrere Eingaben falsch, erhält jede ihre eigene Warnzeile. -
Prüfen Sie, was der Lesevorgang tatsächlich verwendet hat:
language,engineundlayoutinoutput/result. Sie entsprechen nicht immer den Eingaben, die Sie gesetzt haben. -
Prüfen Sie, ob die Bildquelle auf demselben Gerät läuft wie der Text Reader - derselben ctrlX CORE oder demselben ctrlX IPC oder demselben PC. Ein entfernter Zugriff auf den Data Layer wird nicht unterstützt.
-
Prüfen Sie die Bildqualität. Keine Einstellung stellt Text wieder her, den die Kamera nicht erfasst hat: Zeichen mindestens 20 Pixel hoch (30 oder mehr bei kleinem oder verrauschtem Druck), guter Kontrast, Text im Fokus und nicht überstrahlt, Text ungefähr aufrecht, sofern Sie kein Layout mit Orientierungserkennung verwenden. Siehe Voraussetzungen.
-
Prüfen Sie die Lizenz. Auf ctrlX OS beendet sich die Anwendung kurz nach dem Start, wenn die Lizenz fehlt; der Grund wird in das Systemprotokoll geschrieben. Ein Modul, das keine Lizenz auf dem Gerät abdeckt, wird mit Status
-11abgelehnt. Siehe Voraussetzungen. -
Probleme, die alle LumiScan-Apps gemeinsam haben - eine App oder ein Modul fehlt im Baum, ein Knoten ist „not found", ein Methodenaufruf wird abgelehnt, ein Stream liefert nichts -, sind unter Fehlerbehebung im Handbuch LumiScan Keryx beschrieben.
Leseergebnisse
Problem: Statuscode 1, aber keine Wörter
output/status-code ist 1 (OK), aber output/result hat word_count 0.
-
Im Bild ist nichts Lesbares: ein leerer Träger, ein falsch herum liegendes Teil oder ein Etikett außerhalb des Bildes. Das ist die normale Antwort, kein Fehler.
-
Die Kennzeichnung liegt außerhalb des Ausschnitts. Eine Kennzeichnung, die aus dem Ausschnitt herauswandert, wird als nichts gelesen.
-
Die Kennzeichnung ist nicht im Fokus oder steht nicht richtig herum.
-
input/min-scorefiltert alle Wörter heraus.words[]wird nachmin-scoregefiltert;textnicht. -
Ein Farbbild, in dem ein Foto oder eine andere farbenfrohe Szene zusammen mit dem Text im Bild ist, siehe Problem: Das Leseergebnis ist leer, obwohl der Text in einem Farbbild deutlich sichtbar ist.
-
Prüfen Sie
textinoutput/result. Isttextnicht leer, aberword_count0, wurden die Wörter gefiltert: Vergleichen Sie die Wort-Konfidenzen mitmin_scoreim Ergebnis, dem angewendeten Schwellwert. -
Prüfen Sie, ob die Kennzeichnung innerhalb von
input/crop/startX,input/crop/startY,input/crop/widthundinput/crop/heightliegt.image_widthundimage_heightim Ergebnis zeigen die gelesene Region. -
Prüfen Sie im Kamerabild, ob die Kennzeichnung im Fokus ist und richtig herum steht.
-
Ist das Bild ein Farbbild und Sie sehen den Text, fahren Sie mit Problem: Das Leseergebnis ist leer, obwohl der Text in einem Farbbild deutlich sichtbar ist fort.
-
Wenn im Bild kein Text ist: Das ist ein gültiges Ergebnis. Entscheiden Sie anhand von
word_count, nicht anhand des Statuscodes, ob ein Teil Text trug. -
Wenn die Kennzeichnung außerhalb des Ausschnitts liegt: Machen Sie den Ausschnitt groß genug, um den ganzen Bereich abzudecken, den das Teil einnehmen kann, und lesen Sie erneut.
-
Wenn die Kennzeichnung unscharf ist oder nicht richtig herum steht: Korrigieren Sie den Kameraaufbau. Für Text, dessen Orientierung wirklich variiert, verwenden Sie ein Layout mit Orientierungserkennung (
AUTO_OSDoderSPARSE_OSD). -
Wenn
input/min-scorealle Wörter herausfiltert: Legen Sie den Schwellwert neu fest, wie unter Genau lesen, Schritt 5, beschrieben.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit output/status-text, dem Inhalt von output/result und den Werten der Knoten unter read-text/input/.
Problem: Das Leseergebnis ist leer, obwohl der Text in einem Farbbild deutlich sichtbar ist
Ein Farbbild, in dem ein Foto oder eine andere farbenfrohe Szene zusammen mit dem Text im Bild ist, kommt ganz ohne Wörter zurück, während output/status-code Erfolg (1) meldet. Der Text ist nicht verstümmelt - das Leseergebnis ist leer.
-
Die Engine reduziert ein Farbbild vor dem Lesen, und mit einer farbenfrohen Szene im Bild geht dabei der Text verloren. Die Größe des Textes ist nicht die Ursache. Kein
input/layoutund keineinput/enginelösen diesen Fall.
-
Prüfen Sie, ob
pixel-typedes Bildknotens ein Farbformat ist (zum BeispielRGB8oderBGR8). -
Prüfen Sie
input/preprocess. Der Standard istNONE. -
Prüfen Sie, ob ein Rechteck den Text von der Szene trennen kann.
-
Wenn ein Rechteck den Text von der Szene trennen kann: Schneiden Sie zuerst mit
input/cropauf den Text zu. Das Zuschneiden löst diesen Fall in Farbe. -
Wenn sich Text und Szene nicht durch ein Rechteck trennen lassen (zum Beispiel ein Etikett auf einem gemusterten Teil oder ein komplett fotografierter Bildschirm):
-
Setzen Sie
input/preprocessaufGRAYSCALEund lesen Sie erneut. -
Nur wenn
GRAYSCALEnicht geholfen hat, versuchen SieBINARIZE_OTSU.
-
Keine der Einstellungen erfindet Text: Bei einem Bild ohne Text liefern alle drei Einstellungen nichts.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit output/status-text, den Werten von input/crop und input/preprocess und dem Pixelformat des Bildes.
Problem: Ziffern werden als Buchstaben gelesen (O statt 0, S statt 5)
Zeichen werden zwischen Zeichenklassen vertauscht, zum Beispiel O statt 0 oder S statt 5. Weitere typische Vertauschungen sind I/1/l, B/8 und Z/2.
-
Ein unbekanntes Zeichen wird ersetzt statt abgelehnt, und der Standard von
input/characters/mode,ALL_SYMBOLS, erlaubt jede Klasse.
-
Lesen Sie
input/characters/mode,input/characters/allowundinput/characters/deny. Erwartet für eine eingeschränkte Kennzeichnung: ein anderer Modus alsALL_SYMBOLS.
-
Wenn der Zeichensatz nicht eingeschränkt ist: Setzen Sie
input/characters/modepassend zur Kennzeichnung:-
numerische Teile- oder Chargennummer:
DIGITS; -
alphanumerischer Code in Großbuchstaben:
UPPERCASE_LETTERSmitinput/characters/allow=0123456789; -
Datumscode mit Trennzeichen:
DIGITSmitallow=/-.; -
festes Alphabet:
CUSTOMmitallowauf genau dieses Alphabet gesetzt.
-
Ein leerer Zeichensatz - CUSTOM mit leerem allow oder ein deny, das alles entfernt, was der Modus ausgewählt hat - wird mit Statuscode -2 abgelehnt.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit den Werten von input/characters/mode, allow und deny sowie output/result.
Problem: Das Leseergebnis enthält zusätzliche Wörter aus dem Hintergrund
output/result enthält Wörter, die nicht zur Kennzeichnung gehören und aus dem Hintergrund stammen - Kanten des Teils, Schatten, das Förderband. Diese Wörter haben meist einen niedrigen words[].score.
-
input/cropist zu weit oder nicht gesetzt. Alles auf null liest das ganze Bild. -
input/layoutsucht nach mehr Struktur, als die Kennzeichnung hat. -
input/min-scoreist0(der Standard), was alles meldet.
-
Prüfen Sie
input/cropsowieimage_widthundimage_heightim Ergebnis: Sie zeigen die gelesene Region. -
Prüfen Sie
layoutim Ergebnis. -
Prüfen Sie den
words[].scoreder zusätzlichen Wörter undmin_scoreim Ergebnis. Störwörter liegen meist unter 0,5.
-
Wenn der Ausschnitt zu weit ist: Verengen Sie
input/cropum die Stelle, an der der Text stehen wird. Das ist die wirksamste Einstellung und macht das Lesen auch schneller. -
Wenn das Layout nicht passt: Passen Sie
input/layoutan die Kennzeichnung an, zum BeispielSINGLE_LINEfür eine Druckzeile. -
Wenn
input/min-scorezu niedrig ist:-
Lassen Sie bekannt gute Teile mit
min-scoreauf0durchlaufen. -
Notieren Sie
mean_scoreund die einzelnen Wort-Konfidenzen im Ergebnis. -
Setzen Sie
input/min-scorezwischen das Rauschen (meist unter 0,5) und die korrekten Leseergebnisse (meist deutlich über 0,8), näher an die korrekten Leseergebnisse.
-
min-score filtert nur words[]; text ist immer die vollständige Ausgabe der Engine. Prüfen Sie word_count statt text, wenn Sie wissen müssen, ob das Leseergebnis gut war.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit output/result und den Werten von input/crop, input/layout und input/min-score.
Problem: Nadeldruck- oder lasergravierte Kennzeichnung wird schlecht gelesen
Eine Nadeldruck- oder lasergravierte Kennzeichnung wird schlecht gelesen, während gedruckter Text gut gelesen wird.
-
An diesen Kennzeichnungen scheitert die
LSTM-Engine häufiger als an gedrucktem Text. -
Beleuchtung, Kontrast oder Fokus sind schlecht. Keine Einstellung behebt das.
-
Prüfen Sie
engineim Ergebnis: die tatsächlich verwendete Engine. -
Prüfen Sie das Bild anhand der Regeln zur Bildqualität unter Voraussetzungen: Zeichenhöhe, Kontrast, Fokus und Überstrahlung.
-
Wenn die Engine die Ursache ist: Setzen Sie
input/engineaufLEGACYund vergleichen Sie die Leseergebnisse. -
Wenn die Bildqualität schlecht ist: Verbessern Sie Beleuchtung und Fokus.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit output/result und dem Wert von input/engine.
Problem: Das Lesen ist zu langsam
Der Aufruf von read-text/execute dauert für Ihren Zyklus zu lange. Das Lesen ist synchron: Der Aufruf kehrt zurück, wenn das Lesen abgeschlossen ist.
-
Die Engine erhält zu viel Bild. Die Lesezeit hängt vor allem davon ab, wie viel Bild die Engine erhält.
-
Das Layout
AUTO_OSDoderSPARSE_OSDwird verwendet. Diese Layouts laden ein zweites Modell und bestimmen zuerst die Orientierung.
-
Prüfen Sie
input/cropsowieimage_widthundimage_heightim Ergebnis. -
Prüfen Sie
layoutim Ergebnis.
-
Wenn die Engine zu viel Bild erhält: Verengen Sie
input/cropum das Etikett. Ein enger Ausschnitt ist schneller und genauer als das ganze Bild. -
Wenn ein
_OSD-Layout verwendet wird: Verwenden Sie ein Layout ohne Orientierungserkennung, sofern die Orientierung nicht wirklich variiert.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit den Werten von input/crop und input/layout und der Bildgröße.
Statuscodes
Problem: Statuscode -2 (eine Einstellung ist unbrauchbar)
output/status-code ist -2 (Ungültige Eingabe). output/status-text beginnt mit error: und nennt jeden beanstandeten Knoten und was erwartet wurde, zum Beispiel min-score must be between 0 and 1, got 1.5 oder error: crop/startX + crop/width (100 + 900 = 1000) exceeds the image width 640.
-
Ein erforderlicher Knoten ist leer.
-
Ein unbekannter Wert in
input/engine,input/layout,input/preprocessoderinput/characters/mode. -
Ein Wert außerhalb des Bereichs, zum Beispiel
input/min-scoreaußerhalb von 0 bis 1. -
Ein leerer Zeichensatz:
CUSTOMmit leeremallowoder eindeny, das alles entfernt, was der Modus ausgewählt hat. -
Eine Sprache ohne installiertes Modell. Die Meldung nennt jedes durchsuchte Verzeichnis und was verfügbar ist, zum Beispiel
error: invalid input: language 'fra' has no fra.traineddata in any model directory ('<tessdata-dir>', '<shipped dir>'); available: eng, osd. Upload fra.traineddata to '<tessdata-dir>' - the file name is the language code. -
Ein Layout mit Orientierungserkennung ohne
osd.traineddataneben dem Sprachmodell, siehe Problem: Ein Lesevorgang mit AUTO_OSD oder SPARSE_OSD wird abgelehnt ("also needs osd.traineddata beside …"). -
Ein Ausschnitt, der nicht in das Bild passt. Er wird abgelehnt, nicht passend gekürzt.
-
Eine Bildadresse, die auf diese Anwendung selbst zeigt.
-
Bei
system/set-tessdata-dir:input/tessdata-dirist leer.
-
Lesen Sie
output/status-text. Ein Durchlauf prüft jede Einstellung und meldet alle Probleme auf einmal. -
Lesen Sie das Anwendungsprotokoll: Jede falsche Eingabe hat ihre eigene Warnzeile.
-
Wenn ein Wert unbekannt, außerhalb des Bereichs oder leer ist: Korrigieren Sie jeden in
output/status-textgenannten Knoten. Die zulässigen Werte sind in der Data-Layer-Referenz aufgelistet. -
Wenn der Zeichensatz leer ist: Setzen Sie
input/characters/allow, oder entfernen Sie Zeichen ausinput/characters/deny, sodass der Zeichensatz nicht leer ist. -
Wenn die Sprache kein Modell hat: Laden Sie
<language>.traineddataohne Umbenennen in das Verzeichnis hoch, dassystem/tessdata-dirnennt, oder setzen Sieinput/languageauf einen Code aussystem/languages. Siehe Sprachmodelle. -
Wenn der Ausschnitt nicht passt: Ändern Sie
input/cropso, dassstartX+widthundstartY+heightinnerhalb des Bildes liegen. -
Wenn die Bildadresse auf diese Anwendung zeigt: Setzen Sie
input/input-image-addressauf den Bildknoten der Kameraanwendung. -
Wenn
input/tessdata-dirleer ist: Schreiben Sie ein Verzeichnis aufsystem/set-tessdata-dir/input/tessdata-dirund schreiben Sie dann aufsystem/set-tessdata-dir/execute.
Führen Sie die Operation danach erneut aus und prüfen Sie, ob output/status-code 1 ist.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit dem vollständigen output/status-text und den Werten der Knoten unter read-text/input/.
Problem: Statuscode -3 (Bild kann nicht gelesen werden)
output/status-code ist -3 (Bild lesen fehlgeschlagen), und das Ergebnis ist leer.
-
Eine falsche Bildadresse in
input/input-image-address. Das ist fast immer die Ursache. -
Die Quellanwendung läuft nicht auf demselben Gerät, oder sie hat kein Bild aufgenommen.
-
Der Bildknoten fehlt, ist leer oder inkonsistent.
-
Das Bild verwendet ein nicht unterstütztes Pixelformat.
-
Prüfen Sie
input/input-image-address, zum Beispielhdvisionsystems/lumiscan-cam-driver/camera1/output/image. -
Prüfen Sie, ob der Bildknoten die Kinder
data,width,heightundpixel-typehat und obdataPixeldaten enthält. -
Prüfen Sie, ob
pixel-typeeines vonMono8,Mono12,RGB8,RGB12,BGR8,BGR12,BayerGR8,BayerGR12,BayerRG8oderBayerRG12ist. -
Prüfen Sie, ob die Quellanwendung auf demselben Gerät läuft - derselben ctrlX CORE oder demselben ctrlX IPC oder demselben PC - und Bilder liefert.
-
Lesen Sie
output/status-textfür den Grund.
-
Wenn die Adresse falsch ist: Korrigieren Sie
input/input-image-addressund lesen Sie erneut. -
Wenn die Quellanwendung nicht läuft oder kein Bild aufgenommen hat: Starten Sie sie auf demselben Gerät, nehmen Sie ein Bild auf und lesen Sie dann erneut.
-
Wenn der Bildknoten leer oder inkonsistent ist: Nehmen Sie mit der Quellanwendung ein neues Bild auf und lesen Sie dann erneut.
-
Wenn das Pixelformat nicht unterstützt wird: Verwenden Sie eine Bildquelle, die eines der unterstützten Pixelformate liefert.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit input/input-image-address, output/status-text sowie pixel-type, width und height des Bildknotens.
Problem: Statuscode -7 (OCR-Engine konnte nicht starten)
output/status-code ist -7 (Algorithmus fehlgeschlagen). Das Ergebnis ist leer, und der Grund steht in output/status-text.
-
Die OCR-Engine konnte nicht starten, meist wegen des Verzeichnisses der Sprachmodelle.
-
Ein Sprachmodell konnte nicht geladen werden, zum Beispiel ein Modell, dessen Upload noch läuft. Das passiert, wenn ein Lesevorgang direkt auf das Ersetzen eines Modells folgt.
-
Lesen Sie
output/status-textfür den Grund. -
Prüfen Sie, ob
system/languagesnicht leer ist.system/languageswird nur beim Start, durchset-tessdata-dirund durchrefresh-languagesaktualisiert: Schreiben Sie aufsystem/refresh-languages/execute, um die Liste zu aktualisieren. -
Prüfen Sie
system/tessdata-dirs: jedes durchsuchte Verzeichnis, in der Reihenfolge der Suche. -
Prüfen Sie, ob ein Upload eines Modells lief, als der Lesevorgang fehlschlug.
-
Wenn ein Upload lief: Lesen Sie erneut, sobald der Upload abgeschlossen ist. Dieser Lesevorgang lädt das neue Modell.
-
Wenn der Grund das Verzeichnis der Sprachmodelle nennt: Prüfen Sie die Verzeichnisse auf
system/tessdata-dirsanhand des Grundes inoutput/status-text. Haben Sie das Upload-Verzeichnis mitsystem/set-tessdata-dirgeändert, prüfen Sie, ob es das Verzeichnis ist, das Ihre Modelle enthält.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit dem vollständigen output/status-text und den Werten von system/tessdata-dir, system/tessdata-dirs und system/languages.
Sprachmodelle
Problem: Ein Lesevorgang mit AUTO_OSD oder SPARSE_OSD wird abgelehnt ("also needs osd.traineddata beside …")
Ein Lesevorgang wird mit output/status-code -2 und dieser Meldung abgelehnt:
error: invalid input: layout AUTO_OSD also needs osd.traineddata beside 'deu.traineddata' in '<tessdata-dir>'; copy it from '<shipped dir>', or choose a layout that does not detect orientation
-
Die Layouts
AUTO_OSDundSPARSE_OSDbrauchenosd.traineddataim selben Verzeichnis wie das Sprachmodell, nicht bloß irgendwo im Suchpfad. Tesseract löst pro Durchlauf ein Verzeichnis auf. Zum Beispiel wurdedeu.traineddataallein hochgeladen.
-
Prüfen Sie
input/layout. Erwartet bei dieser Meldung:AUTO_OSDoderSPARSE_OSD. -
Prüfen Sie, ob das in der Meldung genannte Verzeichnis
osd.traineddataneben dem Sprachmodell enthält.
-
Wenn Sie Orientierungserkennung benötigen: Laden Sie
osd.traineddatain dasselbe Verzeichnis wie Ihr Modell hoch. Die Meldung nennt das mitgelieferte Verzeichnis, aus dem Sie es kopieren können. Lesen Sie dann erneut. -
Wenn Sie keine Orientierungserkennung benötigen: Verwenden Sie ein Layout, das keine Orientierung erkennt, etwa den Standard
SINGLE_BLOCK.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit der vollständigen Meldung und den Werten von system/tessdata-dirs und system/languages.
Problem: Ein hochgeladenes Modell erscheint nicht auf system/languages
Sie haben eine .traineddata-Datei hochgeladen, aber ihr Sprachcode ist auf system/languages nicht aufgeführt.
-
system/languagesist eine Auflistung. Sie wird nur beim Start, durchset-tessdata-dirund durchrefresh-languagesaktualisiert. -
Die Datei liegt nicht in dem Verzeichnis, das
system/tessdata-dirnennt, oder sie wurde umbenannt. Der Dateiname ist der Sprachcode.
-
Prüfen Sie, ob die Datei in dem auf
system/tessdata-dirgenannten Verzeichnis liegt. -
Prüfen Sie, ob der Dateiname unverändert ist, genau so, wie das Tesseract-Projekt ihn veröffentlicht (zum Beispiel
deu.traineddata,chi_sim.traineddata).
-
Wenn die Auflistung nicht aktualisiert ist: Schreiben Sie auf
system/refresh-languages/executeund lesen Sie dannsystem/languages. Zum Lesen brauchen Sie das nicht: Ein hochgeladenes Modell ist beim allernächstenread-textnutzbar. -
Wenn die Datei in einem anderen Verzeichnis liegt oder umbenannt wurde: Laden Sie sie erneut, ohne Umbenennen, in das Verzeichnis hoch, das
system/tessdata-dirnennt.
osd erscheint in der Liste, ist aber keine Sprache: input/language auf osd zu setzen liest nichts.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit den Werten von system/tessdata-dir, system/tessdata-dirs und system/languages und dem Namen der hochgeladenen Datei.
Problem: Der Text wird in einer anderen Sprache als input/language gelesen
language in output/result ist nicht die in input/language gesetzte Sprache, und output/status-text enthält ein NOTE, zum Beispiel
ok: 4 word(s), mean score 0.91 (eng, SINGLE_BLOCK) - NOTE: language 'deu' is not installed, read with 'eng' instead
-
Das Sprachmodell ist zwischen der Sprachprüfung und dem Lesen verschwunden - jemand hat zum Beispiel den USB-Stick gezogen. Die Engine liest dann mit
eng.
-
Vergleichen Sie
languageinoutput/resultmitinput/language. -
Lesen Sie
output/status-textauf dasNOTE. -
Prüfen Sie, ob die Modelldatei noch in ihrem Verzeichnis liegt (siehe
system/tessdata-dirs).
-
Wenn das Modell verschwunden ist: Stellen Sie das Modell in seinem Verzeichnis wieder bereit, stecken Sie zum Beispiel den USB-Stick wieder ein oder laden Sie das Modell erneut hoch. Ein hochgeladenes Modell ist beim allernächsten
read-textnutzbar. Lesen Sie dann erneut und prüfen Sielanguageinoutput/result.
Lesen Sie language in output/result, nicht input/language, wenn Sie wissen müssen, wie ein Ergebnis zustande kam. Ist die Sprache gar nicht installiert, wird der Lesevorgang mit -2 abgelehnt, siehe Problem: Statuscode -2 (eine Einstellung ist unbrauchbar). Für den Bild-Stream siehe Problem: Ein Stream-Bild schlägt fehl mit "the frame was read with 'eng' instead and its result dropped".
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit output/status-text, output/result und den Werten von input/language, system/tessdata-dirs und system/languages.
Bild-Stream
Problem: read-text antwortet mit -1 (belegt), während der Stream läuft
Während der Bild-Stream (experimentell) läuft, wird ein Aufruf von read-text/execute abgelehnt:
-
output/status-codeist-1(Belegt); -
der Schreibvorgang antwortet mit
DL_TOO_MANY_OPERATIONS(ctrlX OS) oderTooManyOperations(PC); -
nichts wird getan, und
output/resultbehält seinen Wert.
Auch system/remove-module antwortet mit belegt (-1), während ein Bild dieses Moduls gelesen wird.
-
Der Stream und
read-textteilen sich die eine Erkennungs-Engine des Moduls und laufen auf einem Modul nie gleichzeitig. Bei einer streamenden Kamera passiert das oft.
-
Lesen Sie
control/subscribe/output/stream/activedes Moduls.truebedeutet, dass der Stream läuft.
-
Wenn Sie
read-textbenötigen, während der Stream läuft: Rufen Sieread-text/executeerneut auf, oder stoppen Sie zuerst den Stream:-
Setzen Sie
control/subscribe/input/enableauffalseund schreiben Sie aufcontrol/subscribe/execute. Das Bild, das gerade gelesen wird, wird zuerst fertig gelesen. -
Prüfen Sie, ob
control/subscribe/output/stream/activefalseist. -
Rufen Sie
read-text/executeauf.
-
-
Wenn Sie das Modul entfernen möchten: Stoppen Sie zuerst den Stream und rufen Sie dann
system/remove-module/executeauf.
Andere Module sind nicht betroffen: Jedes Modul hat seine eigene Sperre, seine eigene Engine und seinen eigenen Stream.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit dem Wert von control/subscribe/output/stream/active und den Zählern unter control/subscribe/output/stream/statistics/.
Problem: Ein Stream-Bild schlägt fehl mit "the frame was read with 'eng' instead and its result dropped"
Ein Bild des Bild-Streams (experimentell) liefert kein Ergebnis. control/subscribe/output/stream/statistics/failed-frames steigt, und control/subscribe/output/stream/last-failure und das Protokoll melden zum Beispiel:
a frame of 'hdvisionsystems/lumiscan-cam-driver/camera1/control/publish/output/stream' failed: language 'deu' is no longer installed; the frame was read with 'eng' instead and its result dropped
-
Das Sprachmodell ist zwischen der Sprachprüfung und dem Lesen verschwunden, die Engine hat also mit
enggelesen.read-textveröffentlicht ein solches Leseergebnis mit einemNOTEin seinemstatus-text, aber der Stream verwirft es, weil sein Einstellungs-Hash das angeforderte Modell nennt.
-
Lesen Sie
control/subscribe/output/stream/last-failure. -
Prüfen Sie
control/subscribe/output/stream/statistics/failed-frames. -
Prüfen Sie, ob die Modelldatei für
input/languagenoch in ihrem Verzeichnis liegt (siehesystem/tessdata-dirs).
-
Wenn das Modell verschwunden ist: Stellen Sie das Modell für
input/languagein seinem Verzeichnis wieder bereit. Ein hochgeladenes Modell wird ab dem nächsten Bild verwendet. Halten Sie es verfügbar, solange der Stream läuft - ziehen Sie zum Beispiel nicht den USB-Stick, auf dem es liegt.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit control/subscribe/output/stream/last-failure, den Zählern unter control/subscribe/output/stream/statistics/ und den Werten von input/language und system/tessdata-dirs.
Module und Einstellungen
Problem: Meine Einstellungen oder Module sind nach einem Neustart weg
Nach einem Neustart der Anwendung fehlt ein Modul in system/modules, ein Modul ist mit seinen Standardeingaben zurück, oder ein Modul, das vorher gestreamt hat, streamt nicht.
-
Die Modulliste wurde nicht mit
system/save-current-modulesgespeichert. Nichts überlebt einen Neustart, bis es gespeichert ist; die Modulliste und die Einstellungen jedes Moduls werden getrennt gespeichert. -
Die Einstellungen des Moduls wurden nicht mit
system/save-module-inputsgespeichert. -
Modus und Quelle des Bild-Streams werden von
control/subscribe/executein der<module-id>.jsondes Moduls gespeichert, kommen aber nur zurück, wenn auch die Modulliste gespeichert ist. -
<module-id>.jsonenthält Kommentare. Die Eingaben des Moduls werden dann beim Start nicht wiederhergestellt; das Protokoll meldet die Datei als nicht lesbar. -
Eine Einstellung, deren Knoten nach einem Software-Update nicht mehr existiert, wird mit einem Protokolleintrag übersprungen.
-
Lesen Sie
system/modules. -
Prüfen Sie das Protokoll auf eine als nicht lesbar gemeldete Moduldatei oder auf übersprungene Einstellungen.
-
Prüfen Sie, ob
<module-id>.jsonim Konfigurationsverzeichnis existiert: auf ctrlX OS/var/snap/rexroth-solutions/common/solutions/activeConfiguration/lumiscan-text-reader; auf einem PC (Windows)%APP_RESOURCE_DIR%\etc\lumiscan-text-readeroder ohneAPP_RESOURCE_DIRC:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-text-read\etc\lumiscan-text-reader.
-
Wenn die Einstellungen des Moduls nicht gespeichert wurden:
-
Setzen Sie
system/save-module-inputs/input/module-id, zum Beispielmodule-1. -
Schreiben Sie auf
system/save-module-inputs/execute. -
Prüfen Sie, ob
system/save-module-inputs/output/status-code1ist.
-
-
Wenn die Modulliste nicht gespeichert wurde: Schreiben Sie auf
system/save-current-modules/execute. Modus und Quelle des Streams eines Moduls kommen nach einem Neustart nur zurück, wenn auch die Modulliste gespeichert ist. -
Wenn
<module-id>.jsonKommentare enthält: Entfernen Sie die Kommentare aus der Datei. Von Hand an der Datei vorgenommene Änderungen wirken beim nächsten Start.
Ein mit system/set-tessdata-dir gewähltes Verzeichnis wird automatisch gespeichert.
Senden Sie die unter Informationen für den Support aufgeführten Informationen an den Support, zusammen mit dem Inhalt von system/modules, den Dateien im Konfigurationsverzeichnis und dem Protokoll des Starts.
Informationen für den Support
Besteht ein Problem weiter, senden Sie die folgenden Informationen an den Support:
-
Die Version von LumiScan Text Reader.
-
Die Plattform: ctrlX OS auf einer ctrlX CORE oder einem ctrlX IPC, mit der Version von ctrlX OS; oder ein PC mit Windows 11 oder Ubuntu 24.04 und LumiScan Keryx.
-
Das Anwendungsprotokoll: auf ctrlX OS aus dem ctrlX Logbook oder
journalctl, auf einem PC die Konsolenausgabe der Anwendung. -
Datum und Uhrzeit des Fehlers.
-
Den Status auf dem Data Layer: welchen Data Layer Sie verwenden (ctrlX Data Layer oder LumiScan Keryx; auf einem PC die Data-Layer-Adresse),
output/status-codeundoutput/status-textder fehlgeschlagenen Operation und bei einem abgelehnten Schreibvorgang dessen Ergebnis. Für den Bild-Stream außerdemcontrol/subscribe/output/stream/last-failureund die Zähler untercontrol/subscribe/output/stream/statistics/. -
Die Konfiguration: die Werte der Knoten unter
read-text/input/,system/modules,system/tessdata-dir,system/tessdata-dirsundsystem/languagessowie die Dateien im Konfigurationsverzeichnis (die Moduldateien<module-id>.json).
Wenden Sie sich an den Customer Success von HD Vision Systems unter customer.success@hdvisionsystems.com oder +49 6221 6721905. Für Lizenzen wenden Sie sich an licenses@hdvisionsystems.com.