KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
OCR (Optical Character Recognition)
Der OV80i kann gedruckten Text, Seriennummern, Datumscodes und andere alphanumerische Zeichen direkt aus Kamerabildern mithilfe eines vortrainierten OCR-Modells lesen. Im Gegensatz zu Klassifizierern und Segmentierern benötigt OCR keine Trainingsdaten. Es funktioniert sofort einsatzbereit.
OCR ist nützlich, wenn Sie Folgendes benötigen:
- Überprüfen, ob Seriennummern oder Chargennummern den erwarteten Werten entsprechen
- Bestätigen, dass Etiketten vorhanden und lesbar sind
- Datums-/Verfallscodes zur Rückverfolgbarkeit lesen
- Teilenummern an Komponenten während der Montage prüfen
OCR ist ausschließlich auf dem OV80i verfügbar. Der OV20i und der OV10i unterstützen OCR nicht.
Funktionsweise von OCR
Der OV80i verwendet eine zweistufige KI-Pipeline zur Texterkennung:
- Texterkennung (Detection): Findet, wo sich Text innerhalb der ROI befindet. Gibt Bounding Boxes um jedes erkannte Wort oder jede Textregion zurück.
- Zeichenerkennung (Recognition): Liest die Zeichen innerhalb jeder erkannten Bounding Box und gibt die Textzeichenkette zusammen mit einem Konfidenzwert zurück.
Dieser gesamte Prozess läuft auf der NVIDIA Jetson Orin NX GPU der Kamera. Es ist keine Cloud-Verbindung erforderlich.
Das Modell erkennt einen breiten Zeichensatz, einschließlich:
- Ziffern (0–9)
- Lateinische Buchstaben (A–Z, a–z, akzentuierte Zeichen)
- Gängige Satzzeichen und Symbole
- Griechische Buchstaben
- Währungssymbole
- Mathematische Operatoren
Der Zeichensatz ist fest vorgegeben und kann nicht angepasst werden. Das Modell unterstützt etwa 480 Zeichen, die die meisten gedruckten industriellen Texte in lateinbasierten Sprachen abdecken.
Voraussetzungen
Bevor Sie OCR einrichten, benötigen Sie eine Kamera, die:
- physisch montiert und stabil ist
- mit Ihrem Netzwerk verbunden und im Browser erreichbar ist
- auf das Teil mit dem zu lesenden Text fokussiert ist
Falls Sie dies noch nicht getan haben, folgen Sie zuerst den Einstiegsanleitungen:
Schritt 1: Neues Rezept erstellen
Jede Inspektion beginnt mit einem Rezept. Ein Rezept ist ein vollständiges Paket: Bildeinstellungen, Ausrichtung, Regions of Interest (ROIs), KI-Modelle und Ausgaberegeln.
- Navigieren Sie in der linken Seitenleiste zu All Recipes
- Klicken Sie oben rechts auf + New
- Geben Sie Ihrem Rezept einen aussagekräftigen Namen (z. B. „Serial Number Check", „Label Verification")
- Klicken Sie auf Activate, um es als aktives Rezept festzulegen, und dann auf Edit, um den Recipe Editor zu öffnen

