FAQ
Kurze Antworten auf häufige Fragen zu LumiScan Text Reader. Jeder Eintrag verweist auf die Seite mit den Details. Probleme und Fehlermeldungen sind unter Fehlerbehebung beschrieben.
Jeder Eintrag hat einen festen Anker (zum Beispiel #faq-read-text). Um eine Fehlermeldung zu finden, durchsuchen Sie die Seite Fehlerbehebung danach.
|
Voraussetzungen und Einrichtung
Welche Bildquelle und welche Pixelformate braucht der Text Reader?
- Antwort
-
Die Anwendung liest den Bildknoten einer anderen Anwendung, die auf demselben Gerät läuft - derselben ctrlX CORE oder demselben ctrlX IPC oder demselben PC (ein entfernter Data-Layer-Zugriff wird nicht unterstützt), normalerweise LumiScan Cam Driver, zum Beispiel
hdvisionsystems/lumiscan-cam-driver/camera1/output/image. Der Knoten mussdata(rohe, unkomprimierte uint8-Pixeldaten),width,heightundpixel-typebereitstellen. Unterstützte Pixelformate sindMono8,Mono12,RGB8,RGB12,BGR8,BGR12,BayerGR8,BayerGR12,BayerRG8undBayerRG12; Bayer-Bilder werden vor dem Lesen in Farbe umgewandelt und 12-Bit-Bilder auf 8 Bit herunterskaliert. Jedes andere Pixelformat wird mit Statuscode-3abgelehnt. - Mehr
Welche Bildqualität braucht OCR?
- Antwort
-
Keine Einstellung holt Text zurück, den die Kamera nicht erfasst hat. Als Faustregel:
-
Zeichen mindestens 20 Pixel hoch, bei kleinem oder verrauschtem Druck 30 oder mehr;
-
guter Kontrast zwischen Kennzeichnung und Hintergrund;
-
Text im Fokus und nicht von der Beleuchtung überstrahlt;
-
Text ungefähr aufrecht, sofern Sie kein Layout mit Orientierungserkennung verwenden.
-
- Mehr
Text lesen
Wie führe ich einen Lesevorgang durch und werte das Ergebnis aus?
- Antwort
-
Setzen Sie
<module>/read-text/input/input-image-address, schreiben Sie auf<module>/read-text/execute(ein blockierender Aufruf) und prüfen Sieoutput/status-code. Bei1lesen Sieoutput/result:textist das gesamte Leseergebnis, wie die Engine es angeordnet hat, und wird nicht nachmin-scoregefiltert;words[]enthält jedes Wort mit seinemscoreund seinem Rahmen, gefiltert nachmin-score;word_count,mean_scoresowielanguage,engineundlayout, wie sie tatsächlich verwendet wurden, werden ebenfalls gemeldet. In der Produktion prüfen Sieword_countundwords[0].score, bevor Siewords[0].textmit dem erwarteten Wert vergleichen. - Mehr
-
Text lesen, Anleitung: Eine Bauteilkennzeichnung aus einem Kamerabild lesen
Fehlerbehebung
Probleme und Fehlermeldungen sind Schritt für Schritt unter Fehlerbehebung beschrieben:
-
Das Leseergebnis ist leer, obwohl der Text in einem Farbbild deutlich sichtbar ist
-
Ziffern werden als Buchstaben gelesen (O statt 0, S statt 5)
-
Das Leseergebnis enthält zusätzliche Wörter aus dem Hintergrund
-
Nadeldruck- oder lasergravierte Kennzeichnung wird schlecht gelesen
-
Ein Lesevorgang mit AUTO_OSD oder SPARSE_OSD wird abgelehnt ("also needs osd.traineddata beside …")
-
Ein hochgeladenes Modell erscheint nicht auf system/languages
-
Der Text wird in einer anderen Sprache als input/language gelesen
-
read-text antwortet mit -1 (belegt), während der Stream läuft
-
Ein Stream-Bild schlägt fehl mit "the frame was read with 'eng' instead and its result dropped"
-
Meine Einstellungen oder Module sind nach einem Neustart weg
Sprachmodelle
Wie lese ich eine andere Sprache?
- Antwort
-
Englisch (
eng) undosdwerden mit der Anwendung ausgeliefert.-
Laden Sie die
.traineddata-Datei vongithub.com/tesseract-ocr/tessdata_fast(kleiner und schneller, der richtige Standard für Bauteilkennzeichnungen) odertessdata_bestherunter. -
Laden Sie sie, ohne sie umzubenennen, in das auf
system/tessdata-dirgenannte Verzeichnis hoch: auf ctrlX OS über die ctrlX-Dateischnittstelle, auf einem PC, indem Sie die Datei dorthin kopieren. -
Setzen Sie
<module>/read-text/input/languageauf den Dateinamen ohne.traineddata, zum Beispieldeu. Die Codes haben nicht alle drei Buchstaben (zum Beispielchi_sim). -
Das Modell ist beim allernächsten Lesevorgang nutzbar, ohne Neustart. Hochladen entfernt nie die mitgelieferten Modelle.
-
- Mehr
Ich habe eine Modelldatei ersetzt - verwendet der Leser die neue?
- Antwort
-
Ja, ab dem nächsten
read-text, ohne Neustart. Die Erkennungs-Engine wird einmal pro Modul aufgebaut und behalten, aber vor jedem Lesen prüft der Leser Größe und Zeitstempel der Modelldatei und vergleicht, wenn sich eines davon geändert hat, ihren Inhalt mit dem, aus dem die Engine aufgebaut wurde. Ein geändertes Modell wird erneut geladen; das Protokoll meldetThe '<language>' model in '<directory>' changed on disk; loading it again. Auch ein Bild-Stream liest das nächste Bild mit dem Modell, wie es auf dem Datenträger liegt. - Ursache
-
Schlägt ein Lesevorgang direkt nach dem Ersetzen mit
-7fehl, konnte die Datei noch nicht geladen werden - zum Beispiel bei einem noch laufenden Upload. - Lösung
-
Lesen Sie erneut, sobald der Upload abgeschlossen ist; dieser Lesevorgang lädt das neue Modell.
- Mehr
Bild-Stream
Wie lese ich den Text auf jedem Bild eines Kamera-Streams?
- Antwort
-
Abonnieren Sie mit einem Modul den Stream des Cam Driver (experimentell): Schreiben Sie den Stream-Ordner der Kamera, zum Beispiel
hdvisionsystems/lumiscan-cam-driver/camera1/control/publish/output/stream, nach<module>/control/subscribe/input/address, setzen Siecontrol/subscribe/input/enableauftrueund schreiben Sie aufcontrol/subscribe/execute. Jedes Bild wird mit den Eingaben vonread-textgelesen, und ein Ergebnis pro Bild wird aufcontrol/subscribe/output/stream/resultveröffentlicht. Um das neueste Ergebnis als normalesread-text/output/resultzu lesen, setzen Siecontrol/subscribe/input/keep-latest-outputauftrue. - Mehr
Statuscodes und Fehler
Woran erkenne ich, ob ein Lesevorgang funktioniert hat, und wo steht der Grund für einen Fehler?
- Antwort
-
Prüfen Sie das Vorzeichen von
output/status-code: 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. Der Grund steht aufoutput/status-text. Ein fehlgeschlagener Schreibvorgang aufexecuteantwortet nur mit einem Statuscode (über REST ein bloßes400), lesen Sie also anschließendoutput/status-text; der Text steht auch im Anwendungsprotokoll: auf ctrlX OS im ctrlX Logbook oderjournalctl, auf einem PC in der Konsolenausgabe der Anwendung.-1bedeutet, dass das Modul belegt war; nichts wurde getan, und das vorherige Leseergebnis bleibt unberührt. Jedes andereexecuteleertoutput/resultbeim Start, lesen Sie das Ergebnis also, bevor Sie den nächsten Lesevorgang auslösen. - Mehr
Module, Lizenzierung und Support
Welche Lizenz brauche ich, und wie viele Module deckt sie ab?
- Antwort
-
Eine Lizenz deckt zehn Module ab; das elfte Modul belegt eine zweite Lizenz desselben Schlüssels, und ein Modul wird mit Status
-11abgelehnt, wenn keine Lizenz auf dem Gerät es abdeckt. Bezugswege:-
Bei HD Vision Systems gekauft: Die Lizenz liegt auf einem LumiScan Key (Windows 11 oder Ubuntu 24.04). Pro Gerät, auf dem die Software gleichzeitig läuft, ist ein LumiScan Key nötig; Keys können zwischen Geräten getauscht werden.
-
Im ctrlX Store für Windows 11 gekauft: ctrlX WORKS plus ein LumiScan Key.
-
Im ctrlX Store für ctrlX OS (ctrlX CORE oder IPC) gekauft: eine ctrlX-Lizenz, kein Key.
-
Auf ctrlX OS beendet sich die Anwendung kurz nach dem Start, wenn die Lizenz fehlt; der Grund wird in das Systemprotokoll geschrieben.
-
- Mehr
Wo finde ich weitere Antworten oder Support?
- Antwort
-
Siehe die LumiScan-FAQ der gesamten Dokumentation. Wenden Sie sich an den Customer Success von HD Vision Systems unter customer.success@hdvisionsystems.com oder +49 6221 6721905; für Lizenzen an licenses@hdvisionsystems.com.
- Mehr