KI-GESTÜTZTE DOKUMENTATION
Was möchten Sie wissen?
OCR (Optical Character Recognition)
Die OV80i kann gedruckten Text, Seriennummern, Datumscodes und andere alphanumerische Zeichen direkt aus Kamerabildern mithilfe eines vortrainierten OCR-Modells lesen. Im Gegensatz zu Classifiern und Segmentern benötigt OCR keine Trainingsdaten. Es funktioniert sofort einsatzbereit.
OCR ist nützlich, wenn Sie Folgendes benötigen:
- Überprüfen, ob Seriennummern oder Chargencodes mit den erwarteten Werten übereinstimmen
- Bestätigen, dass Etiketten vorhanden und lesbar sind
- Lesen von Datums-/Ablaufcodes zur Rückverfolgbarkeit
- Prüfen von Teilenummern auf Komponenten während der Montage
OCR ist ausschließlich auf der OV80i verfügbar. Die OV20i und OV10i unterstützen kein OCR.
Funktionsweise von OCR
Die OV80i verwendet eine zweistufige KI-Pipeline zur Texterkennung:
- Texterkennung (Text Detection): Findet, wo sich Text innerhalb der ROI befindet. Gibt Bounding Boxes um jedes erkannte Wort oder jeden Textbereich zurück.
- Texterfassung (Text Recognition): Liest die Zeichen innerhalb jeder erkannten Bounding Box und gibt die Zeichenkette zusammen mit einem Confidence Score 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, darunter:
- Ziffern (0-9)
- Lateinische Buchstaben (A-Z, a-z, Zeichen mit Akzenten)
- Gängige Satzzeichen und Symbole
- Griechische Buchstaben
- Währungssymbole
- Mathematische Operatoren
Der Zeichensatz ist festgelegt und kann nicht angepasst werden. Das Modell unterstützt etwa 480 Zeichen, die den Großteil gedruckter Industrietexte 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 zunächst den Einstiegsleitfäden:
Schritt 1: Neues Recipe erstellen
Jede Inspektion beginnt mit einem Recipe. Ein Recipe 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 Recipe einen aussagekräftigen Namen (z. B. „Serial Number Check", „Label Verification")
- Klicken Sie auf Activate, um es als aktives Recipe festzulegen, und dann auf Edit, um den Recipe Editor zu öffnen

Der Recipe Editor zeigt die vollständige Inspektionspipeline. 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 ausführliche Anleitung zur Erstellung von Recipes finden Sie unter Create First Inspection.
Schritt 2: Bildeinstellungen konfigurieren
Eine gute Bildqualität ist die Grundlage für genaue OCR. Text muss klar erkennbar sein und einen starken Kontrast aufweisen.
- Klicken Sie auf Configure Imaging oder navigieren Sie zum Tab 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 sehen. Bei zu geringer Helligkeit verschwinden Zeichen im Hintergrund. Bei zu hoher Helligkeit werden weiße Etiketten überstrahlt. |
| Gain | So niedrig wie möglich halten. Hoher Gain führt zu 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 aussehen, justieren Sie den Fokusring des C-Mount-Objektivs. |
Die OCR-Genauigkeit hängt stark von der Bildqualität ab. Der Text muss im Kamerabild deutlich sichtbar sein und einen guten Kontrast zum Hintergrund aufweisen. Dunkler Text auf hellem Hintergrund oder heller Text auf dunklem Hintergrund funktionieren beide gut. Vermeiden Sie:
- Ungleichmäßige Beleuchtung, die Schatten über Zeichen erzeugt
- Reflexionen auf glänzenden Etiketten
- Unterbelichtung, die den Text schwer vom Hintergrund 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 die KI es auch nicht.
Eine detaillierte Anleitung zu allen Bildeinstellungen finden Sie unter Image Settings.
Schritt 3: Vorlagenausrichtung einrichten
Die Vorlagenausrichtung teilt der Kamera mit, wie die Position und Ausrichtung Ihres Teils verfolgt werden soll. Dies ist unerlässlich, da Teile nicht immer an genau derselben Stelle auf dem Förderband oder in der Vorrichtung landen.
- Navigieren Sie zur Registerkarte 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 Vorlagenregionen auf Merkmalen, die immer vorhanden und leicht zu identifizieren sind (z. B. Ecken, Logos, Befestigungslöcher)
Platzieren Sie die Vorlagenregionen so weit wie möglich voneinander entfernt auf dem Teil. Dies reduziert das Winkelrauschen bei der Ausrichtung erheblich. Zwei nah beieinander liegende Regionen führen zu schlechter Rotationsstabilität; zwei Regionen an gegenüberliegenden Ecken sorgen für hervorragende Stabilität.
Wenn Sie die Ausrichtung überspringen, werden Ihre OCR-ROIs an absolute Pixelpositionen gebunden. Jede Bewegung des Teils führt dazu, dass die ROI den Text verfehlt. Richten Sie für den Produktionseinsatz stets die Ausrichtung ein.
Einen ausführlichen Leitfaden zur Vorlagenausrichtung 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 die Registerkarte Inspection Setup
- Der Inspection Editor mit Ihrem Vorlagenbild wird angezeigt
4b. Das 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 Models-Liste
Sie können pro Rezept nur einen OCR-Block 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 Models-Liste 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, um sie über dem zu lesenden Text zu positionieren
- Passen Sie die Größe durch Ziehen der Eckgriffe an