Der Recipe Editor zeigt die vollständige Inspektions-Pipeline. Sie arbeiten sich von links nach rechts durch:
- Imaging Setup (Kameraeinstellungen)
- Image Alignment & Inspection Setup (Vorlage, ROIs)
- AI Blocks (Classification, Segmentation, OCR, Measurement)
- Set Pass/Fail & IO Logic (Ausgaberegeln)
Eine detaillierte Anleitung zur Rezepterstellung finden Sie unter Erste Inspektion erstellen.
Schritt 2: Bildeinstellungen konfigurieren
Eine gute Bildqualität ist die Grundlage für eine genaue OCR. Der Text muss mit starkem Kontrast deutlich sichtbar sein.
- Klicken Sie auf Configure Imaging oder navigieren Sie zum Reiter Imaging Setup
- Passen Sie die folgenden Einstellungen an, während Sie die Live-Vorschau beobachten:
| Einstellung | Ziel für OCR |
|---|---|
| Exposure | Hell genug, um den gesamten Text klar zu erkennen. Zu dunkel verschwinden die Zeichen im Hintergrund. Zu hell überstrahlen weiße Etiketten. |
| Gain | So niedrig wie möglich halten. Hoher Gain erzeugt Rauschen, das für den Detektor wie Textartefakte aussieht. |
| Gamma | Anpassen, um den Kontrast zwischen Text und Hintergrund zu verbessern. |
| Focus | Der Text muss scharf sein. Wenn Zeichen unscharf oder verschwommen wirken, justieren Sie den Fokusring des C-Mount-Objektivs. |
Die OCR-Genauigkeit hängt stark von der Bildqualität ab. Der Text muss im Kamerabild mit gutem Kontrast zum Hintergrund deutlich sichtbar sein. Dunkler Text auf hellem Hintergrund oder heller Text auf dunklem Hintergrund funktionieren beide gut. Vermeiden Sie:
- Ungleichmäßige Beleuchtung, die Schatten über den Zeichen erzeugt
- Reflexionen auf glänzenden Etiketten
- Unterbelichtung, die Text vom Hintergrund schwer unterscheidbar macht
Zoomen Sie in der Live-Vorschau in den Textbereich hinein. Können Sie jedes Zeichen klar lesen? Wenn Sie es nicht lesen können, kann es die KI auch nicht.
Eine ausführliche Anleitung zu allen Bildeinstellungen finden Sie unter Bildeinstellungen.
Schritt 3: Template-Ausrichtung einrichten
Die Template-Ausrichtung teilt der Kamera mit, wie sie die Position und Ausrichtung Ihres Teils verfolgen soll. Dies ist unerlässlich, da Teile nicht immer an genau derselben Stelle auf dem Förderband oder der Vorrichtung landen.
- Navigieren Sie zum Tab Template Image and Alignment
- Platzieren Sie Ihr Teil im Sichtfeld der Kamera
- Klicken Sie auf Capture Template, um ein Referenzbild aufzunehmen
- Zeichnen Sie 2–3 kleine Template-Regionen auf Merkmalen ein, die immer vorhanden und leicht zu identifizieren sind (z. B. Ecken, Logos, Befestigungslöcher)
Platzieren Sie die Template-Regionen so weit wie möglich voneinander entfernt auf dem Teil. Dies reduziert das Winkelflattern bei der Ausrichtung drastisch. Zwei nahe beieinander liegende Regionen ergeben eine schlechte Rotationsstabilität; zwei Regionen an gegenüberliegenden Ecken ergeben eine ausgezeichnete Stabilität.
Wenn Sie die Ausrichtung überspringen, werden Ihre OCR-ROIs auf absolute Pixelpositionen fixiert. Jede Bewegung des Teils führt dazu, dass die ROI den Text verfehlt. Richten Sie die Ausrichtung für den Produktionseinsatz immer ein.
Eine ausführliche Anleitung zur Template-Ausrichtung finden Sie unter Alignment.
Schritt 4: OCR Regions of Interest (ROIs) erstellen
Nun definieren Sie genau, wo auf dem Teil die Kamera nach Text suchen soll. Dies ist der wichtigste Schritt für die OCR-Genauigkeit.
4a. Zu Inspection Setup navigieren
- Klicken Sie im Recipe Editor auf den Tab Inspection Setup
- Sie sehen den Inspection Editor mit Ihrem Template-Bild
4b. OCR-Modell hinzufügen
- Suchen Sie im rechten Bereich den Abschnitt Models
- Wenn kein OCR-Modell aufgelistet ist, klicken Sie unten auf die Schaltfläche Add und wählen Sie OCR
- Das OCR-Modell erscheint in der Liste Models
Sie können nur einen OCR-Block pro Recipe haben. Sie können jedoch mehrere ROIs innerhalb dieses Blocks erstellen, um Text aus verschiedenen Bereichen des Teils zu lesen.
4c. Eine OCR-ROI erstellen
- Stellen Sie sicher, dass die Zeile des OCR-Modells in der Liste Models ausgewählt (hervorgehoben) ist
- Klicken Sie im Abschnitt Region of Interest auf Add ROI
- Eine neue rechteckige ROI erscheint auf dem Bild
- Ziehen Sie die ROI über den Text, den Sie lesen möchten
- Passen Sie die Größe durch Ziehen der Eckpunkte an

