Inhaltsverzeichnis

Barcodes auslesen

Sebastian Bartsch Aktualisiert von Sebastian Bartsch

In diesem Artikel möchten wir ein wenig auf das Auslesen von Barcodes mit StorageRobot eingehen. Sofern Sie von einer vorherigen Generation von StorageRobot kommen werden Sie viele Funktionen bereits kennen. Einige Funktionen waren früher nur über direkte Anpassungen der Konfigurationsdatei verfügbar. StorageRobot 5 beendet die Ära der versteckten Funktionen.

Einen bestimmten Barcode erkennen

Um einen Barcode auszulesen ist es lediglich erforderlich eine Zone über dem jeweiligen Barcode des Beispieldokuments aufzuziehen. StorageRobot analysiert daraufhin den Bereich und färbt die Zone grün ein, sofern erfolgreich ein Barcode erkannt wurde. Andernfalls wird die Zone rot eingefärbt.

Sie werden später noch erfahren wie ein nicht erkannter Barcode durch bestimmte Einstellungen in vielen Fällen dennoch erkannt und verwendet werden kann. Übrigens: Der rechte Barcode ist vollkommen in Ordnung, nur die Einstellungen wurden so angepasst, dass dieser nicht erkannt werden kann.

Eigenschaften des erkannten Barcodes

Für jede Zone werden Ihnen neben der Vorschau einige Eigenschaften angezeigt. Dazu zählen der erkannte Barcodetyp und der Wert. Sollte der Wert seltsame Zeichen enthalten, dann könnte dies daran liegen, dass das Text Encoding nicht stimmt. Dieses lässt sich über die entsprechende Einstellung individuell anpassen.

Ebenso haben Sie die Möglichkeit mit derselben Zone mehrere Barcodetypen zu erkennen. Öffnen Sie dazu die Auswahlbox und setzen Sie einen Haken vor den gewünschten Typ.

Ein besonderes Augenmerk sollten Sie auf die hervorgehobenen Einstellungen legen. Mit diesen wird maßgeblich beeinflusst ob und wie der Barcode identifiziert wird.

  1. Barcode auf der ganzen Seite suchen bewirkt, dass die Zone ignoriert wird und sich der Barcode stattdessen irgendwo auf der Seite befinden kann. Dies ist häufig der Fall wenn ein Barcode an einer freien Stelle aufgeklebt wird.
  2. Um Barcode im gesamten Dokument suchen zu verstehen müssen wir detaillierter auf die Funktionsweise der Barcoderkennung eingehen. Lesen Sie dazu bitte im nächsten Abschnitt weiter.
  3. Über die Filter können zusätzliche Parameter angegeben werden um einen Barcode anhand seines Wertes eindeutig zu identifizieren. Wenn neben den von Ihnen erwarteten Barcodes noch weitere auf dem Dokument vorhanden sind, wird der Filter insbesondere in Kombination mit der Option Barcode auf der ganzen Seite suchen relevant.
    Über den Filter definieren Sie, anhand von festen Vorgaben (Fixe Länge, Beginnt oder endet mit), regulären Ausrücken oder einem Script, exakt welchem Muster der Wert folgen muss um für die Weiterverarbeitung relevant zu sein.

Barcode im gesamten Dokument suchen

Bilder sagen häufig mehr als 1000 Worte - das folgende schematisch dargestellte Dokument soll uns als Beispiel zur Erklärung der grundlegenden Funktionsweise dieser Einstellung dienen.

Das Dokument besteht aus 3 Seiten. Auf Seite 1 befindet sich ein Code39 Barcode und auf der letzten Seite befindet sich ein QR Code.

Bei diesem Dokument könnte es sich um eine Eingangsrechnung handeln. Der Strichcode auf der ersten Seite wurde beim Belegeingang auf die erste Seite geklebt. Der QR Code ist bereit ein Teil des Dokuments.

Verarbeitung und Analyse

StorageRobot unterscheidet beim Auslesen von Barcodes zwei Fälle: Zu einem das Lesen eines Barcode aus einem Einzeldokument, zum anderen die Analyse eines Dokumentenstapels um diesen anhand eines Barcodes in Einzeldokumente aufzutrennen.

Um einen Dokumentenstapel in Einzeldokumente zu trennen, wird jede Seite analysiert und geprüft, ob der Barcode vorgefunden wird anhand dem die Trennung erfolgen soll. Dies ist, bis auf eine Ausnahme, der einzige Fall wo das Gesamtdokument analysiert wird.

Bei der Verarbeitung von Einzeldokumenten hingegen wird immer nur die erste Seite des Dokument analysiert und Barcodes daher auch nur von dieser Seite ausgelesen. Da nach der Trennung wiederum Einzeldokumente vorliegen können, kann man vereinfacht sagen, dass StorageRobot ausschließlich Einzeldokumente verarbeitet. Daraus folgt auch, dass Barcodes ab der zweiten Seite nicht ausgelesen werden können.

"Und was ist, wenn ich den Inhalt des QR Code verarbeiten möchte?"
Die Lösung

