---
title: "Anleitung: Eine Bauteilkennzeichnung aus einem Kamerabild lesen"
description: "Anleitung für LumiScan Text Reader - eine gedruckte Teilenummer aus dem Kamerabild lesen, von der neuen Installation bis zur produktionsreifen Einstellung."
product: "LumiScan Text Reader"
component: "lumiscan-text-reader-de"
version: "1.1.0"
display_version: "1.1.0.7"
latest_version: true
language: "de"
url: "https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/how-tos/read-a-part-marking-from-a-camera-image.html"
---

# Anleitung: Eine Bauteilkennzeichnung aus einem Kamerabild lesen – LumiScan Text Reader

Eine gedruckte Teilenummer aus einem Kamerabild lesen, von einer frischen Installation bis zu einer Einstellung, die Sie in die Produktion nehmen können.

Das Beispiel ist eine sechsstellige Teilenummer, auf ein Etikett gedruckt. Passen Sie Zeichensatz und Layout unterwegs an Ihre Kennzeichnung an.

## Bevor Sie beginnen

- LumiScan Cam Driver oder eine andere Bildquelle, die auf **demselben Gerät** läuft - derselben ctrlX CORE oder demselben ctrlX IPC oder demselben PC - und Bilder liefert.
- Die Adresse ihres Bildknotens zur Hand, z. B. `hdvisionsystems/lumiscan-cam-driver/camera1/output/image`.
- Ein Teil vor der Kamera, mit der Kennzeichnung im Bild, im Fokus und gut beleuchtet.

## 1. Den Leser auf die Kamera richten

```
write  hdvisionsystems/lumiscan-text-reader/module-1/read-text/input/input-image-address
       = "hdvisionsystems/lumiscan-cam-driver/camera1/output/image"
```

## 2. Einen ersten Lesevorgang durchführen

Lassen Sie alles andere auf dem Standardwert und führen Sie ihn aus:

```
write  .../module-1/read-text/execute
read   .../module-1/read-text/output/status-code   -> 1
read   .../module-1/read-text/output/status-text
read   .../module-1/read-text/output/result
```

Ein negativer Statuscode bedeutet, dass er nicht gelaufen ist - `status-text` nennt den Grund. `-3` ist fast immer eine falsche Bildadresse.

An diesem Punkt ist das Leseergebnis meist schlecht: zu viele Wörter, manche davon Unsinn aus dem Hintergrund. Das ist zu erwarten, und die nächsten drei Schritte beheben es.

## 3. Auf die Kennzeichnung zuschneiden

Ermitteln Sie die Pixelkoordinaten des Etiketts im Bild - auf ctrlX OS zeigt die ctrlX-Kameraansicht sie an - und setzen Sie eine Region, die etwas größer ist als der Text:

```
write  .../input/crop/startX = 620
write  .../input/crop/startY = 310
write  .../input/crop/width  = 260
write  .../input/crop/height = 90
```

Führen Sie es erneut aus. Die meisten Störwörter sollten verschwunden sein.

> [!TIP]
> Dieser Schritt hilft am meisten, und er macht auch jeden Lesevorgang schneller. Kann sich das Teil zwischen den Zyklen verschieben, machen Sie den Ausschnitt groß genug, um den gesamten Bereich abzudecken, den es einnehmen kann - eine Kennzeichnung, die aus dem Ausschnitt herauswandert, wird als **nichts** gelesen, was ein besserer Fehler ist, als etwas Falsches zu lesen.

## 4. Den Zeichensatz einschränken

Eine sechsstellige Teilenummer enthält nur Ziffern, also sagen Sie das:

```
write  .../input/characters/mode = "DIGITS"
```

Das verhindert, dass `0` als `O` und `5` als `S` gelesen wird. Enthält die Nummer auch Buchstaben, verwenden Sie stattdessen `UPPERCASE_LETTERS` mit `allow = "0123456789"`, oder `CUSTOM` mit `allow` auf genau die Zeichen gesetzt, die Ihre Kennzeichnung enthalten kann.

## 5. Sagen, was betrachtet wird

Eine Druckzeile in einem engen Ausschnitt:

```
write  .../input/layout = "SINGLE_LINE"
```

Führen Sie es erneut aus. `output/result.text` sollte jetzt die Teilenummer sein und sonst nichts.

## 6. Einen Konfidenz-Schwellwert wählen

Lassen Sie fünf oder zehn bekannt gute Teile durchlaufen und notieren Sie `mean_score` aus jedem Ergebnis sowie die einzelnen `words[].score`.

Korrekte Leseergebnisse auf einem ordentlichen Bild liegen deutlich über `0.8`. Setzen Sie den Schwellwert unter Ihr schlechtestes bekannt gutes Leseergebnis und über das Rauschen:

```
write  .../input/min-score = 0.7
```

> [!NOTE]
> `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.

## 7. Die Einstellungen speichern

Nichts von dem oben überlebt einen Neustart, bis Sie es speichern:

```
write  hdvisionsystems/lumiscan-text-reader/system/save-module-inputs/input/module-id = "module-1"
write  hdvisionsystems/lumiscan-text-reader/system/save-module-inputs/execute
```

## 8. In das Steuerungsprogramm einbinden

Pro Zyklus:

1. Schreiben Sie `read-text/execute` - ein blockierender Aufruf, es gibt also kein Ready-Flag zu pollen.
2. Prüfen Sie `output/status-code`. Negativ bedeutet, dass der Lesevorgang fehlgeschlagen ist und nichts erzeugt hat.
3. Lesen Sie `output/result`.
4. Prüfen Sie, ob `word_count` 1 ist und `words[0].score` akzeptabel, und vergleichen Sie dann `words[0].text` mit der erwarteten Teilenummer.

Lesen Sie das Ergebnis, **bevor** Sie den nächsten Lesevorgang auslösen: Das nächste `execute` leert es.

## Fehlerbehebung

Die Probleme, die beim Einrichten eines Lesevorgangs auftreten können, sind Schritt für Schritt unter [Fehlerbehebung](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html) beschrieben:

- [Statuscode -3 (Bild kann nicht gelesen werden)](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#faq-status-minus-3)
- [Statuscode -2 (eine Einstellung ist unbrauchbar)](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#faq-status-minus-2)
- [Statuscode -7 (OCR-Engine konnte nicht starten)](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#faq-status-minus-7)
- [Das Leseergebnis ist leer, obwohl der Text in einem Farbbild deutlich sichtbar ist](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#faq-empty-colour-image)
- [Statuscode 1, aber keine Wörter](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#faq-empty-reading)
- [Ziffern werden als Buchstaben gelesen (O statt 0, S statt 5)](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#faq-digits-letters)
- [Das Leseergebnis enthält zusätzliche Wörter aus dem Hintergrund](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#faq-extra-words)
- [Der Text wird in einer anderen Sprache als input/language gelesen](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#ts-wrong-language)
- [Das Lesen ist zu langsam](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#faq-reading-too-slow)
- [Nadeldruck- oder lasergravierte Kennzeichnung wird schlecht gelesen](https://docs.hdvisionsystems.com/de/lumiscan-text-reader-de/troubleshooting.html#faq-dot-matrix)