4d. ROI-Ausrichtung einstellen
Dies ist das Wichtigste, das Sie richtig einstellen müssen. Die Ausrichtung Ihrer ROI muss mit der Ausrichtung des Textes übereinstimmen, den Sie lesen möchten.
Die OCR-Engine schneidet das Bild anhand des Winkels der ROI zu und verarbeitet den Ausschnitt dann so, als wäre der Text horizontal. Wenn der ROI-Winkel nicht mit dem Textwinkel übereinstimmt, versucht die Engine, rotierten Text zu lesen, und liefert unbrauchbare Ergebnisse.
Beispiele:
- Text wird horizontal von links nach rechts gelesen: ROI-Winkel sollte 0 Grad betragen
- Text ist um 90 Grad im Uhrzeigersinn gedreht: ROI-Winkel sollte 90 Grad betragen
- Text steht auf dem Kopf: ROI-Winkel sollte 180 Grad betragen
- Text ist in einem 45-Grad-Winkel: ROI-Winkel sollte 45 Grad betragen
So drehen Sie eine ROI:
- Wählen Sie die ROI durch Anklicken aus
- Verwenden Sie den Drehgriff an der Ecke der ROI, ODER
- Stellen Sie den Winkelwert direkt in den Positionsfeldern am unteren Rand der Arbeitsfläche ein
Die Positionsleiste zeigt: H (Höhe), W (Breite), X und Y (Position) sowie den Winkel in Grad an.

4e. ROI in der richtigen Größe anlegen
- Legen Sie die ROI so eng wie möglich um den Textbereich. Zusätzlicher Hintergrund erzeugt Rauschen und kann zu Fehldetektionen führen.
- Lassen Sie einen kleinen Rand (10-20 Pixel) um den Text, damit Zeichen an den Kanten nicht abgeschnitten werden.
- Schließen Sie keinen anderen Text ein, den Sie nicht lesen möchten. Bei mehreren Textbereichen erstellen Sie für jeden eine separate ROI.
Wenn Sie Text aus mehreren Bereichen des Teils lesen müssen (z. B. eine Seriennummer UND einen Datumscode), erstellen Sie für jeden eine separate ROI. So erhalten Sie unabhängige Ergebnisse und können Pass/Fail-Regeln einfacher konfigurieren.
4f. Weitere ROIs erstellen (optional)
Wiederholen Sie die Schritte 4c-4e für jeden Textbereich, den Sie lesen möchten. Jede ROI erhält einen eigenen Namen in der Liste Region of Interest. Benennen Sie sie aussagekräftig um (z. B. "Serial Number", "Date Code", "Part Label"), indem Sie auf den Namen doppelklicken.
Verwenden Sie Kopieren-Einfügen, um ROIs zu duplizieren. Die Namen werden automatisch hochgezählt (z. B. "ROI", "ROI (1)", "ROI (2)").
Schritt 5: OCR-Block konfigurieren und testen
5a. Zum OCR-Block navigieren
Klicken Sie auf den Tab OCR Block in der Tab-Leiste des Recipe Editors. Auf der linken Seite sehen Sie das Kamerabild und auf der rechten Seite ein Einstellungs-Panel.

Das rechte Panel zeigt:
- Beschreibung OPTICAL CHARACTER RECOGNITION
- Hinweis, dass es sich um ein vortrainiertes Modell handelt, das keine Trainingsdaten benötigt
- Anweisungen zur Validierung mittels Live Preview oder Test
5b. Live Preview aktivieren
Aktivieren Sie das Kontrollkästchen Live Preview Mode oben rechts. Die Kamera beginnt, Bilder in Echtzeit zu verarbeiten.