4d. Die ROI-Ausrichtung festlegen
Dies ist der wichtigste Punkt, den Sie richtig einstellen müssen. Die Ausrichtung Ihrer ROI muss der Ausrichtung des zu lesenden Textes entsprechen.
Die OCR-Engine schneidet das Bild anhand des ROI-Winkels aus und verarbeitet den Ausschnitt dann so, als ob der Text horizontal wäre. Wenn der ROI-Winkel nicht mit dem Textwinkel übereinstimmt, versucht die Engine, gedrehten 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 Rotationsgriff 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.

4e. ROI korrekt dimensionieren
- Legen Sie die ROI so eng wie möglich um den Textbereich. Zusätzlicher Hintergrund führt zu Rauschen und kann Fehlerkennungen verursachen.
- Fügen Sie einen kleinen Rand (10–20 Pixel) um den Text hinzu, damit Zeichen an den Rändern nicht abgeschnitten werden.
- Beziehen Sie keinen anderen Text ein, den Sie nicht lesen möchten. Wenn es mehrere Textbereiche gibt, 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 Bereich eine separate ROI. Dies liefert unabhängige Ergebnisse und erleichtert die Konfiguration von Pass/Fail-Regeln.
4f. Zusätzliche ROIs erstellen (optional)
Wiederholen Sie die Schritte 4c–4e für jeden Textbereich, den Sie lesen müssen. Jede ROI erhält ihren eigenen Namen in der Region of Interest-Liste. Benennen Sie sie in etwas Beschreibendes um (z. B. "Serial Number", "Date Code", "Part Label"), indem Sie auf den Namen doppelklicken.
Verwenden Sie Kopieren und Einfügen, um ROIs zu duplizieren. Die Namen werden automatisch inkrementiert (z. B. "ROI", "ROI (1)", "ROI (2)").
Schritt 5: OCR-Block konfigurieren und testen
5a. Zum OCR-Block navigieren
Klicken Sie auf die Registerkarte OCR Block in der Registerkartenleiste des Recipe Editors. Sie sehen den Kamera-Feed auf der linken Seite und ein Einstellungsfeld auf der rechten Seite.

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

