DE69629514T2 - Verfahren zum Lesen eines Punkt-Matrix-Kodes auf einem Gegenstand - Google Patents

Verfahren zum Lesen eines Punkt-Matrix-Kodes auf einem Gegenstand Download PDF

Info

Publication number
DE69629514T2
DE69629514T2 DE69629514T DE69629514T DE69629514T2 DE 69629514 T2 DE69629514 T2 DE 69629514T2 DE 69629514 T DE69629514 T DE 69629514T DE 69629514 T DE69629514 T DE 69629514T DE 69629514 T2 DE69629514 T2 DE 69629514T2
Authority
DE
Germany
Prior art keywords
points
matrix code
code
grid
dot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69629514T
Other languages
English (en)
Other versions
DE69629514D1 (de
Inventor
Neil Anthony Oakwood Davis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rolls Royce PLC
Original Assignee
Rolls Royce PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rolls Royce PLC filed Critical Rolls Royce PLC
Application granted granted Critical
Publication of DE69629514D1 publication Critical patent/DE69629514D1/de
Publication of DE69629514T2 publication Critical patent/DE69629514T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

  • Die Erfindung bezieht sich auf ein Verfahren zum Auslesen einer auf einem Gegenstand aufgebrachten Punktmatrix-Codemarkierung.
  • Es ist oft erforderlich, Werkstücke individuell zu identifizieren, wenn diese eine Reihe von Herstellungsschritten durchlaufen, so dass die Geschichte ihrer Herstellung zur Bezugnahme verfügbar wird. Ein bekanntes Verfahren der Identifizierung ist in dem GB-Patent 2201808 beschrieben.
  • Derartige Komponenten oder Werkstücke werden zweckmäßigerweise mit einer Identifizierungsmarkierung in Form eines Punktmatrix-Codes versehen, und der Punktmatrix-Code wird unter Benutzung eines optischen Lesegerätes ausgelesen. Die Punktmatrix-Codemarkierung umfasst mehrere Spalten und Zeilen, auf denen die Punkte, aus denen die Codemarkierung besteht, angeordnet werden. Das Lesegerät erzeugt einen Ausgang, der dann durch einen Prozessor in eine digitale Form umgewandelt wird. Ein weiterer Prozessor wird vorgesehen, um die Orientierung und Positionierung des Punktmatrix-Codes auf dem digitalisierten Bild zu bestimmen. Der weitere Prozessor arbeitet unter Berechnung der äußeren Grenzen des Punktmatrix-Codes aus den individuellen Punkten in dem digitalisierten Bild. Dies bedeutet, dass der Rand des Punktmatrix-Codes eine ausreichende Zahl von Punkten entlang des Randes aufweisen muss, und jeder Punkt muss genau angeordnet werden. Nicht alle Punktmatrix-Codes erfüllen jedoch diese Forderungen, weil die Ränder einiger Punktmatrix-Codes sehr wenige Punkte aufweisen und in gewissen Fällen die Bildverarbeitung, die durchgeführt wird, um die Punkte zu lokalisieren, nicht ausreicht, um sämtliche Punkte zu lokalisieren.
  • Die US 5128528 beschreibt ein Verfahren zum Auslesen einer Punktmatrix-Codemarkierung, das zwei Daten benutzt, nämlich eine Bezugsmarkierung und ein Bezugs-cve. Die Abstände zwischen den Punkten und der Bezugsmarkierung werden gemessen, und es werden außerdem die Winkel gemessen, die die Punkte relativ zu der Bezugsmarkierung und dem Bezugs-cve einschließen, um eine Reihe von Vektoren zu erzeugen.
  • Unsere britische Patentanmeldung GB-A-2290137, die als europäische Patentanmeldung EP-A-0699324 veröffentlicht wurde, beschreibt ein Verfahren und eine Vorrichtung zur Identifizierung der Orientierung einer Punktmatrix-Codemarkierung auf einem Gegenstand. Hier wird jedoch nicht das Problem gelöst, das darin besteht, einen Code auszulesen, der bei der Bearbeitung des Werkstückes teilweise abgedeckt oder beschädigt wurde.
  • Die vorliegende Erfindung bezweckt die Schaltung eines Verfahrens und einer Vorrichtung zum Auslesen einer auf einem Gegenstand angeordneten Punktmatrix-Codemarkierung, wobei das Auslesen selbst dann noch durchführbar ist, wenn die Markierung auf irgendeine Weise abgedeckt oder beschädigt ist.
  • Die Erfindung betrifft ein Verfahren zum Auslesen einer auf einem Gegenstand angebrachten Punktmatrix-Codemarkierung, die mehrere Zeilen und Spalten aufweist, in denen die Punkte der Punktmatrix-Codemarkierung angeordnet sind, wobei das Verfahren die folgenden Schritte aufweist:
    • a) es wird ein Bild des Punktmatrix-Codes erfasst;
    • b) es werden Stellen auf dem erfassten Bild mit einer Maske korreliert, wobei die Maske dem erwarteten Punkt-Erscheinungsbild entspricht und wobei die Korrelation durchgeführt wird durch zeilenweise und pixelweise Abtastung des, erfassten Bildes oder durch Abtastung des erfassten Bildes derart, dass ausgewählte Pixel und/oder Zeilen des erfassten Bildes ausgelassen werden, um die Abtastraten zu erhöhen;
    • c) es wird ein Schwellwert zur Korrelation zwischen den Stellen auf dem erfassten Bild und der Maske des erwarteten Punkt-Erscheinungsbildes eingestellt;
    • d) es werden jene Stellen auf dem erfassten Bild abgebildet, die eine Korrelation über dem Schwellwert besitzen, um eine Darstellung möglicher Punkte im Punktmatrix-Code zu erzeugen;
    • e) falls erforderlich, wird der Schwellwert gemäß vorbestimmten Kriterien nachgestellt, um die Zuverlässigkeit der Auslesung zu verbessern und es wird der Schritt d) wiederholt;
    • f) falls erforderlich, wird die Maske des erwarteten Punkt-Erscheinungsbildes gemäß vorbestimmten Kriterien nachgestellt, um die Zuverlässigkeit der Auslesung zu verbessern und es werden die Schritte b) bis e) wiederholt;
    • g) falls erforderlich, wird die Darstellung möglicher Punkte im Punktmatrix-Code in eine Auslese-Orientierung überführt;
    • h) es wird ein Gitter aus einer vorbestimmten Anzahl von Zeilen und Spalten von Zellen erzeugt, wobei das Gitter über der Darstellung möglicher Punkte im Punktmatrix-Code derart erzeugt wird, dass das Gitter eine Zelle um jeden möglichen Punkt im Punktmatrix-Code herum definiert, der innerhalb der vorbestimmten Anzahl von Zeilen und Spalten liegt;
    • i) es wird versucht, die Darstellung möglicher Punkte im Punktmatrix-Code zu dekodieren, die innerhalb der Zellen des erzeugten Gitters liegen, und zwar unter Bezugnahme auf ein Bezugsgitter, wobei das Bezugsgitter Zeilen und Spalten gültiger Punktmatrix-Codes repräsentiert; und
    • j) beim Auffinden eines gültigen Codes wird ein Signal ausgegeben, welches bestätigt, dass ein gültiger Code gefunden wurde.
  • Gemäß einem bevorzugten Verfahren wird, wenn kein gültiger Code gefunden wird, ein verminderter Schwellwert eingestellt, und die Schritte c) bis i) werden wiederholt.
  • Die vorbestimmten Kriterien im Schritt f) können derart sein, dass dann, wenn mehr als eine vorbestimmte maximale Zahl möglicher Punkte aufgezeichnet wird, die Maske eingestellt wird durch Erzeugung einer weiteren Maske des erwarteten Punkt-Erscheinungsbildes, wobei die weitere Maske des erwarteten Punkt-Erscheinungsbildes eine Reproduktion jenes Punktes im Bild des Punktmatrix-Codes bildet, das am Nächsten mit der ursprünglichen Maske korreliert.
  • Die vorbestimmten Kriterien im Schritt e) können derart sein, dass, wenn weniger als eine vorbestimmte minimale Zahl möglicher Punkte aufgezeichnet ist, der Pegel eingestellt wird durch Verminderung des Pegels um einen vorbestimmten Betrag, vorausgesetzt, dass der Pegel nicht unter einen vorbestimmten minimalen Wert absinkt. Vorzugsweise wird, wenn der Pegel unter den vorbestimmten minimalen Wert absinkt, eine weitere Maske des erwarteten Punkt-Erscheinungsbildes erzeugt, und die weitere Maske enthält eine Reproduktion jenes Punktes im Bild des Punktmatrix-Codes, der am Nächsten mit der ursprünglichen Maske des erwarteten Punktmatrix-Bildes korreliert.
  • Um ein fehlerhaftes, Ermitteln von Punktmatrix-Codes zu vermeiden, gewährleistet das Verfahren vorzugsweise, dass eine weitere Maske eines erwarteten Punkt-Erscheinungsbildes nur einmal erzeugt werden kann. Wenn daher der Schwellwert auf weniger als den vorbestimmten Minimalwert ein zweites Mal absinkt oder wenn ein zweites Mal mehr als eine vorbestimmte maximale Zahl von Punkten mit einer Korrelation über dem Schwellwert vorhanden ist, dann wird ein Signal ausgegeben, das einen Fehler im Auslesen des Punktmatrix-Codes anzeigt.
  • Das Gitter im Schritt h) kann über den möglichen Punkten durch kontinuierliche Einstellung der relativen Positionen der Zellen gegenüber den Punkten erzeugt werden, um zu gewährleisten, dass die Punkte innerhalb der Zellengrenzen befindlich sind, die das erzeugte Gitter bildet.
  • Eine Dekodierung der Aufzeichnung möglicher Punkte kann durch Vergleich des Bezugsgitters mit dem erzeugten Gitter und dadurch erreicht werden, dass das gültige Codesignal ausgegeben wird, wenn eine minimale Zahl von Zellen mit Punkten in dem erzeugten Gitter den Zellen in dem Bezugsgitter entspricht.
  • Bevor ein Signal ausgegeben wird, das das Auffinden eines gültigen Codes bestätigt, wird die Gültigkeit des Codes durch Bezugnahme auf Fehlerkorrektur-Bits und zyklische Redundanz-Überprüfungen kontrolliert, die in den Punktmatrix-Code eingebaut sind.
  • Wie in den oben erwähnten Patentanmeldungen können die Punkte des Punktmatrix-Codes zweckmäßigerweise aus Eindrücken in einer Oberfläche des Gegenstandes bestehen. Um einen guten Kontrast der Punkte gegenüber der umgebenden Oberfläche zu erzielen, wird die Punktmatrix vorzugsweise durch eine helle Lichtquelle beleuchtet, die schräg auf die Oberfläche scheint. Eine geeignet starke Lichtquelle wird durch wenigstens eine, vorzugsweise mehrere, helle Leuchtdioden geschaffen.
  • Die ursprüngliche Maske des erwarteten Punkt-Erscheinungsbildes repräsentiert vorzugsweise das Erscheinungsbild eines schräg beleuchteten reinen Punktes in einem Punktmatrix-Code. Es kann jedoch zweckmäßig sein, die ursprüngliche Maske des erwarteten Punkt-Erscheinungsbildes auf Wunsch des Benutzers zu ändern, weil das Erscheinungsbild der Punkte in jedem derartigen Punktmatrix-Code von der vorherigen Verarbeitung abhängt, mit der der Gegenstand behandelt wurde und von der Beleuchtung der Punkte.
  • Vorzugsweise ist das erfasste Bild ein Videobild, das durch eine Videokamera aufgenommen wurde und als Videobild gespeichert ist. Vorzugsweise ist die Videokamera eine CCD-Kamera.
  • Eine Korrektur kann durchgeführt werden, indem jedes zweite Pixel und jede zweite Zeile des erfassten Bildes abgetastet werden. Die Erfindung betrifft auch eine Vorrichtung, die in der Lage ist, das vorgenannte Verfahren durchzuführen.
  • Ein Ausführungsbeispiel der Erfindung wird nachstehend unter Bezugnahme auf die beiliegende Zeichnung beschrieben. In der Zeichnung zeigen:
  • 1 ist eine schematische Darstellung einer erfindungsgemäßen Vorrichtung;
  • 2a bis 2d sind Skizzen von beispielsweisen Bildern auf einer Video-Displayeinheit, welche die Schritte zur Durchführung des erfindungsgemäßen Verfahrens veranschaulichen; und
  • 3 ist ein Software-Ablaufdiagramm, welches die Schritte des erfindungsgemäßen Verfahrens veranschaulicht.
  • Gemäß 1 weist eine Vorrichtung 1 zum Auslesen einer Punktmatrix-Codemarkierung 2 auf einem Gegenstand 3 helle Leuchtdioden zur Beleuchtung des Punktmatrix-Codes 2 auf dem Gegenstand 3 und eine Videokamera 5, beispielsweise eine CCD-Kamera auf, um den beleuchteten Punktmatrix-Code 2 zu betrachten. Die Leuchtdioden 4 richten das Licht unter einem kleinen Einfallswinkel auf die Oberfläche des Gegenstandes 3, um den Kontrast der Punkte im Punktmatrix-Code 2 zu vergrößern.
  • Die Kamera 5 erzeugt ein Video-Ausgangssignal entsprechend dem Bild des Punktmatrix-Codes 2. Das Ausgangssignal wird einem Computer 6, beispielsweise einem Personalcomputer, zugeführt, der eine Video-Digitizer-Karte 7 aufweist, um das Bild des Punktmatrix-Codes 2 zu verarbeiten und das Bild des Punktmatrix-Codes 2 zu speichern.
  • Eine vorbestimmte ursprüngliche Standardmaske des erwarteten Punkt-Erscheinungsbildes wird im Speicher 8 für den Computer 6 gespeichert, z. B. auf einer Harddisk. Diese Maske, entsprechend einem Bild der seitlich beleuchteten reinen Punkte, wird von der Disk 8 in das RAM 9 des PC geladen, jedoch wird es während der folgenden Schritte des Verfahrens modifiziert, wie dies später erläutert wird.
  • Bei gewissen Schritten der Verarbeitung kann bekanntlich das Punkt-Erscheinungsbild unterschiedlich sein. Beispielsweise können die Punkte mit Schmutz angefüllt sein. In einem solchen Fall kann es zweckmäßig sein, wenn eine oder mehrere alternative Masken ebenfalls auf der Disk 8 gespeichert sind, so dass der Benutzer die ursprüngliche Standardmaske gegen eine alternative Standardmaske entsprechend dem erwarteten Punkt-Erscheinungsbild bei jenem speziellen Verarbeitungsschritt austauschen kann.
  • Wenn eine unzureichende Korrelation zwischen den Punkten und der ursprünglichen Maske gefunden wird, erzeugt das System eine weitere Maske. Um dies zu tun, wählt das System den Punkt in dem erfassten Bild aus, der die beste Korrelation mit der ursprünglichen Maske hat, und es wird die erwartete Korrelation zwischen Bild und Maske durch einen bestimmten Betrag, z. B. um 20 %, reduziert, so dass weitere Punkte umfasst werden, die mit der reduzierten Korrelation zusammenpassen, und es wird die weitere Maske erzeugt, die aus Punkten besteht, die den gewählten Punkt im erfassten Bild reproduziert.
  • Das vorstehende Korrelationsverfahren ist eine zweidimensionale Korrelation, die durch eine Korrelations-Software durchgeführt wird. Eine zweidimensionale Korrelation ist ein sehr bekanntes mathematisches Verfahren und kann leicht durch Eingriff in die Bildverarbeitungs-Software derart kodiert werden, dass es für die Zwecke der vorliegenden Erfindung benutzbar ist. Die Korrelations-Software 11 tastet das Bild pixelweise und zeilenweise ab. Wenn eine schnellere Auslesung erforderlich ist, kann die Korrelation unter Benutzung einer wählbaren „Sprung"-Funktion durchgeführt werden, so dass beispielsweise die Korrelations-Software 11 nur jedes zweite Pixel und jede zweite Zeile abtastet. Eine volle Abtastung liefert eine etwas bessere Definition und weniger Fehler bei der Dekodierung, aber das System ist immer noch in der Lage, korrekt Punktmatrix-Codes sogar mit einer unvollständigen Abtastung auszulesen.
  • Eine Video-Displayeinheit 10 kann benutzt werden, um das Bild bei irgendeinem dieser Schritte der Bildverarbeitung darzustellen, wenn dies erforderlich ist. In einem System zur Benutzung mit der Erzeugung einer Zeile würde dies jedoch nicht notwendig sein, da der Ausgang 17 des Systems nur ein Schaltsignal sein kann, um eine hörbare und/oder sichtbare Anzeige zu liefern, dass der Punktmatrix-Code 2, der von der Kamera 5 betrachtet wird, erfolgreich dekodiert wurde oder nicht.
  • 2a ist eine Repräsentation eines Bildes einer Video-Displayeinheit, welches die Ergebnisse des obigen ursprünglichen Korrelationsschrittes zeigt. Das Bild zeigt die Punkte des Codes 2 als helle Punkte S, zusammen mit gestreuten Rauschpunkten P. Bei diesem Schritt können einige der Punkte S fehlerhaft sein, oder Fremdkörper auf der Oberfläche des Gegenstandes werden überprüft anstelle jenes Teils des Punktmatrix-Codes 2, der durch den ursprünglichen Korrelationsprozess missidentifiziert wurde.
  • Die Korrelations-Software 11 arbeitet in Verbindung mit der Schwellwert-Software 12, die einen vorbestimmten ursprünglichen Schwellwert für den Korrelationsprozess festlegt, so dass nur Punkte auf dem Bild, die eine Korrelation über dem Schwellwert haben, ausgewählt werden als annehmbar korreliert für die Maske. Gemäß unserem bevorzugten Ausführungsbeispiel ordnen wir jeden Punkt einer Korrelationsmessung der Maske auf einer Skala von 0 bis 63 zu. Beispielsweise werden, wenn der ursprüngliche Schwellwert auf einen hohen Wert, beispielsweise 50, eingestellt ist, nur sehr wenige Punkte ausgewählt, aber wenn der Schwellwert verringert wird, würden mehr auf dem Bild der Video-Displayeinheit gemäß 2a erscheinen.
  • Es ist zu bevorzugen, dass die Zahl der Punkte über dem ursprünglichen Schwellwert kleiner ist als eine vorbestimmte Zahl, die zur Dekodierung benötigt wird, beispielsweise 20, und dann wird der Schwellwert um beispielsweise 4 auf der Korrelationsskala herabgesetzt und der Korrelationsprozess wird wiederholt. Wenn die Zahl der gewählten Punkte für die Dekodierung ausreicht, aber kein Code abgeleitet werden kann, dann wird der Pegel um einen kleineren Wert, beispielsweise 2, abgesenkt, bevor das Korrelationsverfahren wiederholt wird. Wenn die Zahl der gewählten Punkte größer ist als eine vorbestimmte Zahl, beispielsweise 100, wird dies als Anzeige gewertet, dass eine neue Maske erforderlich ist, um einen strengeren Korrelationsstandard anzuwenden. Infolgedessen wird eine neue Maske erzeugt, die aus Punkten besteht, die jene Stelle in dem erfassten Bild reproduzieren, das die beste Korrelation zur ursprünglichen Maske besitzt.
  • Nachdem der Korrelations-Schwellwertprozess vollendet ist, existiert ein Aufzeichnungsbild 13 im RAM entsprechend jenen Punkten, die eine Korrelation über dem Schwellwert besitzen. Wenn das Aufzeichnungsbild 13 auf der Video-Displayeinheit 10 wiedergegeben wird, dann kann ein Bild, ähnlich jenem nach 2b, erzeugt werden.
  • Wenn genügend Punkte aufgezeichnet wurden, um eine Dekodierung zu versuchen, dann wird die Orientierung der Zeilen und Spalten der Punkte in dem aufgezeichneten Bild durch die Orientierungs-Software 14 überprüft, wie dies im Einzelnen in unserer oben erwähnten älteren Patentanmeldung beschrieben ist. Zunächst werden die Zwischenpunktabstände und der Winkel einer der Spalten gefunden, die den kürzesten Zwischenpunktabstand haben (dies ist entweder die Zeilenachse oder die Spaltenachse des Punktmatrix-Codes) und es wird eine vordefinierte Normalachse gefunden. Wenn notwendig, wird das Bild dann über jenen Winkel in eine normale Orientierung gedreht, in der es möglich ist, das Bild zu dekodieren oder „auszulesen". Dies kann als erster Versuch einer „Ausleseorientierung" bezeichnet werden.
  • Als Nächstes wird ein Histogramm der Zwischenpunktabstände erzeugt und die Zeilenabstände und die Spaltenabstände der Punkte werden extrahiert. Dann wird das Bild überprüft, um zu gewährleisten, ob es eine Re-Orientierung erfordert. Die Re-Orientierung kann notwendig sein, weil es keine Möglichkeit gibt zu erkennen (unter der Annahme, dass die Abstände zwischen den Punkten in den Spalten und den Zeilen identisch sind), ob die oben gewählte Spalten von Punkten, weil sie die kürzesten Zwischenpunktabstände haben, eine Spalte oder eine Zeile in dem tatsächlichen Punktmatrix-Code repräsentieren. Bei diesem Beispiel betrachten wir eine 6 × 15 – Matrix, so dass im Effekt das Bild überprüft wird, um zu sehen, ob dort 15 Punkte von links nach rechts vorhanden sind, und wenn nicht, wird das Bild um einen rechten Winkel gedreht, um eine Endauslese-Orientierung zu erhalten.
  • Das tatsächliche Verfahren, durch das die Re-Orientierung im vorherigen Satz erreicht wird, umfasst eine Summierung der Quadrate der Zwischenpunktabstände für alle Punkte, die auf Zeilen parallel zur oben erwähnten Normalachse liegen. Dies kann die x-Richtung sein. In ähnlicher Weise werden die Quadrate der Zwischenpunktabstände für alle Punkte summiert, die auf Zeilen liegen, die rechtwinklig zur Normalachse verlaufen. Dies kann die y-Richtung sein. Wenn die Summe der Quadrate der Zwischenpunktabstände in x-Richtung größer ist als die Summe der Quadrate der Zwischenpunktabstände in y-Richtung, dann befindet sich das Bild in der richtigen Orientierung. Sonst muss das Bild um einen rechten Winkel gedreht werden, so dass es dann genau dekodiert werden kann.
  • Um den Versuch einer Dekodierung zu ermöglichen, konstruiert die Gittererzeugungs-Software 15 ein sogenanntes „Einstellgitter" über den Punkten des aufgezeichneten Bildes, das von dem obigen Verfahren herrührt. Es ist zu bevorzugen, dass das Gitter so eingestellt wird, dass es eine 20 × 20 – Gruppe von Zellen bildet. Zunächst wird die Mitte der Gruppe von Punkten im Bild aus der durchschnittlichen Punktposition gefunden. Der dem Zentrum am Nächsten liegende Punkt wird ermittelt, und es wird eine Zelle darum plaziert (2c). Das eingestellte Gitter wird dann produziert, indem es von der zentralen Zelle zunächst vertikal für 10 Zellen nach oben und unten und dann horizontal für 10 Zellen nach links und rechts ausgedehnt wird, wobei das Gitter auf die Punktpositionen auf dem Bild eingestellt wurde (gezeigt für ein kleineres Gitter in 2d).
  • Die Dekodierungs-Sofware 16 ruft dann ein Bezugsgitter von der Disk 8 ab. Dies wird positioniert und über das gesetzte Gitter zeilenweise und spaltenweise mit wenigstens 20 Zellen des gesetzten Gitters bewegt, die Punkte enthalten, welche durch das Bezugsgitter bedeckt sind. Die Punkte außerhalb des Bezugsgitters werden dann ignoriert, und eine Dekodierung des Punktmatrix-Codes wird versucht durch Übertragung des Punktmusters, welches so in das Bezugsgitter in einen numerischen Code aufgenommen wurde, und es wird ein Vergleich mit einer Liste zulässiger Codes vorgenommen, die in der Disk 8 vorhanden sind. Die Dekodierung wird in zwei Orientierungen des aufgezeichneten Punktbildes durchgeführt, erstens mit der aktuellen Orientierung und zweitens unter 180° gegenüber der aktuellen Orientierung, falls das Bild seitenverkehrt ist.
  • Der Punktmatrix-Code umfasst Fehlerkorrektur-Bits und zyklische Redundanz-Überprüfungen, und die Dekodierungs-Software 16 benutzt diese, um den Punktmatrix-Code aus den Punkten zu konstruieren, die sich im Bezugsgitter finden. Wenn ein gültiger Code gefunden wurde, wird ein Ausgangssignal 17 diesbezüglich erzeugt, und der Wert des gültigen Codes kann an die Video-Displayeinheit 10 ausgegeben werden, die auch die Zahl von Fehlern darstellt, die sich im Bezugsgitter finden, das korrigiert wurde als ein Maß der Qualität des ursprünglichen Bildes des Punktmatrix-Codes. Wenn jedoch kein gültiger Code ermittelt wird, vermindert die Schwellwert-Software 12 den Schwellwert um beispielsweise 2, und das Verfahren wird wiederholt.
  • Bei diesem Beispiel wird eine 6 × 15 – Matrix für den Punktmatrix-Code 2 benutzt. Diese hat 10 Gruppen von 9 Punkten, und 8 der Gruppen liefern den Code und 2 liefern zyklische Redundanz-Überprüfungen. Jede der 9 Punktgruppen besteht aus 5 Daten-Bits und 4 Fehlerkorrektur-Bits. Die Fehlerkorrektur ermöglicht eine Korrektur für einen fehlenden Punkt in jeder Gruppe, und die benutzte Code- Anordnung ermöglicht es, die Ecken zu verlieren, ohne 2 Punkte aus irgendeiner Code-Gruppe zu verlieren.
  • 3 zeigt ein Flussdiagramm, welches die Schritte eines beispielsweisen nach der Erfindung durchgeführten Verfahrens veranschaulicht. Der Gegenstand 3 wird vor der Kamera 5 angeordnet, und der Computer 6 führt die Schritte des Verfahrens wie folgt durch:
  • BILDEINFANGEN (30) - Das Bild wird eingefangen und gespeichert, so dass der Gegenstand 3 nicht mehr ständig vor der Kamera 5 gehalten werden muss, während die Verarbeitung stattfindet.
  • LADEN EINER STANDARDMASKE (31) - Die ursprüngliche Standardmaske wird geladen. In Abhängigkeit von dem erwarteten Punkt-Erscheinungsbild kann eine alternative ursprüngliche Maske auf Wunsch des Benutzers gewählt werden, wie dies oben beschrieben wurde.
  • SETZEN FÜR ERSTEN DURCHLAUF (32) - Der Computer 6 stellt fest, dass dies der erste Durchlauf ist.
  • KORRELIERTES BILD (33) - Zweidimensionale Korrelation des Bildes wird durchgeführt. Wenn eine schnellere Auslesung erforderlich ist, dann wird die Korrelation unter Benutzung einer Pixel- und/oder Zeilen-"Sprung"- Funktion durchgeführt.
  • SETZE START - SCHWELLWERT (34) - Jeder Punkt hat ein Maß der Anpassung an die Maske zwischen 0 und 63 (0 bedeutet überhaupt keine Korrelation und 63 ist eine perfekte Korrelation). Der Start-Schwellwert wird auf 50 eingestellt.
  • FINDEN VON PUNKTEN MIT EINEM PEGEL ÜBER DEM SCHWELLWERT (35) - Nur Punkte mit einem Pegel über diesem Schwellwert werden in Betracht gezogen. Wenn der Schwellwert hoch ist, dann zeigen sich nur wenige Punkte.
  • MEHR ALS 20 PUNKTE ? (36) - Der Computer versucht, ob es mehr als 20 Punkte gibt. Wenn nicht, dann folgt das Verfahren der Schleife 37, um den Schwellwert um 4 zu vermindern, und es wird überprüft, dass es nicht weniger als ein vorbestimmter minimaler Schwellwert ist. Solange der Schwellwert nicht kleiner ist als das Minimum, wird diese Schleife wiederholt, bis mehr als 20 Punkte gefunden sind. Wenn der Schwellwert auf weniger als den minimalen Schwellwert vermindert wird, dann geht das Verfahren auf die Schleife 38 über. Wenn dies der erste Durchlauf ist, dann wird eine neue Maske aus der besten Korrelation mit den Punkten auf dem Bild erzeugt, und der Computer stellt fest, dass dies der zweite Durchlauf ist, und das Verfahren kehrt auf den Schritt 33 zurück. Wenn dies nicht der erste Durchlauf war, dann geht das Verfahren auf AUSSTIEG 39 über, wodurch ein Signal „kein Auslesen" oder eine Botschaft geliefert werden. Wenn es mehr als 20 Punkte gibt, dann geht das Verfahren auf den Schritt 40 über.
  • WENIGER ALS 100 PUNKTE ? (40) - Wenn mehr als 100 Punkte vorhanden sind, dann folgt der Prozess der Schleife 38, um eine neue Maske zu erzeugen, wenn dies der erste Durchlauf ist und das Verfahren geht auf AUSSTIEG 39 über, wenn dies nicht der Fall ist. Wenn es weniger als 100 Punkte gibt, dann geht das Verfahren auf die Schritte 41 bis 46 über, um die Matrix-Orientierung zu überprüfen.
  • WINKELERMITTLUNG (41) - Der Winkel zwischen einer Zeile mit minimalem Abstand zwischen den Punkten wird gefunden.
  • DREHUNG IN DIE NORMALE (42) - Der WINKELERMITTLUNGS-Schritt liefert den Drehwinkel, der erforderlich ist, um das Bild so drehen, dass entweder die Spalten oder die Zeilen der Punkte parallel zu einer definierten Achse (x) liegen. Dieses Bild wird um den erforderlichen Winkel gedreht, um einen ersten Versuch einer „Auslese-Orientierung" zu versuchen.
  • FORMUNG EINES HISTOGRAMMS DES ZWISCHEN-PUNKTABSTANDES (43) - Die Abstände zwischen benachbarten Punkten werden gefunden, und es wird ein Histogramm der Abstände hergestellt.
  • AUSWÄHLEN HORIZONTALER (SPALTEN) UND VERTIKALER (ZEILEN) - ABSTÄNDE (44) - Aus dem Histogramm werden die Abstände zwischen den Punkten in „x"- bzw. „y"-Richtungen ermittelt.
  • IST DIE MATRIX ORIENTIERT MIT 15 PUNKTEN VON LINKS NACH RECHTS ? (45) - Diese Frage wird unter Benutzung des vorher beschriebenen Verfahrens beantwortet. Hierbei werden die Quadrate der Zwischenpunktabstände in x- und y-Richtung summiert. Wenn nicht, dann wird das Bild um 90° (46) in die Endauslese-Orientierung gedreht. Wenn es bereits in eine Auslese-Orientierung gedreht ist oder wenn es bereits gedreht wurde, dann wird der Schritt (47) durchgeführt.
  • AUFFINDEN MITTE DER MATRIX AUS DURCHSCHNITTS PUNKTPOSITION (47) - Die Positionen sämtlicher gefundenen Punkte werden betrachtet, und der Mittelpunkt wird aus den durchschnittlichen Positionen heraus bestimmt.
  • AUFFINDEN DICHTESTER PUNKT UND PLAZIERUNG DER ZELLE DARUM (48) - Der Punkt, der der Mittelstellung am Nächsten liegt, wird gefunden und es wird die erste Zelle eines 20 × 20 gesetzten Gitters herum plaziert.
  • AUSBREITUNG EINES VERTIKALEN EINSTELLGITTERS ALS PUNKTE, DIE FÜR 10 ZELLEN AUF UND NIEDER GEFUNDEN WURDEN (49) - Das gesetzte Gitter wird dann von der Mittelzelle nach außen aufgebaut, und zwar unter Benutzung des vertikalen (y-Richtung) Abstandes, der im Schritt 44 erhalten wurde, wobei jede der Sichtzellen-Dimensions-Einstellungen notwendig ist, um zu gewährleisten, dass die Punkte in die Zellen des gesetzten Gitters fallen.
  • HORIZONTALAUSBREITUNG FÜR 10 ZELLEN LINKS UND RECHTS (50) - Es wird der Abstand in der x-Richtung benutzt, der im Schritt 44 gefunden wurde, und dann wird das gesetzte Gitter längs des Gitters mit ähnlichen Einstellungen wie erforderlich ausgebreitet. Alle Punkte, die dann außerhalb des 20 × 20 – Gitters liegen, werden dann vernachlässigt.
  • BEWEGE 6 × 15 – GITTER ÜBER DAS 20 × 20 GESETZTE GITTER UND DEKODIERE , WENN MEHR ALS 20 ZELLEN PUNKTE ENTHALTEN (51) – Ein 6 × 15 – Bezugsgitter wird auf das gesetzte Gitter zentriert und über das gesetzte Gitter bewegt, bis mehr als 20 der Bezugsgitterzellen Punkte enthalten. Dann wird versucht, das so definierte Punktmuster zu dekodieren.
  • IST DER CODE GÜLTIG ? (52) – Der Computer 6 versucht festzustellen, ob ein Code gefunden wurde und ob der Code ein gültiger ist. Wenn nicht, dann wird der Schleife 53 gefolgt, und der Schwellwert wird um 2 herabgesetzt, und das Verfahren kehrt auf den Schritt 33 zurück. Wenn ein gültiger Code gefunden wird, geht das Verfahren auf den Schritt 54 über.
  • AUSSTIEG MIT RICHTIGEM CODE (54) – Es wurde gefunden, dass dann, wenn der Code durch die vorhergehenden Schritte validiert wurde, dies der richtige Code wird. Deshalb wird, wenn ein gültiger Code gefunden wurde, dieser vom System ausgegeben.
  • Der Matrix-Code enthält Fehlerkorrektur-Bits und zyklische RedundanzÜberprüfungen, die die Möglichkeit schaffen, einen fehlenden Punkt von irgendeiner Stelle des Codes zu korrigieren, und der Code wird über die Matrix verteilt, so dass Teile der Matrix beschädigt werden können, ohne dass der Code verlorengeht.
  • Es hat sich gezeigt, dass das erfindungsgemäße Verfahren die Möglichkeit schafft, den Code auszulesen, nachdem zahlreiche Bearbeitungsschritte auf den Gegenstand ausgeführt wurden, so dass zahlreiche der Nachteile, die sich in der Vergangenheit mit Punktmatrix-Markierungen von Gegenständen ergaben, vermieden werden. Der Code kann sogar ausgelesen werden, wenn die auf den Gegenstand einwirkende Bearbeitung das Erscheinungsbild des Punktmatrix-Codes beeinträchtigt oder selbst dann, wenn der Code teilweise verdeckt ist.