Bei aktiver Live Preview sehen Sie:
- Processing Time: Wie lange das OCR-Modell pro Bild benötigt
- Latency: Gesamte Round-Trip-Zeit einschließlich Bildaufnahme und Rendering
- Violette Bounding Boxes um erkannte Textbereiche, eingeblendet über dem Kamerabild
- Erkannten Text als Beschriftung auf jeder Bounding Box
- Parameter-Panel auf der rechten Seite zur Feinabstimmung der Detektionseinstellungen
5c. Überprüfen, ob OCR korrekt liest
Platzieren Sie bei aktivierter Live Preview Ihr Teil unter der Kamera und prüfen Sie:
- Werden alle Textbereiche erkannt? Sie sollten violette Boxen um jedes Wort bzw. jeden Ausdruck in der ROI sehen.
- Wird der Text korrekt gelesen? Die Beschriftungen sollten dem tatsächlichen Text auf dem Teil entsprechen.
- Gibt es Fehldetektionen? Werden Nicht-Text-Bereiche fälschlicherweise als Text erkannt?
- Verschieben Sie das Teil leicht. Funktioniert OCR weiterhin an verschiedenen Positionen (damit wird die Ausrichtung getestet)?
Wenn Text nicht erkannt oder falsch gelesen wird, prüfen Sie:
- Ob die ROI-Ausrichtung mit der Textausrichtung übereinstimmt (siehe Schritt 4d)
- Ob die ROI korrekt über dem Text positioniert ist
- Ob die Bildqualität gut ist (scharfer Fokus, guter Kontrast, gleichmäßige Beleuchtung)
- Passen Sie ggf. die OCR-Parameter an (siehe nächster Abschnitt)
Schritt 6: OCR-Parameter anpassen
Wenn Live Preview aktiviert ist, zeigt das rechte Panel vier einstellbare Parameter. Diese steuern die Stufe der Texterkennung (wo Text gefunden wird), nicht die Erkennungsstufe (was er sagt).
| Parameter | Standard | Funktion |
|---|---|---|
| Text Segmentation Threshold | 0.10 | Wie sicher der Detektor sein muss, dass ein Bereich Text enthält. Höhere Werte = strengere Detektion, weniger Fehldetektionen, kann aber schwachen Text übersehen. Niedrigere Werte = empfindlicher, erkennt schwachen Text, kann aber Fehldetektionen erzeugen. Bereich: 0,0 bis 1,0. |
| Unclip Ratio | 4.0 | Wie weit die erkannten Bounding Boxes vom Textumriss nach außen erweitert werden. Höhere Werte = größere Boxen. Erhöhen, wenn Boxen die Kanten großer Zeichen abschneiden. Verringern, wenn benachbarte Wörter zu einer Box verschmelzen. |
| Unclip Ceiling | 20 | Maximale Pixel-Erweiterung durch Unclipping. Begrenzt das Wachstum, damit große Ratio-Erweiterungen bei großem Text keine übermäßig großen Boxen erzeugen. Erhöhen, wenn großer Text auch nach Erhöhung der Unclip Ratio noch abgeschnitten wird. |
| Min Text Area | 500 | Mindestfläche (in Pixeln) für einen erkannten Textbereich. Alles Kleinere wird als Rauschen verworfen. Erhöhen, wenn kleine Artefakte als Text erkannt werden. Verringern, wenn kleiner, aber gültiger Text herausgefiltert wird. |
Beginnen Sie mit den Standardwerten. Passen Sie diese nur an, wenn Sie konkrete Probleme in der Live Preview feststellen:
| Problem | Anzupassender Parameter | Richtung |
|---|---|---|
| Nicht-Text-Bereiche werden als Text erkannt | Text Segmentation Threshold | Erhöhen |
| Gültiger Text wird übersehen | Text Segmentation Threshold | Verringern |
| Bounding Boxes schneiden Zeichenkanten ab | Unclip Ratio | Erhöhen |
| Benachbarte Wörter verschmelzen zu einer Box | Unclip Ratio | Verringern |
| Boxen werden bei großem Text zu groß | Unclip Ceiling | Verringern |
| Großer Text trotz erhöhter Unclip Ratio weiterhin abgeschnitten | Unclip Ceiling | Erhöhen |
| Rauschen/Artefakte werden als Text erkannt | Min Text Area | Erhöhen |
| Kleiner, gültiger Text wird herausgefiltert | Min Text Area | Verringern |
Parameteränderungen werden in der Live Preview sofort wirksam, sodass Sie iterativ anpassen können. Diese Parameter gelten auch während der Produktionsaufnahmen, nicht nur in der Vorschau.
Schritt 7: Test mit aufgenommenen Bildern
Nach der Parameterabstimmung mit Live Preview validieren Sie die OCR anhand einer Reihe von Produktionsmustern.
7a. Verwendung des Test-Panels
- Deaktivieren Sie den Live Preview Mode (Kontrollkästchen abwählen)
- Klicken Sie auf die Schaltfläche Test

