Anleitung: Einen Data-Matrix-Code aus einem Kamerabild lesen
Diese Anleitung liest mit LumiScan DMC Reader die Data-Matrix-Codes in einem Bild von LumiScan Cam Driver und zeigt, wo der dekodierte Text und die Position stehen.
Am Ende liest ein Schreibzugriff auf die Methode execute des Lesers jeden Data-Matrix-Code im
aktuellen Kamerabild.
Dieselben Schritte gelten für LumiScan QR Code Reader, LumiScan Aztec Code Reader und LumiScan Barcode
Reader: Ersetzen Sie lumiscan-dmc-reader in den Adressen durch den Namen dieser Anwendung.
Bevor Sie beginnen
-
LumiScan DMC Reader und LumiScan Cam Driver laufen auf demselben Gerät - derselben ctrlX CORE oder demselben ctrlX IPC oder demselben PC. Ein Bild von einem anderen Gerät zu lesen wird nicht unterstützt.
-
Das Kameramodul von LumiScan Cam Driver ist verbunden und kann Bilder aufnehmen.
-
Optional: LumiScan Cockpit, um die Codes auf dem Bild zu sehen.
| Ohne Kamera verwenden Sie eine simulierte Kamera von LumiScan Cam Driver mit Beispielbildern, zum Beispiel dem Bild unten. Siehe LumiScan Cam Driver: Wie funktioniert der Simulationsmodus?. |
Wie es zusammenhängt
LumiScan DMC Reader braucht keine Vorlage und keine Konfiguration. Er liest den Bildknoten, dessen
Adresse Sie ihm geben, durchsucht das ganze Bild nach Data-Matrix-Codes nach ECC 200 und schreibt jeden
gefundenen Code nach output/results.
Alle Adressen unten sind relativ zu hdvisionsystems/lumiscan-dmc-reader. Auf ctrlX OS setzen Sie Werte
in der ctrlX-Weboberfläche unter Settings > Data Layer oder aus einer anderen Anwendung, zum Beispiel
einem SPS-Programm.
Schritt 1 - Den Leser auf das Kamerabild richten
Schreiben Sie die Adresse des Bildknotens der Kamera nach input/image-address. Für das Kameramodul
camera1:
hdvisionsystems/lumiscan-cam-driver/camera1/output/image
Verwenden Sie die Adresse des Bildknotens selbst, nicht die seines Unterknotens data. Die Adresse
bleibt erhalten; Sie setzen sie nur neu, wenn sich die Bildquelle ändert.
Schritt 2 - Ein Bild aufnehmen
Nehmen Sie mit LumiScan Cam Driver ein Bild auf, zum Beispiel mit einem Schreibzugriff auf
hdvisionsystems/lumiscan-cam-driver/camera1/control/capture/execute.
Für ein sicheres Lesen sollte der Code scharf und kontrastreich sein, und seine Module - die schwarzen und weißen Quadrate - sollten im Bild mehrere Pixel breit sein.
Schritt 3 - Die Codes lesen
Schreiben Sie einen leeren Wert auf execute.
Der Aufruf kehrt zurück, wenn die Suche beendet ist.
Schritt 4 - Das Ergebnis prüfen
Lesen Sie output/results. Es enthält einen Eintrag je gefundenem Code:
-
text- der dekodierte Inhalt, -
center- der Mittelpunkt des Codes im Bild, in Pixeln, -
score- wie sicher die Lesung ist, -
polygons- die Eckpunkte des Codes, falls angegeben.
Eine leere Liste bedeutet: Das Bild wurde gelesen und enthielt keinen Data-Matrix-Code. Die Felder sind in Das Ergebnis beschrieben.
|
Ein fehlgeschlagener Lauf - zum Beispiel bei falscher Bildadresse oder nicht lesbarem Bild - lässt
|
Um die Codes auf dem Bild zu sehen, öffnen Sie LumiScan Cockpit und wählen die Ansicht
datamatrix-code von lumiscan-dmc-reader. Jeder Code ist umrahmt und mit Text und Score beschriftet.
Ergebnis
-
LumiScan DMC Reader liest das aktuelle Bild der Kamera.
-
Ein Schreibzugriff auf
executeliest jeden Data-Matrix-Code im Bild. -
Der dekodierte Text und die Position jedes Codes stehen in
output/results.
In der Produktion ist ein Zyklus: mit LumiScan Cam Driver aufnehmen, auf execute des Lesers
schreiben, output/results lesen. Um jedes Bild eines Kamerastreams ohne Aufruf je Bild lesen zu
lassen, siehe
Codes in einem Bildstream lesen (experimentell).
Probleme sind in Fehlerbehebung beschrieben.