Claims (16)

  1. Verfahren zum Auslesen einer auf einem Gegenstand (3) angebrachten Punktmatrix-Codemarkierung (2), die mehrere Zeilen und Spalten aufweist, in denen die Punkte der Punktmatrix-Codemarkierung (2) angeordnet sind, wobei das Verfahren die folgenden Schritte aufweist: a) es wird ein Bild (30) des Punktmatrix-Codes (2) erfasst; dadurch gekennzeichnet, b) es werden Stellen auf dem erfassten Bild (30) mit einer Maske (31) korreliert (33), wobei die Maske (31) dem erwarteten Punkt-Erscheinungsbild entspricht und wobei die Korrelation durchgeführt wird durch zeilenweise und pixelweise Abtastung des erfassten Bildes oder durch Abtastung des erfassten Bildes derart, dass ausgewählte Pixel und/oder Zeilen des erfassten Bildes ausgelassen werden, um die Abtastraten zu erhöhen; c) es wird ein Schwellwert (34) zur Korrelation (33) zwischen den Stellen auf dem erfassten Bild (30) und der Maske des erwarteten Punkt-Erscheinungsbildes eingestellt; d) es werden jene Stellen auf dem erfassten Bild abgebildet, die eine Korrelation über dem Schwellwert (35, 36) besitzen, um eine Darstellung möglicher Punkte im Punktmatrix-Code zu erzeugen; e) falls erforderlich, wird der Schwellwert (34) gemäß vorbestimmten Kriterien nachgestellt, um die Zuverlässigkeit der Auslesung (37) zu verbessern und es wird der Schritt d) wiederholt; f) falls erforderlich, wird die Maske (31) des erwarteten Punkt-Erscheinungsbildes gemäß vorbestimmten Kriterien nachgestellt, um die Zuverlässigkeit der Auslesung (38) zu verbessern und es werden die Schritte b) bis e) wiederholt; g) falls erforderlich, wird die Darstellung möglicher Punkte im Punktmatrix-Code in eine Ausleseorientierung (41–46) überführt; h) es wird ein Gitter aus einer vorbestimmten Anzahl von Zeilen und Spalten von Zellen erzeugt, wobei das Gitter über der Darstellung möglicher Punkte im Punktmatrix-Code derart erzeugt wird, dass das Gitter eine Zelle um jeden möglichen Punkt im Punktmatrix-Code herum definiert, der innerhalb der vorbestimmten Anzahl von Zeilen und Spalten (47–50) liegt; i) es wird versucht, die Darstellung möglicher Punkte im Punktmatrix-Code zu dekorieren, die innerhalb der Zellen des erzeugten Gitters liegen, und zwar unter Bezugnahme auf ein Bezugsgitter, wobei das Bezugsgitter Zeilen und Spalten gültiger Punktmatrix-Codes (51) repräsentiert; und j) beim Auffinden eines gültigen Codes wird ein Signal ausgegeben, welches bestätigt, dass ein gültiger Code (54) gefunden wurde.
  2. Verfahren nach Anspruch 1, bei welchem ein verminderter Schwellwert eingestellt wird, wenn kein gültiger Code gefunden wird und bei welchem die Schritte c) bis i) wiederholt werden (53).
  3. Verfahren nach den Ansprüchen 1 oder 2, bei welchem die vorbestimmten Kriterien in Schritt f) derart sind, dass, wenn mehr als eine vorbestimmte maximale Zahl möglicher Punkte aufgezeichnet wird, eine weitere Maske (38) des erwarteten Punkt-Erscheinungsbildes erzeugt wird, und die weitere Maske (38) des erwarteten Punkt-Erscheinungsbildes ist eine Reproduktion jenes Punktes im Bild des Punktmatrix-Codes, das am Dichtesten mit der ursprünglichen Maske korreliert.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die vorbestimmten Kriterien im Schritt e) jene sind, wenn weniger als eine vorbestimmte minimale Zahl möglicher Punkte aufgezeichnet wird, und der Schwellwert (37) wird um einen vorbestimmten Betrag abgesenkt, vorausgesetzt, dass der Schwellwert nicht unter einen vorbestimmten Minimalwert abgesenkt war.
  5. Verfahren nach Anspruch 4, bei welchem dann, wenn der Schwellwert (37) unter den vorbestimmten Minimalwert abgesenkt ist, eine weitere Maske (38) mit einem erwarteten Punkt-Erscheinungsbild erzeugt wird und die weitere Maske (38) eine Reproduktion jenes Punktes im Bild des Punktmatrix-Codes reproduziert, der am Dichtesten mit der ursprünglichen Maske des erwarteten Punkt-Erscheinungsbildes korreliert.
  6. Verfahren nach den Ansprüchen 3 oder 5, bei welchem zur Vermeidung fehlerhafter Feststellungen von Punktmatrix-Codes eine weitere Maske (38) des erwarteten Punkt-Erscheinungsbildes nur einmal erzeugt wird.
  7. Verfahren nach Anspruch 6, bei welchem dann, wenn der Schwellwert (37) auf weniger als den vorbestimmten Minimalwert während einer zweiten Zeitdauer absinkt oder wenn es eine zweite Gelegenheit gibt, wo mehr als eine vorbestimmte maximale Zahl von Punkten mit einer Korrelation über dem Schwellwert vorhanden ist, ein Signal (39) ausgegeben wird, das einen Fehler bei der Auslesung des Punktmatrix-Codes anzeigt.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem das Gitter im Schritt h) über den möglichen Punkten dadurch erzeugt wird, dass kontinuierlich die relativen Positionen der Zellengegenüber den Punkten eingestellt werden, um zu gewährleisten, dass die Punkte innerhalb der Zeltgrenzen verbleiben, die das erzeugte Gitter bilden.
  9. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die Aufzeichnung möglicher Punkte im Punktmatrix-Code dekodiert wird durch Vergleich des Bezugsgitters mit dem erzeugten Gitter und durch Ausgabe eines gültigen Codesignals (54), wenn eine minimale Zahl von Zellen Punkte in dem erzeugten Gitter enthält, die mit den Zellen des Bezugsgitters übereinstimmen.
  10. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem vor Ausgabe eines Signals, das das Auffinden eines gültigen Codes (54) bestätigt, die Validität des Codes überprüft wird (51) durch Bezugnahme auf Fehlerkorrektur-Bits und zyklische Redundanz-Oberprüfungen, die in den Punktmatrix-Code eingebaut sind.
  11. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die Punkte des Punktmatrix-Codes (2) aus Vertiefungen in einer Oberfläche des Gegenstandes (3) bestehen.
  12. Verfahren nach Anspruch 11, bei welchem die Punkte des Punktmatrix-Codes (2) durch eine Lichtquelle (4) beleuchtet werden, die schräg auf die Oberfläche scheint.
  13. Verfahren nach Anspruch 12, bei welchem die ursprüngliche Maske (31, 33) des erwarteten Punkt-Erscheinungsbildes das Erscheinen eines schräg beleuchteten sauberen Punktes in einem Punktmatrix-Code repräsentiert.
  14. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die ursprüngliche Maske (31, 33) des erwarteten Punkt-Erscheinungsbildes auf Wunsch des Benutzers geändert werden kann.
  15. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem das erfasste Bild ein Videobild ist, das durch eine Videokamera (5) und einen Video-Bildspeicher (7) aufgenommen wurde.
  16. Verfahren nach einem der Ansprüche 1 bis 15, bei welchem die Korrelation durchgeführt wird durch Abtastung eines jeden zweiten Pixels und einer zweiten Zeile des aufgenommenen Bildes.