- Klicken Sie auf Select From Library, um Bilder aus zuvor aufgenommenen Inspektionen auszuwählen, oder klicken Sie auf Upload Captures, um Bilder von Ihrem Computer hochzuladen
- Die Testergebnisse zeigen für jede ROI:
- Detected Text (in Monospace-/Code-Formatierung dargestellt)
- Confidence (farbcodiertes Tag: grün über 80 %, orange über 50 %, rot unter 50 %)
- Detection Count (Anzahl der gefundenen Textbereiche)
7b. Worauf Sie achten sollten
- Konsistenz: Liest die OCR für dasselbe Teil jedes Mal denselben Text?
- Genauigkeit: Stimmen die erkannten Zeichenfolgen mit dem tatsächlichen Text auf dem Teil überein?
- Confidence-Werte: Liegen sie konstant über 80 %? Niedrige Confidence weist häufig auf Bildqualitätsprobleme hin.
- Grenzfälle: Testen Sie mit Teilen, deren Text verschmiert, verblasst oder teilweise verdeckt ist.
Wenn die Confidence-Werte konstant unter 80 % liegen, überprüfen Sie Ihre Bildeinstellungen (Schritt 2). Die OCR-Genauigkeit ist direkt von der Bildqualität abhängig. Keine Parameterabstimmung kann ein unscharfes oder schlecht beleuchtetes Bild kompensieren.
Schritt 8: Pass/Fail-Regeln einrichten (IO Logic)
Nachdem die OCR den Text korrekt erkennt, müssen Sie definieren, was als pass oder fail gilt. Navigieren Sie zum Tab IO Logic.
Basic Mode
Der Basic Mode bietet eine einfache regelbasierte Benutzeroberfläche für OCR-Pass/Fail-Logik. Es sind keine Node-RED-Kenntnisse erforderlich.

Die Seite zeigt:
- Tabs Preview / Test auf der linken Seite (zur Visualisierung der Ergebnisse anhand Ihrer Regeln)
- Abschnitt OCR Rules auf der rechten Seite
- Schaltfläche Save & Deploy zur Aktivierung der Regeln
- Schaltfläche Advanced Mode zum Wechsel zu Node-RED
Erstellen einer Regel
Klicken Sie auf + Add rule, um eine Pass/Fail-Regel zu erstellen. Jede Regel hat drei Felder:

| Feld | Beschreibung |
|---|---|
| ROIs | Welche ROI(s) ausgewertet werden sollen. Klicken Sie zum Ausklappen und wählen Sie "All ROIs" oder einzelne Regionen aus. |
| Operator | Der auf den erkannten Text anzuwendende Vergleich. |
| Text | Die erwartete Textzeichenfolge für den Vergleich. |
Verfügbare Operatoren
Klicken Sie auf das Operator-Dropdown, um alle vier Optionen anzuzeigen:

| Operator | Verhalten | Anwendungsbeispiel |
|---|---|---|
| = (equals) | Der gesamte zusammengefügte erkannte Text muss exakt dem erwarteten Text entsprechen | Prüfen, ob eine Seriennummer genau "SN-2025-0042" lautet |
| != (not equals) | Der zusammengefügte Text darf NICHT dem erwarteten Text entsprechen | Teile mit bekanntem fehlerhaften Code ablehnen |
| includes | Der zusammengefügte Text muss den erwarteten Text als Teilzeichenfolge enthalten | Prüfen, ob ein Etikett irgendwo das Wort "SAFETY" enthält |
| not includes | Der zusammengefügte Text darf den erwarteten Text NICHT enthalten | Sicherstellen, dass ein veralteter Produktcode nicht erscheint |
Wie Text verglichen wird
Wenn eine ROI mehrere erkannte Textbereiche enthält (z. B. erkennt der Detektor "LOT" und "2025" als separate Wörter), werden alle einzelnen Text-Strings vor dem Vergleich mit Leerzeichen verbunden.
Wenn der Detektor also drei Textbereiche mit "LOT", "2025" und "A1" erkennt, lautet der zusammengefügte Text "LOT 2025 A1". Ihre Regel vergleicht gegen diese vollständige zusammengefügte Zeichenkette.
Das bedeutet:
- Eine equals-Regel für
"LOT 2025 A1"würde bestehen - Eine includes-Regel für
"2025"würde bestehen - Eine equals-Regel für nur
"LOT"würde fehlschlagen (weil der zusammengefügte Text mehr als nur "LOT" enthält)
Mehrere Regeln
Sie können weitere Regeln hinzufügen, indem Sie erneut auf + Add rule klicken. Alle Regeln verwenden AND-Logik: Jede Regel muss bestehen, damit die OCR-Prüfung besteht. Schlägt eine einzelne Regel fehl, schlägt die gesamte Inspektion fehl.
ROI-Auswahl

