-
Gebiet der
Erfindung
-
Diese
Erfindung betrifft ein Verfahren und ein System zum Erkennen eines
Barcodes, bei dem die Erkennung der Position und Ausrichtung des
Barcodes umfasst sind.
-
Ein
Barcode ist ein maschinenlesbares Symbol bestehend aus parallelen
durchgehenden Linien von Balken und Zwischenräumen mit unterschiedlicher
Breite. Die Balken und Zwischenräume
bilden abwechselnde helle und dunkle Bereiche, die einen digitalen
Code darstellen, der die durch den Barcode repräsentierten Informationen enthält. Der
digitale Code wird in alphanumerische Zeichen übersetzt, die Informationen
des Produkt darstellen können,
das das Barcodelabel trägt,
wie Preis, Datum, Hersteller und andere Informationen. Barcodes
werden typischerweise durch Scannen eines kleinen Lichtfleck gelesen.
Das reflektierte Licht wird von einem photoempfindlichen Element
erfasst, während
der Fleck über
die Barcodeoberfläche
wandert. Die Änderung in
der Reflektivität,
die durch die schwarzen und weißen
Balken und Zwischenräume
verursacht wird, verändert
die Intensität
des reflektierten Lichts, was als eine Darstellung des Barcodesymbols
dient. Bei einer Art von Barcode-Leser wird ein zweidimensionales
Bild, das den Barcode enthält,
aufgenommen und in einem Computerspeicher für allgemeine Zwecke gespeichert,
wobei dann Paare von parallelen Scanlinien verarbeitet werden, um
den Ort und die Ausrichtung des Barcodes zu bestimmen. Dieser Ansatz
den Barcode zu lokalisie ren bedarf der Berechnung des Punkt für Punkt
Produktes der Ableitungen der zwei parallelen Scanlinien. Um den
Barcode zu lokalisieren und grob dessen Ausrichtung zu finden wird
das Bild in jede von vier Richtungen gescannt, horizontal, vertikal,
aufsteigend diagonal und fallend diagonal. Weitere Feinausrichtung
des Barcodes wird durch paarweise Kreuzkorrelation der parallelen Scanlinien
ermittelt. Dieses Verfahren benötigt
einen ASIC (application specific integrated circuit) um den Ort
und die Grobausrichtung eines Barcodes zu bestimmen und eine nachfolgende
digitale Signalverarbeitung um den grob lokalisierten Barcode genauer zu
orten, zu filtern und zu scannen. Einer der Nachteile dieses Vorgehens
ist, dass der meiste Teil der von der Kamera erfassten Daten in
diesem Fall ein unbrauchbares Bild des Förderbandes und der Bereiche
der auf dem Förderband
bewegten Pakete ist, die keinen Barcode tragen: nur ein kleiner
Prozentsatz der Bilddaten enthält
den Barcode. In einer anderen Herangehensweise benötigt der
Barcode-Leser einen ASIC und ein oder mehrere FPGAs (field programmable
gate arrays) um ein Bild auf Pixelebene zu erhalten und um dann
die Intensität
von Pixeln in einer laufenden Reihe mit der von Pixeln einer vorhergehenden
Reihe in unterschiedlichen Beziehungen zu vergleichen, um Erfassungswerte
zu erhalten, die mit einem Schwellwert zu vergleichen sind, um zu bestimmen,
ob die gesehene Information ein möglicher Teil eines Barcodes
ist. Wie das vorherige, benötigt
dieses Vorgehen umfangreiche Hardware und erhebliche Zeit um die
Daten zu erfassen und zu bearbeiten.
-
Die
US 5,969,325 offenbart ein
Verfahren nach dem Oberbegriff des Anspruchs 1 und ein System nach
dem Oberbegriff des Anspruchs 9. Die
US 6,070,800 und
die
EP 0 887 760 offenbart
Verfahren und Systeme zum Erkennen eines Barcodes in einem Bild
umfassend ein Bild, Untersuchen des Bildes in einer Mehrzahl von
Gittern und Erhalten eines Profils des Bildes entlang einer Randes
des Gitters.
-
Zusammenfassung der Erfindung
-
Es
ist daher eine Aufgabe der Erfindung ein verbessertes Verfahren
und System zum Erkennen eines Barcodes bereitzustellen, das die
Lokalisierung und Erkennung der Ausrichtung umfasst.
-
Es
ist eine weitere Aufgabe der Erfindung solch ein verbessertes Verfahren
und System zum Erkennen eines Barcodes bereitzustellen, das schneller
ist und weniger Hardware benötigt.
-
Es
ist eine weitere Aufgabe der Erfindung solch ein verbessertes Verfahren
und System zum Erkennen eines Barcodes bereitzustellen, das sicherer
und exakter den Ort und die Ausrichtung eines Barcodes bestimmt.
-
Es
ist eine weitere Aufgabe der Erfindung solch ein verbessertes Verfahren
und System zum Erkennen eines Barcodes bereitzustellen, das die Daten,
die verarbeitet werden müssen,
reduziert und komprimiert. Erfindungsgemäß ist ein Verfahren und System
zum Erkennen eines Barcodes vorgesehen, wie es in den Ansprüchen 1 und
9 definiert ist.
-
Die
Erfindung resultiert aus der Erkenntnis, dass das Erkennen eines
Barcodes in einem Bild mit Lokalisieren und Erkennen der Ausrichtung,
effektiver und schneller mit weniger Hardware durchgeführt werden
kann, durch Untersuchen des Bildes in einer Mehrzahl von Gittern,
Erhalten eines Profils des Bildes entlang eines Randes des Gitters,
Bestimmen der Anzahl von Übergängen in
dem Profil auf jeder Seite, und Vergleichen der Anzahl der Übergänge auf jedem
benachbarten Paar von Seiten mit der Anzahl von Übergängen auf dem gegenüberliegenden
Seitenpaar, und Identifizieren eines Gitters, das möglicherweise
Barcodedaten trägt,
wenn die Zahl der Übergänge auf
einem Paar benachbarter Seiten der Zahl der Übergänge auf dem Gegenüberliegenden entspricht
und resultiert weiter aus der Erkenntnis, dass durch Erhalten eines
Profils des Bildes in einem Kreismuster in einem kleineren Untergitter
und durch Teilen des Kreismusters in eine Anzahl von Paaren von
gegenüberliegenden
Halbkreismustern und durch miteinander Vergleichen der Profile gegenüberliegender
Halbkreismuster, die Ausrichtung des barcodetragenden Gitters in
Abhängigkeit
der Ausrichtung des Paares von Halbkreisprofilmustern mit der besten Übereinstimmung
bestimmt werden kann.
-
Die
Erfindung betrifft ein Verfahren zum Erkennen eines Barcodes in
einem Bild umfassend: Aufnehmen eines Bildes; Untersuchen eines
Bildes in einer Mehrzahl vierseitiger Gitter; und Erhalten eines
Profils des Bildes entlang jeder Seite des Gitters. Die Anzahl Übergänge in dem
Profil jeder Seite wird bestimmt und ein Vergleich der Anzahl Übergänge in jedem
benachbarten Seitenpaar mit der Anzahl Übergänge in dem gegenüberliegenden
benachbarten Seitenpaar wird gemacht. Ein Gitter, das möglicherweise
einen Barcode trägt,
wird identifiziert, wenn die Zahl der Übergänge an einem Paar benachbarter
Seiten der Zahl der Übergänge an dem gegenüberliegenden
Paar von benachbarten Seiten entspricht.
-
In
einer bevorzugten Ausführungsform
kann das Verfahren weiter umfassen:
Erhalten eines Profils
des Bildes in einem Kreismuster innerhalb eines barcodetragenden
Gitters und Teilen des Profils eines Kreismusters in eine Anzahl von
Paaren von gegenüberliegenden
Halbkreismustern; miteinander Vergleichen der Profile gegenüberliegender
Halbkreismuster; und
Definieren der Ausrichtung des barcodetragenden Gitters
in Abhängigkeit
der Ausrichtung des Paares von Halbkreisprofilmustern mit der besten Übereinstimmung.
Das Verfahren kann auch enthalten: Erhalten eines Profils des Bildes
entlang der Ausrichtung der Barcodedaten, die von dem barcodedatentragenden
Gitter stammen, um den Ort von Balken und Zwischenräumen zu
bestimmen; und Scannen entlang wenigstens einer der Balken oder
Zwischenräume
der Barcodedaten, um die Ausrichtung zu verifizieren und zu bestätigen, dass
das barcodedatentragende Gitter ein Teil eines bona fide Barcodes
ist. Das Verfahren kann auch enthalten: Zusammenfügen aufeinanderfolgender
Gitter, die eine definierte Ausrichtung haben, zu einer Gruppe;
Untersuchen jeden benachbarten Gitters in Bezug zu jedem der zusammengefügten, aufeinanderfolgenden
Gitter, um seine Ausrichtung zu bestimmen; und Hinzufügen des
benachbarten Gitters zu der Gruppe, wenn es die definierte Ausrichtung
hat. Die Anzahl der Übergänge kann übereinstimmen,
wenn die Anzahlen ungefähr
gleich oder gleich sind. Das Profil des Bildes und des Kreismusters
kann ein Grauwertprofil sein. Das Vergleichen der Kreismusterprofile
miteinander kann die Differenzbildung der Grauwerte jeden Paares
von gegenüberliegenden
Halbkreismustern umfassen. Das Scannen kann ein Scannen entlang wenigstens
einer der Balken oder Zwischenräume der
Barcodedaten umfassen. Das Profil des Bildes und des Kreismusters
kann in einem Abschnitt des Gitters erhalten werden, das die höchste Anzahl
an Übergängen hat.
-
Die
Erfindung betrifft auch ein Verfahren zum Erkennen eines Barcodes
in einem Bild umfassend: Aufnehmen eines Bildes, Untersuchen des
Bildes in einer Mehrzahl von vierseitigen Gittern, Erhalten eines
Profils des Bildes entlang jeder Seite eines Gitters und Bestimmen
der Anzahl Übergänge in dem Profil
jeder Seite. Die Anzahl der Übergänge in jedem benachbarten
Seitenpaar wird jeweils verglichen mit der Anzahl Übergänge in dem
gegenüberliegenden benachbarten
Seitenpaar. Ein Gitter wird als ein Gitter, das möglicherweise
einen Barcode trägt,
bestimmt, wenn die Zahl der Übergänge auf
einem Paar benachbarter Seiten der Zahl der Übergänge auf dem gegenüberliegenden
Paar von benachbarten Seiten entspricht. Das Verfahren umfasst auch:
Erhalten eines Profils des Bildes in einem Kreismuster innerhalb
eines barcodetragenden Gitters; Teilen des genannten Profils eines
Kreismusters in eine Anzahl von Paaren von gegenüberliegenden Halbkreismustern;
miteinander Vergleichen der Profile gegenüberliegender Halbkreismuster;
und Definieren der Ausrichtung des barcodetragenden Gitters in Abhängigkeit
der Ausrichtung des Paares von Halbkreisprofilmustern mit der besten Übereinstimmung.
-
Die
Erfindung betrifft auch ein Verfahren zum Erkennen eines Barcodes
in einem Bild umfassend: Erfassen eines Bildes; Untersuchen des
Bildes in einer Mehrzahl von vierseitigen Gittern; Erhalten eines Profils
des Bildes entlang jeder Seite eines Gitters; Bestimmen der Anzahl
von Übergängen in
dem Profil jeder Seite und Vergleichen der Anzahl der Übergänge in jedem
benachbarten Paar von Seiten mit der Anzahl von Übergängen in dem jeweils gegenüberliegenden
benachbarten Paar von Seiten. Ein Gitter, das möglicherweise einen Barcode
trägt,
wird identifiziert, wenn die Zahl der Übergänge in einem Paar benachbarter
Seiten der Zahl der Übergänge in dem gegenüberliegenden
Paar von benachbarten Seiten entspricht. Das Verfahren umfasst auch:
Erhalten eines Profils des Bildes in einem Kreismuster innerhalb eines
barcodetragenden Gitters; Teilen des Profils eines Kreismusters
in eine Anzahl von Paaren von gegenüberliegenden Halbkreismustern;
miteinander Vergleichen der Profile gegenüberliegender Halbkreismuster;
und Definieren der Ausrichtung des barcodetragenden Gitters in Abhängigkeit
der Ausrichtung des Paares von Halbkreisprofilmustern mit der besten Übereinstimmung;
Erhalten eines Profils des Bildes entlang der Ausrichtung der Barcodedaten, die
von dem barcodedatentragenden Gitter stammen; und Scannen entlang
wenigstens einer der Balken oder Zwischenräume der Barcodedaten, um die Ausrichtung
zu verifizieren und zu bestätigen,
dass das barcodedatentragende Gitter ein Teil eines bona fide Barcodes
ist.
-
Diese
Erfindung betrifft auch ein Verfahren zum Erkennen eines Barcodes
in einem Bild umfassend: Erfassen eines Bildes; Untersuchen des
Bildes in einer Mehrzahl von vierseitigen Gittern; Erhalten eines
Profils des Bildes entlang jeder Seite eines Gitters; Bestimmen
der Anzahl von Übergängen in
dem Profil jeder Seite;
Vergleichen der Anzahl der Übergänge in jedem
benachbarten Paar von Seiten mit der Anzahl von Übergängen in dem jeweils gegenüberliegenden
benachbarten Paar von Seiten; und Identifizieren eines Gitters,
das möglicherweise
einen Barcode trägt,
wenn die Zahl der Übergänge in einem
Paar benachbarter Seiten der Zahl der Übergänge in dem gegenüberliegenden
Paar von benachbarten Seiten entspricht. Das Verfahren umfasst auch:
Erhalten eines Profils des Bildes in einem Kreismuster innerhalb
eines barcodetragenden Gitters; Teilen des genannten Profils eines
Kreismusters in eine Anzahl von Paaren von gegenüberliegenden Halbkreismustern;
miteinander Vergleichen der Profile gegenüberliegender Halbkreismuster;
und
Definieren der Ausrichtung des barcodetragenden Gitters
in Abhängigkeit
der Ausrichtung des Paares von Halbkreisprofilmustern mit der besten Übereinstimmung;
Erhalten eines Profils des Bildes entlang der Ausrichtung der Barcodedaten,
die von dem barcodedatentragenden Gitter stammen; Scannen entlang
wenigstens einer der Balken oder Zwischenräume der Barcodedaten, um die
Ausrichtung zu verifizieren und zu bestätigen, dass das barcodedatentragende
Gitter ein Teil eines bona fide Barcodes ist; Zusammenfügen aufeinanderfolgender
Gitter, die die genannte definierte Ausrichtung haben, zu einer Gruppe;
Untersuchen
jeden benachbarten Gitters in Bezug zu jedem der zusammengefügten, aufeinanderfolgenden
Gitter, um seine Ausrichtung zu bestimmen; und Hinzufügen des
genannten benachbarten Gitters zu der Gruppe, wenn es die definierte
Ausrichtung hat.
-
Die
Erfindung betrifft auch ein Verfahren zum Erkennen eines Barcodes
in einem Bild umfassend: Aufnehmen eines Bildes, Untersuchen des
Bildes in einer Mehrzahl von Gittern, und Erhalten eines Profils des
Bildes entlang Paaren von gegenüberliegenden Bereichen
des Randes eines Gitters. Die Anzahl Übergänge in dem Profil jeden Paares
gegenüberliegender
Bereiche wird bestimmt. Die Anzahl der Übergänge in einem Bereich jeden
Paares von gegenüberliegenden
Bereichen wird verglichen mit der Anzahl von Übergängen in dem gegenüberliegenden Bereich
des Paares gegenüberliegender
Bereiche. Ein Gitter, das möglicherweise
Barcodedaten trägt, wird
identifiziert, wenn die Zahl der Übergänge in einem Bereich eines
Paares der Zahl der Übergänge in dem
gegenüberliegenden
Bereich des Paares entspricht.
-
In
einer bevorzugten Ausführungsform
umfasst die Kante vier Seiten und die Anzahl Übergänge an jedem benachbarten Seitenpaar
kann mit der Anzahl Übergänge des
gegenüberliegenden
benachbarten Seitenpaares verglichen werden.
-
Diese
Erfindung betrifft auch ein System zum Erkennen eines Barcode umfassend:
Mittel zum Erfassen eines Bildes; Mittel zum Untersuchen eines Bildes
in einer Mehrzahl von vierseitigen Gittern; und Mittel zum Erhalten
eines Profils des Bildes entlang jeder Seite eines Gitters. Es gibt
Mittel zum Bestimmen der Anzahl von Übergängen in dem Profil jeder Seite
und Mittel zum Vergleichen der Anzahl der Übergänge in jedem benachbarten Paar
von Seiten mit der Anzahl von Übergängen in
dem jeweils gegenüberliegenden
benachbarten Paar von Seiten. Es gibt Mittel zum Identifizieren
eines Gitters, das möglicherweise
Barcodedaten trägt,
wenn die Zahl der Übergänge in einem
Paar benachbarter Seiten der Zahl der Übergänge in dem gegenüberliegenden Paar
von benachbarten Seiten entspricht.
-
In
einer bevorzugten Ausführungsform
gibt es Mittel zum Erhalten eines Profils des Bildes in einem Kreismuster
innerhalb eines barcodetragenden Gitters und Mittel zum Teilen des
Profils eines Kreismusters in eine Anzahl von Paaren von gegenüberliegenden
Halbkreismustern. Es können
Mittel vorgesehen sein zum miteinander Vergleichen der Profile gegenüberliegender
Halbkreismuster und Mittel zum Definieren der Ausrichtung des barcodetragenden Gitters
in Abhängigkeit
der Ausrichtung des Paares von Halbkreisprofilmustern mit der besten Übereinstimmung.
Es können
Mittel vorgesehen sein zum Erhalten eines Profils des Bildes entlang
der Ausrichtung der Barcodedaten, die von dem barcodedatentragenden
Gitter stammen und Mittel zum Scannen entlang wenigstens einer der
Balken und Zwischenräume
der Barcodedaten, um die Ausrichtung zu verifizieren und zu bestätigen, dass
das barcodedatentragende Gitter ein Teil eines bona fide Barcodes
ist. Es können
Mittel vorgesehen sein zum Zusammenfügen aufeinanderfolgender Gitter,
die die definierte Ausrichtung haben, zu einer Gruppe, Mittel zum
Untersuchen jeden benachbarten Gitters in Bezug zu jedem der zusammengefügten, aufeinanderfolgenden Gitter,
um seine Ausrichtung zu bestimmen und Mittel zum Hinzufügen des
benachbarten Gitters zu der Gruppe, wenn es die definierte Ausrichtung
hat. Die Anzahl Übergänge stimmt überein,
wenn die Anzahlen ungefähr
gleich oder gleich sind. Das Profil des Bildes in einem Kreismuster
kann ein Grauwertprofil sein. Die Mittel zum miteinander Vergleichen
der Kreismusterprofile können
Mittel zur Differenzbildung der Grauwerte jeden Paares von gegenüberliegenden
Halbkreismustern umfassen. Die Mittel zum Scannen können entlang
einer der Balken und Zwischenräume
der Barcodedaten scannen.
-
Die
Erfindung betrifft auch ein System zum Erkennen eines Barcodes umfassend:
Mittel zum Erfassen eines Bildes; Mittel zum Untersuchen des Bildes
in einer Mehrzahl von vierseitigen Gittern; Mittel zum Erhalten
eines Profils des Bildes entlang jeder Seite eines Gitters; Mittel
zum Bestimmen der Anzahl von Übergängen in
dem Profil jeder Seite und Mittel zum Vergleichen der Anzahl der Übergänge in jedem benachbarten
Paar von Seiten mit der Anzahl von Übergängen in dem jeweils gegenüberliegenden
benachbarten Paar von Seiten und Mittel zum Identifizieren eines
Gitters, das möglicherweise
Barcodedaten trägt,
wenn die Zahl der Übergänge in einem
Paar benachbarter Seiten der Zahl der Übergänge in dem gegenüberliegenden
Paar von benachbarten Seiten entspricht. Es gibt auch Mittel zum
Erhalten eines Profils des Bildes in einem Kreismuster innerhalb
eines barcodetragenden Gitters, Mittel zum Teilen des Profils eines
Kreismusters in eine Anzahl von Paaren von gegenüberliegenden Halbkreismustern,
Mittel zum miteinander Vergleichen der Profile gegenüberliegender
Halbkreismuster und Mittel zum Definieren der Ausrichtung des barcodetragenden
Gitters in Abhängigkeit
der Ausrichtung des Paares von Halbkreisprofilmustern mit der besten Übereinstimmung.
-
Die
Erfindung betrifft auch ein System zum Erkennen eines Barcodes umfassend:
Mittel zum Erfassen eines Bildes; Mittel zum Untersuchen des Bildes
in einer Mehrzahl von vierseitigen Gittern; Mittel zum Erhalten
eines Profils des Bildes entlang jeder Seite eines Gitters; Mittel
zum Bestimmen der Anzahl von Übergängen in
dem Profil jeder Seite und Mittel zum Vergleichen der Anzahl der Übergänge in jedem benachbarten
Paar von Seiten mit der Anzahl von Übergängen in dem jeweils gegenüberliegenden
benachbarten Paar von Seiten und Mittel zum Identifizieren eines
Gitters, das möglicherweise
Barcodedaten trägt,
wenn die Zahl der Übergänge in einem
Paar benachbarter Seiten der Zahl der Übergänge in dem gegenüberliegenden
Paar von benachbarten Seiten entspricht. Es gibt Mittel zum Erhalten
eines Profils des Bildes in einem Kreismuster innerhalb eines barcodetragenden
Gitters und Mittel zum Teilen des Profils eines Kreismusters in
eine Anzahl von Paaren von gegenüberliegenden
Halbkreismustern, Mittel zum miteinander Vergleichen der Profile
gegenüberliegender
Halbkreismuster und Mittel zum Definieren der Ausrichtung des barcodetragenden
Gitters in Abhängigkeit
der Ausrichtung des Paares von Halbkreisprofilmustern mit der besten Übereinstimmung, Mittel
zum Erhalten eines Profils des Bildes entlang der Ausrichtung der
Barcodedaten, die von dem barcodedatentragenden Gitter stammen und
Mittel zum Scannen entlang wenigstens einer der Balken und Zwischenräume der
Barcodedaten, um die Ausrichtung zu verifizieren und zu bestätigen, dass
das barcodedatentragende Gitter ein Teil eines bona fide Barcodes
ist.
-
Die
Erfindung betrifft auch ein System zum Erkennen eines Barcodes umfassend:
Mittel zum Erfassen eines Bildes; Mittel zum Untersuchen des Bildes
in einer Mehrzahl von vierseitigen Gittern; Mittel zum Erhalten
eines Profils des Bildes entlang jeder Seite eines Gitters; Mittel
zum Bestimmen der Anzahl von Übergängen in
dem Profil jeder Seite und Mittel zum Vergleichen der Anzahl der Übergänge in jedem benachbarten
Paar von Seiten mit der Anzahl von Übergängen in dem jeweils gegenüberliegenden
benachbarten Paar von Seiten und Mittel zum Identifizieren eines
Gitters, das möglicherweise
Barcodedaten trägt,
wenn die Zahl der Übergänge in einem
Paar benachbarter Seiten der Zahl der Übergänge in dem gegenüberliegenden
Paar von benachbarten Seiten entspricht. Es gibt Mittel zum Erhalten
eines Profils des Bildes in einem Kreismuster innerhalb eines barcodetragenden
Gitters und Mittel zum Teilen des Profils eines Kreismusters in
eine Anzahl von Paaren von gegenüberliegenden
Halbkreismustern, Mittel zum miteinander Vergleichen der Profile
gegenüberliegender
Halbkreismuster und Mittel zum Definieren der Ausrichtung des barcodetragenden
Gitters in Abhängigkeit
der Ausrichtung des Paares von Halbkreisprofilmustern mit der besten Übereinstimmung. Es
gibt Mittel zum Erhalten eines Profils des Bildes entlang der Ausrichtung
der Barcodedaten, die von dem barcodedatentragenden Gitter stammen
und Mittel zum Scannen entlang wenigstens einer der Balken und Zwischenräume der
Barcodedaten, um die Ausrichtung zu verifizieren und zu bestätigen, dass
das barcodedatentragende Gitter ein Teil eines bona fide Barcodes
ist. Es gibt Mittel zum Zusammenfügen aufeinanderfolgender Gitter,
die die genannte definierte Ausrichtung haben, zu einer Gruppe,
Mittel zum Untersuchen jeden benachbarten Gitters in Bezug zu jedem
der zusammengefügten,
aufeinanderfolgenden Gitter, um seine Ausrichtung zu bestimmen,
und Mittel zum Hinzufügen
des benachbarten Gitters zu der Gruppe, wenn es die definierte Ausrichtung
hat.
-
Die
Erfindung betrifft auch ein System zum Erkennen eines Barcodes umfassend:
Mittel zum Erfassen eines Bildes; Mittel zum Untersuchen eines Bildes
in einer Mehrzahl von Gittern; Mittel zum Erhalten eines Profils
des Bildes entlang Paaren von gegenüberliegenden Bereichen eines
Randes eines Gitters. Es gibt Mittel zum Bestimmen der Anzahl von Übergängen in
dem Profil jeden Paares von gegenüberliegenden Bereichen und
Mittel zum Vergleichen der Anzahl der Übergänge in einem Bereich eines Paares
von gegenüberliegenden
Bereichen mit der Anzahl von Übergängen in
dem gegenüberliegenden Paar
gegenüberliegender Bereiche.
Es gibt Mittel zum Identifizieren eines Gitters, das möglicherweise Barcodedaten
trägt,
wenn die Zahl der Übergänge in einem
Bereich eines Paares der Zahl der Übergänge in dem gegenüberliegenden
Bereich des Paares entspricht.
-
In
einer bevorzugten Ausführungsform
kann der Rand vier Seiten umfassen und die Anzahl Übergänge an jedem
benachbarten Seitenpaar kann verglichen werden mit der Anzahl Übergänge des
gegenüberliegenden
benachbarten Seitenpaares.
-
Kurze Beschreibung der
Erfindung
-
Andere
Objekte, Merkmale und Vorteile wird der Fachmann aus der folgenden
Beschreibung eines bevorzugten Ausführungsbeispiels und der dazugehörigen Zeichnung
erkennen. In der Zeichnung zeigen:
-
1 ein
schematisches Blockdiagramm eines erfindungsgemäßen Systems zum Erkennen eines
Barcodes;
-
2 ein
Paar von Barcodelabeln, die in einer Mehrzahl von Gittern untersucht
werden;
-
3 eine
vergrößerte Ansicht
eines Gitters, das Barcodedaten enthält;
-
4 eine
Darstellung eines Grauwert-Randprofils des Barcodes entlang der
vier Seiten des Randes des Gitters aus 3;
-
5 eine
Darstellung des Ortes des Randprofilkreises der Barcodedaten;
-
6 ein
Ausdruck des Kreismusters aus 5;
-
7 ein
Grauwert-Randprofil der Barcodedaten auf dem Kreismuster aus dem
Abschnitt des Gitters aus 5;
-
8 eine
dreidimensionale Darstellung des Kreismusters-Grauwertprofil aus 7;
-
9 eine
Ansicht des Gitters aus 3, die Scans entlang dem breitesten
Balken und Zwischenraum zeigt, um die Ausrichtung des Barcode in
dem Gitter zu verifizieren;
-
10 ein
Mapping der Ausrichtdaten von dem Gitter;
-
11 das
Mapping der Ausrichtdaten aus 2, das Gitter,
die Barcodedaten tragen, auf Level 1 anzeigen;
-
12 eine
Ansicht ähnlich
wie 2, die die original identifizierten barcodedatentragenden Gitter
in Übereinstimmung
mit der Karte aus 11 zeigt;
-
13 eine
Ansicht ähnlich
wie 12, die den Barcode zeigt, nachdem dieser gewachsen
ist, um benachbarte Gitter einzuschließen, die Barcodedaten haben,
die wie die original Barcodedatengitter ausgerichtet sind;
-
14 ein
Flussdiagramm, dass das erfindungsgemäße Verfahren darstellt;
-
15 ein
Flussdiagramm, das die Abläufe zum
Lokalisieren, Ausrichten und Verifizieren der Ausrichtung detaillierter
zeigt;
-
16 ein
Flussdiagramm, das die Bestimmung des Barcodebereichs detaillierter
zeigt.
-
Beschreibung der bevorzugten
Ausführungsform
-
Neben
dem bevorzugten Ausführungsbeispiel
oder Ausführungsbeispielen,
die nachstehend offenbart sind, umfasst diese Erfindung weitere
Ausführungsbeispiele
und kann in verschiedenen Arten ausgeführt werden. Deshalb versteht
sich, dass die Erfindung nicht auf die konstruktiven Details und
auf die Zusammensetzung der Komponenten, wie sie in der folgenden
Beschreibung ausgeführt
oder in der Zeichnung dargestellt sind, beschränkt ist.
-
In 1 ist
ein System zum Erkennen eines Barcodes gezeigt mit einer Kamera 12 mit
einer Optik 14, einem Frame Grabber 16, einem
RAM 18 (random access memory), einem Mikroprozessor 20 und einem
Dekoder 22. Wenn Pakete, wie Boxen 24, 26 und 28,
entlang eines Förderbandes 30 in
Richtung des Pfeiles 32 bewegt werden, werden sie von der Optik 14 entlang
Scanlinien 36 in Richtung des Pfeiles 34 gescannt.
Jedes Paket, wie z.B. Box 28, weisen auf ihrer Oberseite 45 ein
oder mehrere Barcodes 40, 42 und verschiedene
weitere Informationen auf, wie Label, Logos, Adressen 44,
die hinzukommen und die das Erkennen des Barcodes an sich verkomplizieren.
Wenn die Box 28 sich in Richtung 32 bewegt und
in Richtung 34 gescannt wird, wird ein zweidimensionales
Bild aufgebaut, das von der Kamera 12, die typischerweise
eine lineare CCD Kamera ist und vom Frame Grabber 16 erfasst
wird. Das Bild wird im RAM 18 zwischengespeichert, von
wo die Daten vom Mikroprozessor 20 weiterverarbeitet werden,
der den einen oder die mehreren Barcodes 40, 42 identifizieren
und lokalisieren muss, ihre Ausrichtung bestimmen muss und dann
diese in geeigneter Form dem Decoder 22 weitergeben muss,
um die Daten, die in den Balken und Zwischenräumen des Barcodes enthalten
sind, zu interpretieren.
-
Gemäß der Erfindung
wird das gesamte Bild, das die gesamten Oberfläche der Box 28 sowie
diese umgebende Bereiche des Förderbandes 30 umfasst, segmentiert
und untersucht in einer Matrix von Gittern 50 (2),
wobei jedes Gitter aus einer Matrix mit 64 Zeilen und 64 Spalten
von Pixeln besteht. Die weitere Verarbeitung erfolgt in erster Linie
auf einzelnen Gittern, wie beispielsweise auf Gitter 50a (3),
das in Bezug auf seine Seiten analysiert wird. Obwohl Gitter 50a als
ein Quadrat gezeigt ist, ist dies nicht notwendigerweise eine Beschränkung der Erfindung,
obwohl ein vierseitiges Gitter bevorzugt ist. Ein Grauwertprofil
wird von jeder Seite, A-B, B-C, C-D, und D-A (3),
erhalten und ist in 4 in einer auseinandergezogenen
Ansicht gezeigt. Der obere Teil 54 der Wellenform repräsentiert
die weiße Zwischenräume und
die unteren Enden 56 repräsentieren die schwarzen oder
dunklen Balken. Die Anzahl der Balken/Zwischenräume Übergänge an jeder Seite A-B, B-C,
C-D, und D-A werden gezählt.
Jeder ins Positive oder ins Negative gehende Übergang zählt als 1. Zum Beispiel sind
an der Seite B-C sechs positiv gehende Übergänge 58–68 und
sechs negativ gehende Übergänge 70–80.
Diese Übergänge werden
gezählt
und dann von benachbarten Paaren aufsummiert und verglichen. Genauer,
die Zahl der Übergänge an den
Seiten A-B und B-C werden zusammengefasst und mit der Zahl der Übergänge an den
Seiten C-D und D-A verglichen. Ihr Vergleich wird notiert. Dann
wird die Zahl der Übergänge an den
Seiten B-C und C-D verglichen mit der von D-A und A-B. Ihr Vergleich
wird notiert. Wenn es in einem der Fälle eine Übereinstimmung gibt wird dieses
Gitter als ein Kandidat identifiziert, der Barcodedaten enthält. Was
eine Übereinstimmung
darstellt hängt von
der gewünschten
Genauigkeit ab. Zum Beispiel könnte
eine Übereinstimmung
mit wenigen Prozent oder mehr gegeben sein, oder es könnte exakte Gleichheit
sein, was von der Notwendigkeit abhängt. Dieses ist eine einfache
und relativ schnelle Technik zur Bestimmung, ob ein Gitter von weiterem
Interesse ist oder nicht. Ist es das nicht, wird es von dem weiteren Entscheidungsprozess
entfernt, wodurch die benötigte
Rechenleistung und Rechenzeit dramatisch reduziert wird.
-
Wenn
die Indizierung positive ist, wird die Ausrichtung dieses Gitters,
das möglicherweise
Barcodedaten trägt,
untersucht. Dazu wird ein kleineres Subgitter 82 (5)
des Gitters 50 gewählt.
Typischerweise ist das Subgitter ein Viertel des Gitters 50a und
es ist dasjenige, das die meisten Übergänge an seinem Rand entlang
der Seien hat. Der Viertelgitterabschnitt 82 hat eine Größe von zweiunddreißig mal
zweiundddreißig
Pixel. Ein Kreismuster 84 wird in den Abschnitt 82 gelegt
und ein Grauwertprofil entlang des Umfangs des Kreises 84 aufgenommen. Dieses
Grauwertprofil für
den gesamten Kreisumfang ist in 7 aufgetragen
und umfasst achtundachtzig Pixel, von null bis siebenundachtzig,
die den Umfang des Kreismusters 84 bilden. Die drei Achsen-Ansicht des
Profils 86 in 8 illustriert das Konzept besser, wobei
die Höhe
des Profils 86 aus 7 und 8 den
Grauwert des Bildes an dem jeweiligen Pixel darstellt. Eine Pixelkarte 90 (6)
zeigt den Umfang 92 des Kreismusters 84 wie er
aus einem Feld von Pixeln aufgebaut ist, die von null bis achtundsiebzig nummeriert
sind, beginnend mit null bei Punkt 94 und endend an Punkt 95 mit
Pixel siebenundachtzig. Um die Ausrichtung der Balken und Zwischenräume des Barcodes
erfindungsgemäß zu bestimmen,
wird das Kreismuster 84 in zwei Halbkreisbereiche, die
gleiche oder exakte Halbkreise sein können, geteilt. Zum Beispiel
könnte
der erste Halbkreis sich von Pixel null bis Pixel dreiundvierzig
und der zweite Halbkreis sich von Pixel siebenundachtzig bis Pixel
vierundvierzig erstrecken. Die Grauwerte jeden Pixels der zwei gegenüberliegenden
Halbkreise werden dann beispielsweise durch Differenzbildung verglichen.
Zum Beispiel kann der Grauwert in Pixel null von dem Grauwert in
Pixel siebenundachtzig subtrahiert werden. Zu dem Ergebnis dieser
Absolutdifferenz kann der Absolutwert zwischen dem Grauwert in Pixel
eins und dem Grauwert in Pixel sechsundachtzig addiert werden. Dann
wird zu diesem Ergebnis der Absolutwert zwischen dem Grauwert von
Pixel zwei und dem Grauwert von Pixel fünfundachtzig addiert. Dies
wird entlang der beiden Halbkreise fortgesetzt bis die Pixel dreiundvierzig
und vierundvierzig erreicht sind. Das Ergebnis wird gespeichert
und dann wird ein anderes Paar von Halbkreisen gewählt, zum
Beispiel kann der nächste
Bereich einfach der Bereich von Pixel eins bis Pixel vierundvierzig
und von Pixel null bis Pixel fünfundvierzig
sein. Die selbe Differenzbildung wird durchgeführt und das Ergebnis wieder
gespeichert. Nach der gesamten Abfolge wird das Paar von Halbkreisen,
dass die beste Übereinstimmung
durch Summe null oder den niedrigsten Wert ergibt, bestimmt als
dasjenige, dass die wahre Orientierung der Barcodebalken und Zwischenräume angibt.
Der Durchmesser, der das Paar von gegenüberliegenden Halbkreisen teilt,
ist deshalb senkrecht zur Richtung der Barcodebalken und Zwischenräume. Diese
einfache Technik des Addierens und Sammelns reduziert die benötigte Rechenleistung
und Rechenzeit erheblich und liefert hochgenaue Ergebnisse bzgl.
der Ausrichtung der Barcodedaten. Wenn eine noch schnellere Verarbeitungszeit
benötigt
wird, können
weniger Pixel oder weniger gegenüberliegende
Halbkreisbereiche benutzt werden. Für eine größere Genauigkeit können zusätzliche
Pixel eingefügt
werden.
-
Wenn
einmal eine Ausrichtung bestimmt wurde, beispielsweise die Durchmesserlinie 100 aus 9,
kann ein Scan zur Verifizierung entlang einer oder mehrerer der
Balken oder Zwischenräume
zur Verifizierung der Genauigkeit der Ausrichtung gemacht werden.
So werden zwei der breitesten schwarzen Balken 102 und 104 und
einer der breitesten weißen
Balken 106 ausgewählt
und Scans 108, 110 und 112 senkrecht
zur Durchmesserlinie 100 durchgeführt. Wenn die Scans 108, 110 und 112 entlang
der Balken 102, 194 und des Zwischenraums 106 konsistent
sind, ist die Ausrichtung verifiziert und akzeptiert.
-
Die
Gitter werden nun vereint, um einen gesamten Barcodelabelbereich
zu bilden. Um dies erfindungsgemäß zu erreichen
können
die Daten ein weiteres Mal reduziert werden, um die benötigte Rechenleistung
und Rechenzeit zu verringern. Dies wird erreicht indem jedem der
vierundsechzig mal vierundsechzig Gitter ein einzelner Wert zugewiesen wird
anstatt der viertausendsechsundneunzig Pixel, die sie normalerweise
enthalten und dass ein Wert die Ausrichtung der in dem Gitter gefundenen
Barcodedaten darstellt. So können
zum Beispiel, wie dies in 10 durch
den dargestellten Pyramidenstumpf 120 veranschaulicht ist,
dreißig
mal dreißig Gitter 122,
von denen jedes viertausendsechsundneunzig Pixelwerte enthält, reduziert
werden zu einer dreißig
mal dreißig
Pixelfläche,
die jede nur einen Wert enthält,
der die Ausrichtung der Barcodedaten repräsentiert. Die sich daraus ergebende
Karte 130 ist in 11 gezeigt,
in der die Gitter 132–162 die
Information (33) enthalten, die die Ausrichtung der Gitter
des Barcodes 40 repräsentiert.
Genauso repräsentiert
im Barcode 42 die Information (8) die Datenausrichtung
des Barcodes 42. In 12 repräsentieren
die Gitter 132a–162a die
Gitter, die deutlich Barcodedaten enthalten und definitiv ausgerichtet
sind. Benachbarte Gitter, die nur einen Teil von Barcodebalken und
Zwischenräumen
enthalten, sind vertreten durch Gitter 164a, 166a, 168a, 170a, 172a usw.. Dies
sind Gitter, die nicht als Gitter mit barcodeähnliche Daten identifiziert
wurden. Um das Barcodelabel zu seiner vollen Fläche zu erweitern oder "wachsen" zu lassen, kann
eine weitere Möglichkeit
genommen werden, um die Gitter als mögliche Beiträger zu einer Barcodelabel-Fläche zu untersuchen.
Diese wird gemacht, indem eine bekannte Fäche wie 132a (12)
ausgewählt
wird und dann der Reihe nach jedes benachbarte Gitter daraufhin
angeschaut wird, ob es Barcodedaten enthält und ob diese in der selben
Weise ausgerichtet sind wie die in dem Anfangsgitter. Wenn es einem
verifizierten Gitter benachbart ist und selbst wenn es selbst nicht
verifiziert ist, wird dieses benachbarte Gitter als Teil des Barcodelabels akzeptiert,
wenn die Balken und Zwischenräume
darin dieselbe Ausrichtung haben wie das Original. Dies wird um
den gesamten Barcodelabelbereich herum für alle Gitter 132a–162a fortgesetzt,
und auf diese Weise wächst
die Barcodelabelfläche
um die größere Fläche 40a,
wie in 13 gezeigt, zu umfassen. Mit gleichem
Verfahren wächst
das Barcodelabel 42a.
-
Das
erfindungsgemäß Verfahren
umfasst das Aufnehmen des Bildes, Schritt 200 (14)
und dann das Lokalisieren des Gitters, das Barcodedaten trägt, Schritt 202.
In diesem Schritt werden alle die Gitter, die keine Barcodedaten
enthalten, von dem weiteren Verfahren eliminiert, wodurch die Rechenlast
und Rechenzeit des Systems reduziert wird. In Schritt 204 wird
dann die Ausrichtung der Gitter bestimmt, bei denen gefunden wurde,
dass sie Barcodedaten enthalten. Die Ausrichtung der Barcodedaten
in dem Gitter wird ausgewertet, Schritt 206, und dann werden
die Gitter zusammengefügt
um die gesamte Barcodefläche
zu bestimmen, Schritt 208, wonach die Barcodefläche in Schritt 210 dekodiert wird.
Der Ablauf zum Lokalisieren der Gitter, die Barcodedaten tragen,
Schritt 202, ist in 15 im
Detail gezeigt, wobei in Schritt 212 das Profil aus einem vierseitigen
Gitter erhalten ist. Dann werden in Schritt 214 die Balken/Zwischenräume Übergänge an jeder Seite des
Gitters gezählt.
In Schritt 216 werden die Anzahl der Balken/Zwischenräume Übergänge in Paaren
benachbarter Seiten verglichen, um zu sehen, ob es Übereinstimmung
gibt.
-
Die
Weiterverarbeitung geht dann zum nächsten Schritt 204,
in dem die Ausrichtung des Gitters bestimmt wird. Dann, wenn zwei
gegenüberliegende/benachbarte
Seiten übereinstimmen,
Schritt 218, wird ein kleinerer Teil des Gitters, typischerweise
ein Viertel in einer Ecke des vierundsechzig mal vierundsechzig
Gitters, also ein zweiunddreißig
mal zweiunddreißig
Sub-Gitter, gewählt,
das die höchste Anzahl
Balken/Zwischenraum Übergänge der
vier Viertel in den vier Ecken aufweist. Ein Kreismuster von Pixeln
wird untersucht und eine Differenzbildung deren Grauwerte vorgenommen,
um die Ausrichtung in Schritt 226 zu erhalten. Wenn in
Schritt 218 keine Übereinstimmung
zwischen benachbarten Paaren von Seiten vorliegt, sucht das System
das nächste Gitter
in Schritt 222. Wenn es in Schritt 222 mehrere Gitter
gibt, kehrt das System zu Schritt 212 zurück, um ein
Profil eines vierseitigen Gitters zu erhalten. Wenn es keine Gitter
mehr gibt, springt das System zu Schritt 208, um die Barcodefläche zu bestimmen. Das
System kehrt in Schritt 220 zurück, um nach dem nächsten Gitter
zu suchen, wenn die Ausrichtung in Schritt 226 nicht bestimmt
werden kann. Vorausgesetzt, dass die Ausrichtung in Schritt 226 bestimmt werden
kann, geht das System weiter zur Validierungsroutine 206 der
Gitterausrichtung, in der eine Dreilinienverifizierung in Schritt 228 vorgenommen wird
und geht dann weiter zur Kartierung der Ausrichtung um eine Datenreduzierung
zu erhalten in Schritt 220. Wenn die Arbeitsabläufe 202, 204 und 206 vollständig durchgelaufen
sind, geht das System weiter zu Schritt 208, um die Barcodefläche zu bestimmen. Eine
erste Ausrichtung oder ein Keim ist in Schritt 240 (16)
gefunden. In diesem Schritt wird ein Gitter gefunden, das identifiziert
wurde als eines, das Barcodedaten trägt und eine klare Ausrichtung
hat. Danach wird ein benachbartes Gitter in Schritt 242 angeschaut.
Wenn es in Schritt 244 dieselbe Ausrichtung hat, wird es
in Schritt 246 zur Fläche
hinzugefügt.
Wenn das System dann an seinem Ausgangspunkt wieder angelangt ist,
wird die Fläche
in Schritt 250 dekodiert und die Bearbeitung hört auf,
da sie vollständig
ist. Wenn das System nicht an den Ausgangsschritt 248 zurück kommt,
sucht das System einen anderen Nachbarn in Schritt 242.
Wenn die Ausrichtung nicht dieselbe ist wie in Schritt 244 bestimmt, dann
wird in Schritt 254 eine Anfrage gemacht, ob die Ausrichtung
null ist. Wenn sie nicht null ist kehrt das System zurück, um in
Schritt 248 den Ausgangspunkt zu finden. Wenn die Ausrichtung
null ist, ist eine weitere Möglichkeit
für das
Gitter sich mit der Verifikation durch den Dreilinientest zu qualifizieren
gegeben. Wenn es sich qualifiziert wird es in Schritt 246 zur Fläche hinzugefügt, wenn
es sich nicht qualifiziert kehrt das System in Schritt 248 zurück, um den
Ausgangspunkt zu suchen.
-
Obwohl
spezielle Merkmale der Erfindung in einigen Zeichnungen und nicht
in anderen gezeigt sind, geschieht dies nur der Deutlichkeit halber,
denn jedes Merkmal kann mit irgendeinem oder allen anderen Merkmalen
kombiniert werden gemäß der Erfindung.
Die Begriffe „enthaltend", „umfassend", „habend" und „mit", wie sie hierin
gebraucht werden, sind weit und umfassend auszulegen und sind nicht auf
irgendeine physikalische Verbindung einschränkend. Darüber hinaus sind alle Ausführungsformen, die
in dieser Beschreibung offenbart sind, nicht als die einzig möglichen
anzusehen.
-
Andere
Ausführungsformen
werden dem Fachmann klar sein und liegen im Umfang der folgenden
Ansprüche.