Bei aktiviertem Live Preview sehen Sie:
- Processing Time: Wie lange das OCR-Modell pro Frame benötigt
- Latency: Gesamte Round-Trip-Zeit einschließlich Bilderfassung und Rendering
- Violette Bounding Boxes um erkannte Textbereiche, die dem Kamera-Feed überlagert sind
- Erkannter Text, angezeigt als Beschriftungen auf jeder Bounding Box
- Parameters-Panel auf der rechten Seite zur Feinabstimmung der Erkennungseinstellungen
5c. Überprüfen, ob OCR korrekt liest
Platzieren Sie bei aktiviertem Live Preview Ihr Teil unter der Kamera und überprüfen Sie:
- Werden alle Textregionen erkannt? Sie sollten violette Boxen um jedes Wort/jede Phrase in der ROI sehen.
- Wird der Text korrekt gelesen? Die Beschriftungen sollten dem tatsächlichen Text auf dem Teil entsprechen.
- Gibt es Fehlerkennungen? Werden Nicht-Textbereiche fälschlicherweise als Text identifiziert?
- Bewegen Sie das Teil leicht. Funktioniert OCR weiterhin an unterschiedlichen Positionen (dies testet die Ausrichtung)?
Wenn Text nicht erkannt oder falsch gelesen wird, prüfen Sie:
- Ausrichtung der ROI stimmt mit der Textausrichtung überein (siehe Schritt 4d)
- Die ROI ist korrekt über dem Text positioniert
- Die Bildqualität ist gut (scharfer Fokus, guter Kontrast, gleichmäßige Beleuchtung)
- Versuchen Sie, die OCR-Parameter anzupassen (siehe nächster Abschnitt)
Schritt 6: OCR-Parameter feinabstimmen
Wenn Live Preview aktiviert ist, zeigt das rechte Feld vier einstellbare Parameter. Diese steuern die Texterkennungsphase (das Auffinden von Text), nicht die Erkennungsphase (das Lesen des Inhalts).
| Parameter | Standard | Funktion |
|---|---|---|
| Text Segmentation Threshold | 0.10 | Wie sicher der Detektor sein muss, dass eine Region Text enthält. Höhere Werte = strengere Erkennung, weniger False Positives, aber schwacher Text kann übersehen werden. Niedrigere Werte = empfindlicher, erkennt schwachen Text, kann aber zu Fehlerkennungen führen. Bereich: 0.0 bis 1.0. |
| Unclip Ratio | 4.0 | Wie stark erkannte Bounding Boxes von der Textkontur nach außen erweitert werden. Höhere Werte = größere Boxen. Erhöhen Sie diesen Wert, wenn Boxen die Ränder großer Zeichen abschneiden. Verringern Sie ihn, wenn benachbarte Wörter zu einer Box verschmelzen. |
| Unclip Ceiling | 20 | Maximale Pixel-Erweiterung beim Unclipping. Dies begrenzt das Wachstum, damit hohe Ratio-Erweiterungen bei großem Text keine übermäßig großen Boxen erzeugen. Erhöhen Sie diesen Wert, wenn großer Text auch nach Erhöhung der Unclip Ratio noch abgeschnitten wird. |
| Min Text Area | 500 | Mindestfläche (in Pixeln) für eine erkannte Textregion. Alles Kleinere wird als Rauschen verworfen. Erhöhen Sie diesen Wert, wenn kleine Artefakte als Text erkannt werden. Verringern Sie ihn, wenn kleiner, aber gültiger Text herausgefiltert wird. |
Beginnen Sie mit den Standardwerten. Passen Sie nur an, wenn Sie im Live Preview bestimmte Probleme sehen:
| Problem | Anzupassender Parameter | Richtung |
|---|---|---|
| Nicht-Textbereiche als Text erkannt | Text Segmentation Threshold | Erhöhen |
| Gültiger Text wird nicht erkannt | Text Segmentation Threshold | Verringern |
| Bounding Boxes schneiden Zeichenränder 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 nach Erhöhen der Unclip Ratio weiterhin abgeschnitten | Unclip Ceiling | Erhöhen |
| Rauschen/Artefakte als Text erkannt | Min Text Area | Erhöhen |
| Kleiner gültiger Text wird herausgefiltert | Min Text Area | Verringern |
Parameteränderungen werden im Live Preview sofort wirksam, sodass Sie iterativ feinabstimmen können. Diese Parameter gelten auch während Produktionsaufnahmen, nicht nur während der Vorschau.
Schritt 7: Test mit aufgenommenen Bildern
Nachdem Sie die Parameter mit Live Preview abgestimmt haben, validieren Sie OCR anhand einer Reihe von Produktionsmustern.
7a. Verwendung des Testpanels
- Deaktivieren Sie den Live Preview Mode (Häkchen entfernen)
- Klicken Sie auf die Schaltfläche Test

- Klicken Sie auf Select From Library, um Bilder aus zuvor erfassten 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 angezeigt)
- Confidence (farbcodierter Tag: grün über 80 %, orange über 50 %, rot unter 50 %)
- Detection Count (wie viele Textbereiche gefunden wurden)
7b. Worauf Sie achten sollten
- Konsistenz: Liest OCR bei demselben Teil jedes Mal denselben Text?
- Genauigkeit: Stimmen die erkannten Zeichenketten mit dem tatsächlichen Text auf dem Teil überein?
- Confidence Scores: Liegen sie durchgängig über 80 %? Niedrige Confidence weist häufig auf Bildqualitätsprobleme hin.
- Grenzfälle: Testen Sie mit Teilen, die verschmierten, verblassten oder teilweise verdeckten Text aufweisen.
Wenn Confidence Scores durchgängig unter 80 % liegen, überprüfen Sie Ihre Bildeinstellungen (Schritt 2). Die OCR-Genauigkeit hängt unmittelbar von der Bildqualität ab. Keine Parameterabstimmung kann ein unscharfes oder schlecht ausgeleuchtetes Bild kompensieren.
Schritt 8: Pass/Fail-Regeln einrichten (IO Logic)
Nachdem OCR den Text korrekt erkennt, müssen Sie definieren, was ein Pass oder Fail darstellt. Navigieren Sie zum Tab IO Logic.
Basic Mode
Der Basic Mode bietet eine einfache regelbasierte UI für die OCR Pass/Fail-Logik. Node-RED-Kenntnisse sind nicht erforderlich.