Klicken Sie auf das ROIs-Dropdown, um auszuwählen, auf welche Region(en) die Regel angewendet wird:
- All ROIs: Die Regel wertet den Text aller OCR-Bereiche zusammen aus
- Specific ROI: Aufklappen, um einzelne ROIs nach Namen auszuwählen (deshalb ist es wichtig, Ihre ROIs in Schritt 4f aussagekräftig zu benennen)
Speichern und Bereitstellen
Klicken Sie nach der Konfiguration Ihrer Regeln auf Save & Deploy, um sie zu aktivieren. Die Regeln werden sofort für alle zukünftigen Inspektionen wirksam.
Advanced Mode (Node-RED)
Für komplexere Pass/Fail-Logik, die der Basic Mode nicht abdecken kann, wechseln Sie in den Advanced Mode.
Klicken Sie auf die Schaltfläche Advanced Mode, um einen Bestätigungsdialog zu sehen:

Der Dialog erklärt:
- Advanced Mode nutzt die vollständige visuelle Node-RED-Programmierumgebung
- Alle Basic Mode-Regeln werden deaktiviert
- Sie können jederzeit zum Basic Mode zurückwechseln
Klicken Sie auf Switch to Advanced Mode (oder, falls Sie sich bereits im Advanced Mode befinden, lautet die Schaltfläche Basic Mode).

Im Advanced Mode sehen Sie eine Node-RED-Flow-Oberfläche mit vorgefertigten Nodes, darunter:
- All Block Outputs: Empfängt Ergebnisse aller AI-Blöcke (Classification, Segmentation, OCR, Measurement)
- Check OCR (oder ähnlich): Ein Function-Node mit JavaScript, das OCR-Ergebnisse auswertet
- Classification Block Logic / Format Data for PLC / Trigger: Weitere Ausgabe-Nodes für die Integration
- Inspection Pass/Fail: Endgültige Pass/Fail-Entscheidung
- Save to Library: Speichert Ergebnisse
OCR-Ausgabe-Payload in Node-RED
Im Advanced Mode sind OCR-Ergebnisse im Objekt msg.payload.ocr verfügbar. Damit erhalten Sie vollständigen programmatischen Zugriff auf jede Erkennung:
{
"predictions": [
{
"roi_id": 1,
"roi_name": "Serial Number",
"center_x_global": 450,
"center_y_global": 220,
"angle_global": 90,
"search_area_id": 1,
"detections": [
{
"text": "SN-2025-0042",
"confidence": 0.95,
"roi_bbox": {
"x": 10,
"y": 5,
"width": 120,
"height": 30,
"angle": 0
},
"global_bbox": {
"x": 450,
"y": 220,
"width": 120,
"height": 30,
"angle": 90
}
}
]
}
]
}
| Feld | Beschreibung |
|---|---|
| roi_id | Numerische ID der ROI, die dieses Ergebnis erzeugt hat |
| roi_name | Der Name, den Sie der ROI gegeben haben (z. B. "Serial Number") |
| center_x_global / center_y_global | Mittelpunktposition der ROI in Vollbild-Koordinaten |
| angle_global | Rotationswinkel der ROI im Vollbild |
| search_area_id | Der Inspektionstyp / Suchbereich, zu dem diese ROI gehört |
| detections | Array der einzelnen Texterkennungen innerhalb dieser ROI |
| detections[].text | Die erkannte Textzeichenkette |
| detections[].confidence | Erkennungs-Confidence von 0.0 bis 1.0 (begrenzt) |
| detections[].roi_bbox | Position der Bounding Box relativ zum Ursprung des ROI-Ausschnitts |
| detections[].global_bbox | Position der Bounding Box im vollständigen Kamerabild (berücksichtigt ROI-Rotation und -Ausrichtung) |
Verwenden Sie msg.payload.ocr.predictions[0].detections.map(d => d.text).join(" "), um dieselbe zusammengefügte Textzeichenkette zu erhalten, die der Basic Mode zum Vergleich verwendet.
Mit dem Advanced Mode können Sie:
- Regex-Muster mit JavaScript auf erkannten Text anwenden
- Erkennungen nach Confidence-Schwellenwert filtern
- OCR-Ergebnisse mit Classification-/Segmentation-Ergebnissen für komplexe Logik kombinieren
- OCR-Text für die PLC-Ausgabe formatieren (z. B. die erkannte Seriennummer über EtherNet/IP senden)
- Benutzerdefinierte Nachrichten basierend auf OCR-Inhalt an Microsoft Teams oder per E-Mail senden
Eine ausführliche Anleitung zu Node-RED finden Sie unter Node-RED Basics.
Sie können jederzeit zwischen Basic- und Advanced-Modus wechseln, indem Sie den Umschalter oben auf der IO Logic-Seite verwenden. Beim Wechsel in den Basic Mode wird jede bereitgestellte Node-RED-Logik deaktiviert und durch Basic Mode-Regeln ersetzt. Beim Zurückwechseln wird der Node-RED-Flow wiederhergestellt.
Schritt 9: Rezept bereitstellen
Sobald Ihre OCR-Einrichtung abgeschlossen und getestet ist:
- Navigieren Sie zurück zum Recipe Editor (klicken Sie auf Recipe Editor in der linken Seitenleiste)
- Klicken Sie auf die violette Schaltfläche Deploy Recipe unten rechts
- Das Rezept ist nun aktiv und führt Inspektionen aus
Ergebnisse anzeigen
HMI
Die HMI-Seite zeigt Live-Inspektionsergebnisse. Bei aktiviertem OCR sehen Sie:
- Das Live-Kamerabild mit violetten Begrenzungsrahmen um erkannten Text
- Textlabels, die anzeigen, was gelesen wurde
- Pass/Fail-Status basierend auf Ihren IO-Logic-Regeln
- Laufende Statistiken: Gesamtanzahl der Inspektionen, bestanden, fehlgeschlagen, Ausbeuteprozentsatz

Library
Navigieren Sie zu Library in der linken Seitenleiste, um gespeicherte Ergebnisse vergangener Aufnahmen einzusehen. Jeder Aufnahmeeintrag zeigt:
- Das aufgenommene Bild mit OCR-Overlay
- Erkannten Text pro ROI
- Konfidenzwerte
- Pass/Fail-Ergebnis
Fehlerbehebung
Kein Text erkannt
| Mögliche Ursache | Lösung |
|---|---|
| ROI nicht über dem Text positioniert | ROI im Inspection Setup neu positionieren |
| ROI-Ausrichtung stimmt nicht mit dem Text überein | ROI drehen, um sie an der Textrichtung auszurichten (Schritt 4d) |
| Text im Bild zu klein | Kamera näher bewegen oder Objektiv mit längerer Brennweite verwenden |
| Text zu klein im Verhältnis zur ROI | ROI enger um den Textbereich legen |
| Min Text Area zu hoch | Parameter Min Text Area verringern |
| Schlechte Beleuchtung / geringer Kontrast | Beleuchtung verbessern, um den Kontrast zwischen Text und Hintergrund zu maximieren |
| Text ist unscharf | Fokus am C-Mount-Objektiv anpassen und Stabilität der Kamerahalterung überprüfen |
| Ausrichtung nicht eingerichtet | Texterkennung erfordert Ausrichtung. Template-Ausrichtung einrichten (Schritt 3) |
Falscher Text erkannt (Fehllesungen)
| Mögliche Ursache | Lösung |
|---|---|
| ROI-Ausrichtung stimmt nicht mit der Textausrichtung überein | Dies ist die häufigste Ursache. ROI drehen, um sie an der Textrichtung auszurichten (Schritt 4d) |
| Geringe Bildqualität oder Rauschen | Belichtung erhöhen, Gain reduzieren, Beleuchtung verbessern |
| Text Segmentation Threshold zu niedrig | Erhöhen, um falsche Texterkennungen herauszufiltern |
| Überlappende Textbereiche werden zu einer Erkennung zusammengeführt | Unclip Ratio verringern, um das Zusammenführen von Boxen zu verhindern |
| Mehrere Textzeilen in einer ROI | Separate ROIs für jede Zeile erstellen, wenn die Lesereihenfolge wichtig ist |
OCR-Konfidenz ist durchgehend niedrig
| Mögliche Ursache | Lösung |
|---|---|
| Ungleichmäßige Beleuchtung | Gleichmäßige Ausleuchtung über den gesamten Textbereich sicherstellen |
| Blendung oder Reflexionen auf dem Text (insbesondere bei glänzenden Etiketten) | Beleuchtungswinkel anpassen, um spiegelnde Reflexionen zu vermeiden. Diffuse Beleuchtung in Betracht ziehen. |
| Sehr kleine oder stark stilisierte Schriftart | Kamera näher bewegen oder Objektiv mit längerer Brennweite verwenden, um die Textgröße im Bild zu erhöhen |
| Beschädigter, verblasster oder teilweise gedruckter Text | OCR kann nur lesen, was die Kamera sieht. Bei physisch beschädigtem Text ist die Genauigkeit geringer. |
| Hoher Gain in den Bildeinstellungen | Gain reduzieren. Hoher Gain erzeugt Rauschen, das wie Textartefakte aussieht. |
Pass/Fail-Regeln funktionieren nicht wie erwartet
| Mögliche Ursache | Lösung |
|---|---|
| Text wird anders zusammengefügt als erwartet | Live Preview aktivieren und genau prüfen, welcher Text erkannt wird. Beachten Sie, dass mehrere Erkennungen mit Leerzeichen verbunden werden. |
| Verwendung von "equals", wenn "includes" passender wäre | Wenn nur ein Teilstring relevant ist, "includes" statt "equals" verwenden |
| Regeln nicht bereitgestellt | Nach Änderung der Regeln im Basic Mode auf Save & Deploy klicken |
| Falsche ROI in der Regel ausgewählt | ROIs-Dropdown in Ihrer Regel überprüfen, um sicherzustellen, dass die richtige Region adressiert wird |
Einschränkungen
- Maximal 1 OCR-Block pro Rezept (innerhalb dieses Blocks können mehrere ROIs verwendet werden)
- Nur auf Englisch optimiertes Modell: Das vortrainierte Modell ist für lateinischen Drucktext optimiert. Handschriftlicher Text, Kursivschrift oder nicht-lateinische Schriften (Chinesisch, Japanisch, Koreanisch, Arabisch) werden nicht unterstützt.
- Keine Regex- oder Pattern-Matching-Funktion im Basic Mode: Pass/Fail-Regeln verwenden einfache String-Vergleiche (equals, not equals, includes, not includes). Für komplexe Validierungsmuster (z. B. Abgleich von "SN-####-####") verwenden Sie den Advanced Mode (Node-RED) mit benutzerdefinierten JavaScript-Regex.
- Kein benutzerkonfigurierbarer Zeichensatz: Das 480-Zeichen-Wörterbuch des Modells ist fest vorgegeben. Sie können die Erkennung beispielsweise nicht auf reine Ziffern beschränken. Verwenden Sie Pass/Fail-Regeln, um das erwartete Format zu validieren.
- Keine garantierte Textreihenfolge: Wenn mehrere Textbereiche innerhalb einer ROI erkannt werden, werden sie in der Erkennungsreihenfolge (nach Kontur) zusammengeführt, nicht zwangsläufig in Leserichtung (von links nach rechts, von oben nach unten). Wenn die Leserichtung relevant ist, verwenden Sie separate ROIs für jede Textzeile.
- Nur vortrainiertes Modell: Im Gegensatz zu Klassifizierung und Segmentierung kann das OCR-Modell nicht auf Ihre spezifischen Schriftarten oder Textstile neu trainiert oder feinabgestimmt werden. Es nutzt das integrierte vortrainierte OCR-Modell.
Siehe auch
- Erste Inspektion erstellen – Vollständige Anleitung zur Rezepterstellung
- Bildeinstellungen – Detaillierter Leitfaden zur Bildkonfiguration
- Ausrichtung – Vertiefung zur Vorlagenausrichtung
- Regions of Interest (ROIs) – ROI-Dimensionierung und -Strategie
- Inspektionseinrichtung und ROI-Typen – Referenz zu ROI-Typen
- Node-RED Grundlagen – Erweiterte IO-Logik-Programmierung
- Grundlagen der Bildgebung – Theorie zu Beleuchtung und Bildqualität