---
title: "Anleitung: Ein Teil in einem Kamerabild finden"
product: "LumiScan Object Finder"
component: "lumiscan-object-finder-de"
version: "1.1.0"
display_version: "1.1.0.7"
latest_version: true
language: "de"
url: "https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/how-tos/find-a-part-from-a-camera-image.html"
---

# Anleitung: Ein Teil in einem Kamerabild finden – LumiScan Object Finder

Von Anfang bis Ende: ein Teil von einer Live-Kamera einlernen, es finden und die Einstellungen so sichern, dass sie einen Neustart überstehen.

## Bevor Sie beginnen

- LumiScan Cam Driver ist auf demselben Gerät installiert und veröffentlicht ein Bild, zum Beispiel unter `hdvisionsystems/lumiscan-cam-driver/camera1/output/image`.
- LumiScan Object Finder ist installiert - auf ctrlX OS auch lizenziert -, und `system/modules` listet `module-1`.
- Das Teil liegt vor der Kamera, in der Beleuchtung, die die Installation tatsächlich verwenden wird.

## Schritt 1: Die erste Ansicht einlernen

Sehen Sie sich das Live-Bild an und notieren Sie das Pixelrechteck, das das Teil einnimmt - auf ctrlX OS zeigt die ctrlX-Weboberfläche das Bild - oder lesen Sie `width` und `height` vom Bildknoten.

Setzen Sie die Eingaben und führen Sie aus:

```
system/create-object/input/input-image-address = hdvisionsystems/lumiscan-cam-driver/camera1/output/image
system/create-object/input/object-id           = screw-m6
system/create-object/input/crop/startX         = 820
system/create-object/input/crop/startY         = 400
system/create-object/input/crop/width          = 160
system/create-object/input/crop/height         = 120
write system/create-object/execute
```

Prüfen Sie, ob `system/create-object/output/status-code` `1` ist und `output/object-path` die Datei nennt. `system/objects` sollte jetzt `screw-m6` enthalten.

Schneiden Sie eng aus. Hintergrund innerhalb der Vorlage ist Hintergrund, den der Detektor zu sehen erwartet.

## Schritt 2: Die anderen Orientierungen einlernen

Der Detektor dreht ein Bild nicht. Jede Orientierung, in der das Teil ankommt, braucht daher ein eigenes **Objekt**. Wiederholen Sie Schritt 1 mit einer anderen `object-id` - etwa `screw-m6-tilted` - und suchen Sie in einem eigenen Durchlauf danach.

Kommt das Teil immer nur in einer Lage an, genügt ein Objekt.

## Schritt 3: Das Teil finden

```
module-1/find-object/input/input-image-address = hdvisionsystems/lumiscan-cam-driver/camera1/output/image
module-1/find-object/input/object-id           = screw-m6
module-1/find-object/input/nms-min-dist        = 40
write module-1/find-object/execute
```

Lesen Sie `module-1/find-object/output/status-code`. `1` bedeutet, dass der Durchlauf abgeschlossen wurde; lesen Sie dann `output/result`.

`nms-min-dist` bei etwa der halben Größe des Teils in Pixeln verhindert, dass ein Teil als Häufung von Treffern gemeldet wird.

## Schritt 4: Den Schwellwert anhand echter Teile setzen

Führen Sie Schritt 3 mehrmals mit echten Teilen aus und notieren Sie den `score` der echten Treffer. Setzen Sie dann

```
module-1/find-object/input/confidence-threshold = <a little below the worst genuine score>
```

Liegen die echten Scores nahe am Schwellwert, schalten Sie die Glättung ein - setzen Sie `module-1/find-object/input/preprocess/blur-sigma-x` auf `1.0` - und messen Sie erneut. Siehe [Die Suche abstimmen](https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/lumiscan-object-finder/tuning-the-search.html).

## Schritt 5: Dauerhaft machen

Einstellungen wirken sofort, werden aber erst gespeichert, wenn Sie es verlangen:

```
system/save-module-inputs/input/module-id = module-1
write system/save-module-inputs/execute
write system/save-current-modules/execute
```

Beide sollten Status `1` melden. Das Modul und seine Einstellungen kommen jetzt nach einem Neustart zurück.

## Schritt 6: Aus einem Steuerungsprogramm ausführen

Pro Zyklus:

1. Schreiben Sie auf `module-1/find-object/execute`.
2. Lesen Sie `module-1/find-object/output/status-code`.
3. Ist er negativ, ist der Durchlauf fehlgeschlagen - lesen Sie `output/status-text` für den Grund und verwenden Sie das Ergebnis nicht.
4. Ist er `1`, lesen Sie `output/result`. Eine leere `matches`-Liste bedeutet, dass das Teil nicht da war.

Lesen Sie die Ausgaben, **bevor** Sie das nächste `execute` auslösen: Ein Durchlauf leert sie beim Start.

Wie jedes Bild der Kamera ohne einen Aufruf pro Bild durchsucht wird, lesen Sie in [Objekte auf einem Bild-Stream finden (experimentell)](https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/lumiscan-object-finder/processing-an-image-stream.html).

## Wenn das Teil nicht gefunden wird

Probleme sind Schritt für Schritt unter [Fehlerbehebung](https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/troubleshooting.html) beschrieben:

- [Das Ergebnis ist leer, obwohl der Statuscode `1` ist](https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/troubleshooting.html#faq-empty-result) - Scores knapp unter dem Schwellwert, ein Teil, das nur in manchen Orientierungen oder Arbeitsabständen gefunden wird, oder nie gefunden wird
- [Ein Teil wird mehrfach gemeldet](https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/troubleshooting.html#faq-duplicate-matches)
- [Statuscodes und Fehlermeldungen](https://docs.hdvisionsystems.com/de/lumiscan-object-finder-de/1.1.0/troubleshooting.html#ts-status-codes) - wenn `status-code` negativ ist