Die Seite zeigt:
- Preview / Test-Tabs auf der linken Seite (zur Visualisierung der Ergebnisse gegen Ihre Regeln)
- OCR Rules-Bereich auf der rechten Seite
- Save & Deploy-Schaltfläche zum Aktivieren der Regeln
- Advanced Mode-Schaltfläche zum Wechseln 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 Erweitern und wählen Sie "All ROIs" oder spezifische Regionen aus. |
| Operator | Der Vergleich, der auf den erkannten Text angewendet wird. |
| Text | Die erwartete Textzeichenkette, mit der verglichen werden soll. |
Verfügbare Operatoren
Klicken Sie auf das Operator-Dropdown, um alle vier Optionen zu sehen:

| Operator | Verhalten | Beispielanwendungsfall |
|---|---|---|
| = (equals) | Der gesamte erkannte, zusammengefügte Text muss exakt mit dem erwarteten Text übereinstimmen | Prüfen, ob eine Seriennummer exakt als "SN-2025-0042" gelesen wird |
| != (not equals) | Der zusammengefügte Text darf NICHT mit dem erwarteten Text übereinstimmen | Teile mit einem bekannten fehlerhaften Code ablehnen |
| includes | Der zusammengefügte Text muss den erwarteten Text als Teilzeichenkette enthalten | Prüfen, ob ein Label das Wort "SAFETY" irgendwo 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 Textstrings vor dem Vergleich mit Leerzeichen verbunden.
Wenn der Detektor also drei Textbereiche mit "LOT", "2025" und "A1" findet, wird der zusammengefügte Text zu "LOT 2025 A1". Ihre Regel vergleicht diesen vollständigen zusammengefügten String.
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 nur für
"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 UND-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 aus allen OCR-Regionen kombiniert 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
Nachdem Sie Ihre Regeln konfiguriert haben, klicken Sie auf Save & Deploy, um sie zu aktivieren. Die Regeln treten sofort für alle zukünftigen Inspektionen in Kraft.
Advanced Mode (Node-RED)
Für komplexere Pass/Fail-Logik, die der Basic Mode nicht abbilden 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:
- Der Advanced Mode nutzt die vollständige visuelle Programmierumgebung von Node-RED
- Alle Basic-Mode-Regeln werden deaktiviert
- Sie können jederzeit zurück in den Basic Mode wechseln
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 einen Node-RED-Flow-Canvas 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-Bestimmung
- Save to Library: Speichert Ergebnisse
OCR-Ausgabe-Payload in Node-RED
Im Advanced Mode sind OCR-Ergebnisse im Objekt msg.payload.ocr verfügbar. Dies gibt Ihnen 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 Vollbildkoordinaten |
| angle_global | Drehwinkel der ROI im Vollbild |
| search_area_id | Der Inspektionstyp / Suchbereich, zu dem diese ROI gehört |
| detections | Array einzelner Texterkennungen innerhalb dieser ROI |
| detections[].text | Der erkannte Textstring |
| detections[].confidence | Erkennungskonfidenz von 0.0 bis 1.0 (begrenzt) |
| detections[].roi_bbox | Bounding-Box-Position relativ zum Ursprung des ROI-Ausschnitts |
| detections[].global_bbox | Bounding-Box-Position im gesamten Kamerabild (berücksichtigt ROI-Rotation und -Ausrichtung) |
Verwenden Sie msg.payload.ocr.predictions[0].detections.map(d => d.text).join(" "), um denselben zusammengefügten Textstring zu erhalten, den der Basic Mode für den Vergleich verwendet.
Mit dem Advanced Mode können Sie:
- Regex-Muster mit JavaScript auf erkannten Text anwenden
- Erkennungen nach Konfidenzschwelle 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 an Microsoft Teams oder per E-Mail basierend auf dem OCR-Inhalt senden
Eine ausführliche Anleitung zu Node-RED finden Sie unter Node-RED Basics.
Sie können jederzeit zwischen Basic und Advanced Mode wechseln, indem Sie den Umschalter oben auf der IO-Logic-Seite verwenden. Beim Wechsel in den Basic Mode wird jegliche 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 in der linken Seitenleiste auf Recipe Editor)
- Klicken Sie unten rechts auf die violette Schaltfläche Deploy Recipe
- Das Rezept ist nun aktiv und führt Inspektionen durch
Ergebnisse anzeigen
HMI
Die HMI-Seite zeigt die Live-Inspektionsergebnisse an. Bei aktivem OCR sehen Sie:
- Das Live-Kamerabild mit violetten Begrenzungsrahmen um den erkannten Text
- Textbeschriftungen, die den gelesenen Inhalt anzeigen
- Pass/Fail-Status basierend auf Ihren IO Logic-Regeln
- Laufende Statistiken: Gesamtzahl der Inspektionen, bestanden, fehlgeschlagen, Ausbeute in Prozent