DE69629514T 1995-04-06 1996-02-26 Verfahren zum Lesen eines Punkt-Matrix-Kodes auf einem Gegenstand Expired - Lifetime DE69629514T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9507098.3A GB9507098D0 (en) 1995-04-06 1995-04-06 Process and apparatus for reading a dot matrix code marking of an article
GB9507098 1995-04-06

Publications (2)

Publication Number Publication Date
DE69629514D1 DE69629514D1 (de) 2003-09-25
DE69629514T2 true DE69629514T2 (de) 2004-02-26

Family

ID=10772604

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69629514T Expired - Lifetime DE69629514T2 (de) 1995-04-06 1996-02-26 Verfahren zum Lesen eines Punkt-Matrix-Kodes auf einem Gegenstand

Country Status (4)

Country Link
US (1) US5892846A (de)
EP (1) EP0736835B1 (de)
DE (1) DE69629514T2 (de)
GB (1) GB9507098D0 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010014937A1 (de) 2010-04-14 2011-10-20 Ioss Intelligente Optische Sensoren & Systeme Gmbh Verfahren zum Lesen eines Codes auf einem Substrat durch Zusammensetzen von Code-Fragmenten unter Verwendung eines bildgebenden Codelesers

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864127A (en) * 1996-10-10 1999-01-26 Xerox Corporation Analog glyph detector and detector arrays
ATE434803T1 (de) 2002-09-26 2009-07-15 Kenji Yoshida Informationswiedergabe-i/o-verfahren mit punktmuster und informationswiedergabeeinrichtung
US8316068B2 (en) 2004-06-04 2012-11-20 Telefonaktiebolaget Lm Ericsson (Publ) Memory compression
AU2005331401B2 (en) 2005-04-28 2012-07-12 Kenji Yoshida Information input/output method using dot pattern
JP3771252B1 (ja) 2005-07-01 2006-04-26 健治 吉田 ドットパターン
JP4019114B1 (ja) 2006-09-04 2007-12-12 株式会社I・Pソリューションズ 情報出力装置
AU2007254595B2 (en) * 2007-12-20 2011-04-07 Canon Kabushiki Kaisha Constellation detection
US7874496B2 (en) * 2008-01-04 2011-01-25 Microsoft Corporation Optically readable tag
EP3855342B1 (de) 2020-01-27 2021-12-15 Sick Ag Lesen von optischen codes

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4408342A (en) * 1981-04-16 1983-10-04 Ncr Corporation Method for recognizing a machine encoded character
WO1986003314A1 (en) * 1984-11-27 1986-06-05 Kappner Helmut A Process and arrangements for the identification marking and recognition of objects
GB2201808B (en) * 1987-02-25 1990-12-05 Rolls Royce Plc Identification in manufacture
ATE114376T1 (de) * 1987-07-11 1994-12-15 Hirokazu Yoshida Verfahren zum lesen von blättern mit identifikationscode.
FR2622992B1 (fr) * 1987-11-06 1990-02-09 Thomson Semiconducteurs Procede de lecture de codes a barres
US4939354A (en) * 1988-05-05 1990-07-03 Datacode International, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US5128528A (en) * 1990-10-15 1992-07-07 Dittler Brothers, Inc. Matrix encoding devices and methods
US5202552A (en) * 1991-04-22 1993-04-13 Macmillan Bloedel Limited Data with perimeter identification tag
US5357095A (en) * 1992-07-16 1994-10-18 Schiapparelli Biosystems, Inc. Reagent bottle identification and reagent monitoring system for a chemical analyzer
JPH0683964A (ja) * 1992-08-31 1994-03-25 Takayama:Kk 画像照合方法
GB2290137B (en) * 1994-03-18 1998-03-11 Rolls Royce Plc A method and apparatus for identifying the orientation of a dot matrix code marking of an article

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010014937A1 (de) 2010-04-14 2011-10-20 Ioss Intelligente Optische Sensoren & Systeme Gmbh Verfahren zum Lesen eines Codes auf einem Substrat durch Zusammensetzen von Code-Fragmenten unter Verwendung eines bildgebenden Codelesers
WO2011128089A1 (de) 2010-04-14 2011-10-20 Ioss Intelligente Optische Sensoren & Systeme Gmbh Verfahren zur konkretisierung eines substrates
DE102010014937B4 (de) * 2010-04-14 2013-10-17 Ioss Intelligente Optische Sensoren & Systeme Gmbh Verfahren zum Lesen eines Codes auf einem Substrat durch Zusammensetzen von Code-Fragmenten unter Verwendung eines bildgebenden Codelesers
US8881985B2 (en) 2010-04-14 2014-11-11 Ioss Intelligente Optische Sensoren & Systeme Gmbh Method for the concretizing of a substrate