Und genau für diese Fälle haben wir die Option Barcode im gesamten Dokument suchen implementiert. Dies versetzt StorageRobot bei der Verarbeitung von Einzeldokumenten in die Lage auch die Informationen eines Barcodes von den anderen Seiten des Dokuments zu lesen. Dabei spielt es dann auch keine Rolle auf welcher Seite sich der Barcode befindet.

Nachteile

Sofern Sie sich dafür entscheiden diese Option zu nutzen, bitten wir Sie zwei Dinge zu beachten.

  1. Die zusätzliche Analyse des Dokuments resultiert in einer langsameren Verarbeitung der Dokumente.
  2. Wenn die Option aktiv ist, dann kann dieser Barcode nicht für die Dokumententrennung verwendet werden.

Einstellungen zur Erkennung

Hin und wieder kommt es vor, dass Barcodes gar nicht oder nicht immer erkannt werden. Häufigste Ursache dafür ist eine unterdurchschnittliche Qualität des Scans, oder sogar des Barcodes selbst. Eventuell wurde der Barcode auch nur schief aufgeklebt.

In solchen Fällen erreichen Sie die Erkennungseinstellungen über die Menüleiste. Diese bieten Ihnen die Möglichkeit einen tieferen Einfluss auf die Barcodeerkennung zu nehmen.

  1. Bei schlechter Scan Qualität kann es helfen zunächst den Erweiterten Modus zu wählen.
  2. Für die Orientierung ist in den meisten Fällen Horizontal ausreichend. Liegt der Barcode hochkant vor, dann ergänzen Sie noch Vertikal. Diagonal wird wirklich nur dann gebraucht wenn Barcodes im 45° Winkel vorliegen.
Je mehr mögliche Ausrichtungen in die Analyse einbezogen werden, desto aufwendiger ist dieser Prozess und führt zu einer erhöhten Verarbeitungszeit
  1. In extrem seltenen Ausnahmefällen ist eine Änderung des Scan Interval sinnvoll. Wählen Sie bei verhältnismäßig kleinen Barcode die Einstellung Niedrig, während bei sehr großen Barcodes Hoch zu besseren Ergebnissen beitragen kann.
Die Veränderungen der Einstellungen kann sich auf die Erkennungsgeschwindigkeit auswirken. Je mehr Orientierungen analysiert werden müssen, bzw. bei einem geringen Scan Interval steigt die Verarbeitungszeit an.

Erweiterter Modus

Helfen die oben genannten Optionen nicht weiter, bietet dieser Dialog noch einen erweiterten Modus an.

Generell bietet der erweitere Modus dieselben Optionen, wie der Standardmodus. Allerdings bietet dieser mehr Optionen für Feineinstellungen.

Grenzwert und Durchläufe

Für eine Barcodeerkennung muss das Bild / das Dokument zunächst in ein Schwarz-Weiß Bild konvertiert werden. Dies geschieht intern automatisch. Damit diese Konvertierung durchgeführt werden kann, muss für jeden einzelnen Pixel entschieden werden ob dieser schwarz oder weiß sein soll. Jeden Pixel ist ein Helligkeitswert zugeordnet. Liegt die Helligkeit unterhalb eines bestimmten Grenzwertes, so wird der Pixel weiß, liegt der Wert oberhalb ergibt sich ein schwarzer Pixel. Im optimalen Fall ergibt sich auf dieser Konvertierung ein Schwarz/Weiß Bild mit einem Barcode der ausgelesen werden kann.

Da in der Realität aber immer wieder kleinere Abweichungen vorkommen, kann nicht der eine perfekte Grenzwert festgelegt werden. Daher wird in StorageRobot ein Grenzwertbereich definiert. Ausgehend von der unteren Grenze bis zur oberen Grenze wird dieser Bereich in mehrere Abschnitte unterteilt. Die Anzahl der Unterteilungen wird mit der Einstellung Durchläufe festgelegt.

An dem Beispiel kann man gut erkennen, dass sehr niedrige bzw. sehr hohe Grenzwerte dazu führen, dass Informationen aus dem Barcode verloren gehen. Der perfekte Wert liegt irgendwo dazwischen. In den meisten Fällen funktionieren die Standardeinstellungen bereits sehr gut. Eine leichte Verbreiterung des Grenzwertbereichs kann bei schwierigen Fällen bereits zu besseren Ergebnissen führen. Die Grafik soll Ihnen vereinfacht veranschaulichen was intern vor sich geht und wie diese Einstellungen zu interpretieren sind.

Ein hoher Wert bei den Durchläufen sorgt für eine höhere Verarbeitungszeit
Skalierung

Ist ein Barcode zu klein oder sehr groß, dann kann es zu Problemen bei der Erkennung kommen. Passen Sie die Skalierung entsprechend an, falls Sie Probleme haben.

Die Skalierung kann für eine höhere Verarbeitungszeit sorgen. Hohe Skalierungen bei hohen Auflösungen (DPI) der Dokumente kann zu extremen Beeinträchtigungen der Performance bis hin zu Programmabbrüchen führen.

Wie waren wir?

Ersetzen von Werten

Variablenübersicht wieder anzeigen

Support