Library
Navigieren Sie in der linken Seitenleiste zu Library, um gespeicherte Ergebnisse vergangener Aufnahmen zu überprüfen. Jeder Aufnahmeeintrag zeigt:
- Das aufgenommene Bild mit OCR-Overlay
- Erkannter 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 Text überein | ROI drehen, um sie an der Textrichtung auszurichten (Schritt 4d) |
| Text im Bild zu klein | Kamera näher heranbringen oder Objektiv mit längerer Brennweite verwenden |
| Text im Verhältnis zur ROI zu klein | ROI enger um den Textbereich legen |
| Min Text Area zu hoch eingestellt | Parameter Min Text Area verringern |
| Schlechte Beleuchtung / niedriger Kontrast | Beleuchtung verbessern, um den Kontrast zwischen Text und Hintergrund zu maximieren |
| Text ist unscharf | Fokus am C-Mount-Objektiv anpassen und stabile Kamerahalterung sicherstellen |
| Ausrichtung nicht eingerichtet | Texterkennung erfordert Ausrichtung. Vorlagenausrichtung einrichten (Schritt 3) |
Falscher Text erkannt (Lesefehler)
| Mögliche Ursache | Lösung |
|---|---|
| ROI-Ausrichtung stimmt nicht mit Textausrichtung überein | Dies ist die Hauptursache Nr. 1. 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 zusammengefasst | Unclip Ratio verringern, um Zusammenführen der 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 Spiegelreflexionen zu vermeiden. Diffuse Beleuchtung in Betracht ziehen. |
| Sehr kleine oder stark stilisierte Schrift | Kamera näher heranbringen 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 verursacht 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: Mehrere Erkennungen werden mit Leerzeichen verbunden. |
| Verwendung von "equals", wenn "includes" passender wäre | Wenn nur ein Teilstring relevant ist, "includes" statt "equals" verwenden |
| Regeln nicht bereitgestellt | Nach Änderung von Regeln im Basic Mode auf Save & Deploy klicken |
| Falsche ROI in der Regel ausgewählt | Prüfen Sie das ROIs-Dropdown in Ihrer Regel, um sicherzustellen, dass die richtige Region angesprochen wird |
Einschränkungen
- Maximal 1 OCR-Block pro Rezept (innerhalb dieses Blocks können mehrere ROIs verwendet werden)
- Nur für Englisch optimiertes Modell: Das vortrainierte Modell ist auf lateinisch gedruckten Text optimiert. Handschriftlicher Text, Schreibschrift oder nicht-lateinische Schriften (Chinesisch, Japanisch, Koreanisch, Arabisch) werden nicht unterstützt.
- Keine Regex- oder Musterübereinstimmung im Basic Mode: Pass/Fail-Regeln verwenden einfachen String-Vergleich (equals, not equals, includes, not includes). Für komplexe Validierungsmuster (z. B. Übereinstimmung mit "SN-####-####") verwenden Sie den Advanced Mode (Node-RED) mit benutzerdefiniertem JavaScript-Regex.
- Kein benutzerdefinierbarer Zeichensatz: Das 480 Zeichen umfassende 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 innerhalb eines ROI mehrere Textbereiche erkannt werden, werden sie in der Erkennungsreihenfolge (nach Kontur) zusammengeführt, nicht zwingend in der Leserichtung (links nach rechts, oben nach unten). Wenn die Lesereihenfolge wichtig ist, verwenden Sie separate ROIs für jede Textzeile.
- Nur vortrainiertes Modell: Anders als bei Klassifikation und Segmentierung kann das OCR-Modell nicht auf Ihre spezifischen Schriftarten oder Textstile neu trainiert oder feinabgestimmt werden. Es verwendet das integrierte, vortrainierte OCR-Modell.
Siehe auch
- Erste Inspektion erstellen - Vollständige Anleitung zur Rezepterstellung
- Bildeinstellungen - Detaillierte Anleitung 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 - Fortgeschrittene IO-Logikprogrammierung
- Grundlagen der Bildaufnahme-Einrichtung - Theorie zu Beleuchtung und Bildqualität