Also Published As

Publication number Publication date
EP0736835A3 (de) 2000-05-10
EP0736835B1 (de) 2003-08-20
GB9507098D0 (en) 1995-05-31
EP0736835A2 (de) 1996-10-09
US5892846A (en) 1999-04-06
DE69629514D1 (de) 2003-09-25

Similar Documents

Publication Publication Date Title
DE69625583T2 (de) Datenformleser
EP2417561B1 (de) Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
EP1260933A2 (de) Verfahren zum Erfassen von zweidimensionalen Codes
DE10026704B4 (de) Bildverarbeitungssystem zum Abtasten eines rechtwinkligen Dokuments
DE19729600B4 (de) Mustervergleichsüberprüfungssystem und -verfahren, die ein Grauwertpunktraster verwenden
DE69633908T2 (de) Anti-handzitter datenformatleser und verfahren
DE69728482T2 (de) Zweidimensionaler Codeleser
DE69929572T2 (de) Verfahren zum Lesen eines zweidimensionalen Strichcode ohne Taktsignal und ohne Ränder
DE19960555B4 (de) Verfahren zum Auffinden und Lesen eines zweidimensionalen Strichcodes
DE112013005574B4 (de) Bilderzeugungsvorrichtung
DE60225354T2 (de) Verfahren und vorrichtung zur herstellung eines referenzbildes bei einer prüfvorrichtung für glasflaschen
DE69727320T2 (de) Aufnahmeverfahren und gerät
DE2858688C2 (de)
DE69629930T2 (de) Verfahren zum Festlegen eines auf einem Objekt angebrachten optischen Codes
DE69629514T2 (de) Verfahren zum Lesen eines Punkt-Matrix-Kodes auf einem Gegenstand
DE69835358T2 (de) Verfahren zur Korrektur der Verzerrung beim Abtasten eines optischen Codes
DE3914440A1 (de) Optisch maschinenlesbarer binaercode und verfahren zu seiner bildung und zur bestimmung seiner groesse und dichte
DE19722439A1 (de) Verfahren und Vorrichtung zur Auffindung und Dekodierung maschinenlesbarer Symbole einschließlich Datenmatrixsymbolen
DE102006034206A1 (de) Bildlese-Einrichtung
DE19622199B4 (de) Lesegerät für ein Datensymbol
DE4201514A1 (de) Verfahren zur ermittlung von fehlerhaften stellen
EP1242786A1 (de) Verfahren zur ermittlung von dreidimensionalen oberflächenkoordinaten
DE3718620C2 (de)
EP1288843B1 (de) Verfahren zur Erkennung eines Codes
DE2435982A1 (de) Verfahren und vorrichtung zur verarbeitung von durch abtastung eines mehrfarbigen musters erhaltenen informationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition