DE60303003T2 - Verfahren und System zur Verifikation von Übergängen zwischen kontrastierenden Elementen - Google Patents

Verfahren und System zur Verifikation von Übergängen zwischen kontrastierenden Elementen Download PDF

Info

Publication number
DE60303003T2
DE60303003T2 DE60303003T DE60303003T DE60303003T2 DE 60303003 T2 DE60303003 T2 DE 60303003T2 DE 60303003 T DE60303003 T DE 60303003T DE 60303003 T DE60303003 T DE 60303003T DE 60303003 T2 DE60303003 T2 DE 60303003T2
Authority
DE
Germany
Prior art keywords
zone
profile
bar code
transition
transitions
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
DE60303003T
Other languages
English (en)
Other versions
DE60303003D1 (de
Inventor
Long Xiang Bian
Walter P. Sweeney Jr.
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.)
Sick Inc
Original Assignee
Sick Inc
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 Sick Inc filed Critical Sick Inc
Application granted granted Critical
Publication of DE60303003D1 publication Critical patent/DE60303003D1/de
Publication of DE60303003T2 publication Critical patent/DE60303003T2/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/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10851Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device
    • 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
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (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 Analysis (AREA)
  • Small-Scale Networks (AREA)
  • Character Discrimination (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Description

  • Gebiet der Erfindung
  • Diese Erfindung betrifft ein Verfahren und ein System zum Verifizieren von Übergängen zwischen kontrastierenden Elementen wie Strichcodestrichen und Zwischenräumen.
  • Hintergrund der Erfindung
  • Die Erkennung von Übergängen zwischen Strichcodeelementen, wie Striche und Zwischenräume, ist ein wichtiger Teil zum Lesen von Strichcodes. Idealerweise würde der Übergang fehlerfrei und abrupt und einfach zu ermitteln sein. Realistisch ist der Übergang in einem Graubereich und seine Position kritisch, weil von ihr die Ermittlung der Breite der Strichcodeelemente, der Striche und der Zwischenräume abhängt. In einem typischen Strichcode mit schwarzen Strichen und weißen Zwischenräumen würden die Übergänge nie in den schwarzen oder in den weißen Werten auftreten, die deutlich die Striche und die Zwischenräume darstellen, sondern in den grauen Bereichen zwischen ihnen. Aber häufig treten anscheinende Übergänge in jenen schwarzen und weißen Werten auf, die, wenn sie als Übergänge ermittelt werden, falsche Messwerte der Breiten und der Anzahl der dazugehörigen Striche und den Zwischenräumen geben. Eine Möglichkeit ist, einfach einen Schwellenwert im Grauwertprofil einzustellen, über dem alles als Weiß erachtet wird und unterhalb dessen alles als Schwarz gilt. Dies funktioniert, wenn das Strichcodesignal scharf ist und die Striche und die Zwischenräume groß genug sind, damit ein hoher Wert von Schwarz oder von Weiß erreicht wird. Das heißt, dass die grauen Übergangsbereiche klein sind verglichen mit dem vollständigen Schwarz oder Weiß der Striche oder der Zwischenräume und der Strich oder Zwischenraum erreicht, zumindest in seinem mittleren Teil, einen Weiß- oder Schwarzwert, der über dem Schwellenwert liegt. Jedoch, wenn die Striche und die Zwischenräume klein sind, schrumpft der mittlere Teil und die grauen Übergangsbereiche dringen in den Strich oder den Zwischenraum ein, so dass er überwiegend als Grau erscheint, obwohl er eigentlich schwarz oder weiß ist und nicht die Schwelle übersteigt und so nicht richtig gelesen wird. Um dies zu überwinden, versucht man einen gleitenden Schwellenwert zu benutzen, aber dies kann auch Fehler produzieren.
  • Die US 5,979,763 offenbart einen Leser für Sub-Pixeldaten, der hohe und niedrige Grauwertbereiche nutzt, um die falschen Übergangssegmente anzuzeigen, die durch Rauschen produziert werden. Ein Grauwertgradientenhistogramm wird genutzt, um festzustellen, ob Sub-Pixelverarbeitung notwendig wird und um die Bandbreite des Rauschens festzustellen. Eine dementsprechende Analyse des Ausmaßes des Rauschens oder von störenden Effekten wird im Verhältnis zum Ausmaß repräsentativer Signalgradienten für einen Grauwert ausgewertet, der repräsentativ für einen oder mehrere erste Abtastlinien ist.
  • US 2002/023958 offenbart einen Strichcodeleser entsprechend dem Oberbegriff der Ansprüche 1 und 7. Diese beschreibt die Verwendung von unterschiedlichen Bewertungsverfahren entsprechend dem Grad der Unschärfe für das Finden der richtigen Positionen der Strich- und Zwischenraumübergänge. Der Grad der Unschärfe wird von einer Analyse eines Randhöhenhistogramms und Eingliedern der Modalen des Histogramms aus drei unterschiedlichen Modalen heraus festgestellt.
  • Ähnliche Strichcodeleser sind weiter offenbart in US 5,457,309 , EP-A 1150240 und US 6,036,091 .
  • Kurze Zusammenfassung der Erfindung
  • Es ist deshalb Aufgabe der Erfindung, ein verbessertes Verfahren und ein System zum Überprüfen der kontrastierenden Elemente, wie Strichcodeelemente, zur Verfügung zu stellen.
  • Es ist eine weitere Aufgabe dieser Erfindung, solch ein verbessertes Verfahren und ein System bereitzustellen, welches Rauschen verringert und genauere Messwerte der sich abhebenden Elemente wie Strichcodeelemente zur Verfügung stellt.
  • Es ist eine weitere Aufgabe dieser Erfindung, solch ein verbessertes Verfahren und ein System bereitzustellen, zum Überprüfen der Messwerte der sich abhebenden Elemente wie Strichcodeelemente, indem es die Zuverlässigkeit der Übergangserkennung erhöht.
  • Die Erfindung resultiert aus der Erkenntnis, dass ein präziseres und schnelleres System und Verfahren zum Strichcodelesen erzielt werden kann, indem man die Werte, die vom Grauwertprofil der Abtastung des Strichcodes abgeleitet werden, sortiert in Strichwerte, Zwischenraumwerte und Arbeitszonenwerte, in denen Übergänge auftreten und dann nur Übergänge bestätigt, die in der Arbeitszone auftreten und diejenigen verwirft, die anderweitig auftreten, was ein Verwerfen von Strichwerten ergibt, die in der Zwischenraumzone auftreten und andererseits werden Zwischenraumwerte verworfen, die in der Strichzone auftreten.
  • Die Erfindung wird durch die unabhängigen Ansprüche 1 und 7 definiert. Bevorzugte Ausführungsformen sind Inhalte der abhängigen Ansprüche.
  • In einer Ausführungsform umfasst eine Methode der Verifikation der Strichcodelesungen das Erzeugen eines Profils eines Strichcodes und Identifizierung einer Strichzone von Werten, die Strichen entsprechen, eine Zwischenraumzone von Werten, die Zwischenräumen entsprechen und eine Arbeitszone von Werten, die Übergänge zwischen den Strichen und den Zwischenräumen repräsentieren, wobei das Identifizieren der Strichzone, der Raumzone und der Arbeitszone das Erzeugen eines Histogramms der Intensitätswertverteilung von besagtem Profil und das Einstufen von Strichzonenwerten, Zwischenraumzonenwerten und Arbeitszonenwerten entsprechend dem Histogramm umfasst. Das Verfahren umfasst auch das Ermitteln einer Änderung im Strichcodeprofil, die einen anscheinenden Übergang andeutet und das Bestätigen des anscheinenden Überganges als wahren Übergang, wenn dieser in der Arbeitszone auftritt und das Verwerfen, wenn dieser in der Strich- oder Zwischenraumzone auftritt.
  • In einer bevorzugten Ausführungsform kann das Verfahren weiter umfassen, das Detektieren eines Teils eines Strichcodeprofils, das einen Strich anzeigt und das Verwerfen desselben als Strich, wenn er in der Zwischenraumzone auftritt und weiter das Detektieren eines Teils eines Strichcodeprofils, welcher auf einen Zwischenraum hinweist und Verwerfen desselben als Zwischenraum, wenn dieser in der Strichzone auftritt. Das Profil kann ein Grauwertprofil sein. Das Ermitteln einer Änderung im Strichcodeprofil, das auf einen anscheinenden Übergang hinweist, kann erste und zweite aufeinanderfolgende Steigungsumkehrungen umfassen und anscheinende Übergänge mittig zwischen den Steigungsumkehrungen definieren. Das Identifizieren einer Strichzone, Zwischenraumzone und Arbeitszone kann das Aufstellen von Bereichsgrenzen der Striche und der Zwischenräume und das Definieren der Arbeitszone als Teil dieses Bereiches umfassen.
  • In einer Ausführungsform umfasst ein System für das Verifizieren von Strichcodelesungen, Mittel zum Erzeugen eines Profils eines Strichcodes und Mittel zum Identifizieren einer Strichzone von Werten, die Striche darstellen, einer Zwischenraumzone von Werten, die Zwischenräume darstellen und einer Arbeitszone von Werten, die die Übergänge zwischen den Striche und den Zwischenräumen darstellen. Die Mittel für das Identifizieren einer Strichzone, Zwischenraumzone und Arbeitszone umfassen Mittel zum Erzeugen einer Histogrammverteilung von den Profilwerten und das Identifizieren von Strichzonenwerten, von Zwischenraumzonenwerten und von Arbeitsbereichzonenwerten, die der Histogrammverteilung entsprechen. Die Mittel für das Identifizieren einer Strichzone, Zwischenraumzone und Arbeitszone können Mittel für das Erstellen der Grenzen der Bereiche der Strich- und Zwischenraumwerte und das Definieren der Arbeitszone als Teil dieses Bereiches umfassen.
  • Es gibt Mittel für das Ermitteln einer Änderung im Strichcodeprofil, das auf einen anscheinenden Übergang hinweist und Mittel zum Bestätigen des anscheinenden Überganges als zutreffenden Übergang, wenn dieser in der Arbeitszone ist und zum Verwerfen wenn dieser in der Strich- oder Zwischenraumzone auftritt.
  • In einer bevorzugten Ausführungsform können die Mittel für das Detektieren eines Teils des Strichcodeprofils einen Teil eines Strichcodeprofils detektieren, der auf einen Strich hinweist und diesen als Strich verwerfen, wenn dieser in der Zwischenraumzone auftritt und können einen Teil eines Strichcodeprofils ermitteln, der auf einen Zwischenraum hinweist und diesen als Zwischenraum verwerfen, wenn dieser in der Strichzone auftritt. Die Mittel zum Erzeugen eines Profils können ein Grauwertprofil erzeugen.
  • Die Mittel zum Detektieren einer Änderung im Strichcodeprofil, die auf einen anscheinenden Übergang hinweist, können Mittel zum Abfragen erster und zweiter Steigungsumkehrungen und Mittel für das Definieren des anscheinenden Übergangs mittig zwischen den Steigungsumkehrungen umfassen.
  • Kurze Beschreibung der Zeichnungen
  • Andere Ziele, Eigenschaften und Vorteile sind für den Fachmann aus der folgenden Beschreibung einer bevorzugten Ausführungsform und der zugehörigen Zeichnung ersichtlich, in welcher:
  • 1 ein schematisches Blockdiagramm eines Strichcodelesesystems entsprechend dieser Erfindung ist;
  • 2 eine graphische Ansicht ist, welche die Abtastung eines Strichcodes und des entsprechenden idealisierten Grauwertprofils zeigt;
  • 3 eine Abbildung eines Grauwertprofils des Strichcodes ist mit einem einigen Schwellenwert nach dem Stand der Technik;
  • 4 ist ein schematisches Diagramm eines abgetasteten Strichcodes, des Histogramms seines Grauwertprofils, der Striche, Zwischenräume und Arbeitszonen, die daraus abgeleitet wurden und eines wiederhergestellten Segments des Codes entsprechend dieser Erfindung;
  • 5 ist eine Abbildung eines Grauwertprofils einer Strichcodeabtastung und daraus abgeleiteter Strich-, Zwischenraum- und Arbeitszone, wobei eine andere Technik entsprechend dieser Erfindung angewendet wurde;
  • 6 ist ein Flussdiagramm der ersten Schritte einer Ausführungsform des Verfahrens nach dieser Erfindung; und
  • 7 ist ein Flussdiagramm der Schritte zur Bestimmung der Übergangspunkte entsprechend dieser Erfindung.
  • Offenbarung des bevorzugten Ausführungsbeispiels
  • Neben dem nachfolgend offenbarten bevorzugten Ausführungsbeispiel oder Ausführungsbeispielen ist diese Erfindung geeignet für andere Ausführungsformen und um auf verschiedenen Wegen verwendet oder ausgeführt zu werden. Daher ist es verständlich, dass die Erfindung in ihrer Anwendung auf die Konstruktionsdetails und die Anordnungen der Bauteile, wie dies in der folgenden Beschreibung oder in den Zeichnungen dargestellt ist, nicht limitiert ist.
  • In 1 ist ein Strichcodeerkennungssystem 10 einschließlich Kamera 12 mit Optiken 14, Frame Grabber 16, wahlfreier Zugriffsspeicher (RAM), Recheneinheit 20, und Dekodierer 22 gezeigt. Pakete, wie beispielsweise Boxen 24, 26 und 28, werden entlang eines Förderbands 30 in der Richtung des Pfeils 32 bewegt, diese stoßen auf ein lineares Sichtfeld 34 einer Linie CCD Sensoren, zum Beispiel in der Kamera 12. Jedes Paket, wie durch Box 28 illustriert, umfasst auf seiner Oberseite 45 einen Strichcodeaufkleber 40. Wenn die Box 28 sich in die Richtung von Pfeil 32 mit dem Förderband durch das lineare Gesichtsfeld 34 bewegt, wird ein zweidimensionales Bild aufgebaut, welches durch den Frame Grabber 16 von der Kamera 12 erfasst wird. Das Bild wird in RAM 18 zwischengespeichert, von dem die Pixeldaten durch den Mikroprozessor 20 verarbeitet werden, der den Strichcode 40 erkennen und lokalisieren muss, seine Lage bestimmen muss, die Pixeldaten, die in den Strichcodestrichen und Zwischenräumen enthalten sind, interpretieren muss und es dann, in geeigneter Form dem Decoder 22 zur Verfügung stellen muss.
  • Diese Erfindung geht davon aus, dass das System den Ort und die Ausrichtung des Strichcodes unter Verwendung von Mitteln des Standes der Technik erkennt und befasst sich vorwiegend mit der Erhaltung einer schnelleren, präziseren Messung der Strichcodeelemente. Das Verfahren dieser Erfindung wird typischerweise von einem Mikroprozessor 20 ausgeführt und das erfindungsgemäße System ist in dem Mikroprozessor 20 unter Verwendung von RAM 18 implementiert und mit dem Softwareprogramm wie hier beschrieben konfiguriert.
  • Strichcode 40 umfasst eine Mehrzahl von Strichcodeelementen und zwar schwarze Striche 44 und weiße Zwischenräume 46. In diesem bestimmten Strichcode 40 können Striche 44 zwei Breiten, weite oder schmale, haben. Und die Zwischenräume 46 können zwei Breiten, weite und schmale, haben. Dieses ist jedoch nicht eine notwendige Beschränkung des Strichcodes oder dieser Erfindung. Der Strichcode kann jede mögliche Kombination der elementaren Breiten haben. Weiter brauchen die sich abhebenden Elemente, nicht schwarz und weiß zu sein und brauchen nicht unbedingt eine Art Strichcode sein. Sie könnten Rot und Blau gefärbt werden. Sie könnten retroreflektierend und nicht retroreflektierend sein. Sie könnten magnetisch und antimagnetisch sein. Zusätzlich sind die kontrastierenden Elemente nicht auf genau zwei begrenzt. Zum Beispiel könnten diese schwarz, weiß und grau, oder schwarz, weiß und zwei Farbtöne von Grau oder Rot sein, Blau und Grün, oder Rot, Blau, Grün und Gelb. Unter Strichcode werden alle Arten von Strichcodes verstanden, einschließlich z.B. zweidimensionalen und gestapelten wie auch die eindimensionalen Typen in dem Ausführungsbeispiel. Weiter ist die Erfindung nicht auf Strichcodes begrenzt, sondern findet Anwendung auf eine beliebige Gruppe von kontrastierenden Elementen.
  • Eine Abtastung von Strichcode 40 entlang Abtastlinie 50 (2) produziert idealerweise ein Profil 52 mit sauberen, scharten Übergängen und leicht unterscheidbaren weißen 56 (225) und schwarzen 58 (0) Werten, resultierend in einer zuverlässigen Linie der Codeausgabe 60. Eine einfache Schwelle 62, die auf halber Höhe zwischen den weißen 56 und den schwarzen 58 Werten ist, würde zum Trennen der weißen Werte 56, die Zwischenräume 46 darstellen, von den schwarzen Werten 58, die Striche 44 darstellen, dienen. Jedoch ist dies nur eine idealisierte Darstellung. In der realen Welt erscheint das Profil eher wie durch 52a in 3 gezeigt, in der die Daten 70 auf der X-Achse entlang dem Abtastweg und auf der Y-Achse entsprechend dem Graustufenwert zwischen schwarzem 0 und weißem 255 gedruckt sind. Eine negative Steigung 72, die von einer positiven Steigung 74 gefolgt wird, identifiziert Bereich 76 als Strich oder Schwarz, während eine positive Steigung 74 gefolgt von negativer Steigung 78 den Zwischenraum 80 als Zwischenraum erkennt. Eine negative Steigung 78 gefolgt von einer positiven Steigung 82 zeigt Bereich 84 als schwarzen Strich an. Die positive Steigung 82, die von der negativen Steigung 86 gefolgt wird, zeigt an, dass Bereich 88 ein weißer Zwischenraum ist. Eine negative Steigung 86, die von einer positiven Steigung 90 gefolgt wird, zeigt an, dass Bereich 92 ein schwarzer Strich ist. Die positive Steigung 90, die von negativer Steigung 94 gefolgt wird zeigt an, dass Bereich 96 ein weißer Zwischenraum ist, und so weiter. So, dass der Code 60a ein schwarzer Strich 76', ein weißer Zwischenraum 80', ein schwarzer Strich 84', ein weißer Zwischenraum 88', ein schwarzer Strich 92' und ein weißer Zwischenraum 96' und so weiter entlang Profil 52a sein sollte.
  • Jedoch, wenn eine einzelne Schwelle 62a bei 127.5 auf halbem Wege zwischen 0 und 255 eingestellt wird, sieht man, dass keiner der schwarzen Striche, 76', 84' oder 92' differenziert werden kann: stattdessen wird nur ein großer schwarzer Strich 100 ermittelt und schwarze Striche 76', 84', 92' zusammen mit weißen Zwischenräumen 86', 88' gehen verloren. Tatsächlich sind die einzigen weißen Zwischenräume, die gesehen werden 96, 102 und 104: Dabei wurden nur weiße Zwischenräume 96', 102' und 104' unter den falsch gelesenen schwarzen Strichen 106', 108' und 110' identifiziert. Eine veränderbare Schwelle 81, die an den mittigen Punkten 83, 85, 87, 89, 91 zwischen aufeinanderfolgenden Spitzen und Senken gesetzt ist, gibt ein weniger ungenaues Resultat und ist jedoch noch in vielen Fällen unzulänglich.
  • In Übereinstimmung mit dieser Erfindung wird ein Histogramm der Intensitätswertverteilung 120 (4) vom Graustufenprofil 52b abgeleitet, das aus der Abtastung von Strichcode 40 resultiert. Man sieht, dass die Intensitätswertverteilung bei ungefähr 210 für den weißen Raumbereich 122, bei ungefähr 72 für den schwarzen Strichbereich 124, und bei ungefähr 150 für den grauen Übergangsbereich 126 Spitzen hat. Ebenso kann man aus dem Histogramm sehen, dass die Strichzone von 0-91 ist, die graue Zone von 92-203 und die Zwischenraumzone von 203-255 ist. Die drei Zonen sind von den Histogrammdaten abgeleitet und dann ist die Aufgabe, diese Zonen am Grauwertprofil 52b anzuwenden und nur jene Übergänge anzunehmen, die in Arbeitszone 128 auftreten, während andere verworfen werden. Zusätzlich werden alle anscheinenden schwarzen Striche, die in einer weißen Zwischenraumzone 132 auftreten, sowie weiße Zwischenräume, die in der schwarzen Strichzone 130 auftreten, verworfen. Zum Beispiel würde die negativ gehende Steigung 140, gefolgt von der positiv gehenden Steigung 142, anzeigen, dass die Pixel im Bereich von 144 einen schwarzen Strich anzeigen, aber da Übergänge 140 und 142 nicht in Arbeitszone 128 stattfanden und da ein weiterer schwarzer Pixelbereich 144 in einer weißen Zwischenraumzone 132 sein würde, werden diese Daten richtigerweise verworfen. Ebenso wegen einer positiv gehenden Steigung 146 und einer negativ gehenden Steigung 148, konnte der Pixelbereich 150 als weißer Zwischenraum wahrgenommen werden.
  • Jedoch weil der weiße Zwischenraum in einer schwarzen Strichzone 130 auftritt und weil die positiv gehende Übergangssteigung 146 und die negativ gehende Steigung 148 nicht in Arbeitszone 128 auftreten, werden diese Daten richtigerweise verworfen.
  • Eine Analyse der Intensitätswertverteilung (Histogramm) ist nur ein Weg zum Herleiten der Strichzone, der Arbeitszone und der Zwischenraumzone.
  • Zum Beispiel können in einer anderen Annäherung maximale Pegel 160 (5) und minimale Pegel 162 vom Grauwertprofil festgestellt werden und dann wie folgt errechnet werden:
    Figure 00090001
  • Und die untere Grenze kann wie folgt errechnet werden:
    Figure 00100001
  • Auf diese Art werden die Zonen 128, 130 und 132 errechnet, ohne die Grauwertverteilung oder ein Histogramm zu verwenden.
  • In Betrieb werden Übergänge ermittelt, indem man Steigungsumkehrungen überwacht und einen Übergang identifiziert, welcher auf halbem Wege zwischen aufeinanderfolgenden Steigungsumkehrungen auftritt. Beispielsweise erfährt Strichcodeprofil 52b (5) eine Änderung in der Steigung an Punkt 164, die zum Beispiel als eine Änderung um vier oder größer definiert ist. Dies identifiziert negativ gehende Steigung 166. An Punkt 168, wenn die negativ gehende Steigung 166 sich umkehrt und zur positiv gehenden Steigung 170 wechselt, sind dort zwei aufeinanderfolgende Steigungsumkehrungen, eine bei 164 und eine bei 168. Folglich wird ein Übergang definiert, der auf halbem Wege zwischen den zwei bei 172 auftritt. Da Übergang 172 innerhalb der Arbeitszone 128 ist, wird er als gültiger Übergang bestätigt. An Punkt 173 wird die Steigung 170 umgekehrt und zur negativ gehenden Steigung 174.
  • Jetzt kann ein anderer Übergang 176 zwischen Punkt 173 von einer Steigungsumkehrung auf halbem Wege identifiziert werden und Punkt 168 zeigt auf die vorhergehende Steigungsumkehrung. Wieder liegt Übergang 176 innerhalb der Arbeitszone 128, also gilt er als gültig. Die Punkte zwischen 172 und 176 können als schwarzer Strich 169 identifiziert werden. Negative Steigung 174 hebt bei 178 die positiv gehende Steigung 180 auf. Ein anderer Übergang kann jetzt am mittleren Punkt zwischen 178 und 173 als Übergang 182 definiert werden. Da Übergangspunkt 182 in der Arbeitszone 128 liegt, gilt er als ein gültiger Übergang: die Punkte zwischen 176 und 182 können als weißer Zwischenraum 183 identifiziert werden. Dies geht so weiter: Wenn die positive Steigung 180 Punkt 184 erreicht, kehrt diese um zu einer negativen Steigung 186 und der Mittelpunkt zwischen Punkt 184 und 178 kann als Übergang 188 identifiziert werden. Jetzt, da Übergangspunkt 188 innerhalb des Arbeitszone liegt, gilt er als gültig, die Punkte zwischen Übergangspunkten 182 und 188 gelten als schwarze Striche 185.
  • Diese Erfindung bestätigt nicht nur gültige Übergänge zwischen weißen Zwischenräumen und schwarzen Strichen, sondern verwirft auch die, die unzulässig sind. Beispielsweise an Punkt 190, kehrt die Steigung um und die negative Steigung 192 fängt an. An Punkt 194 kehrt die Steigung um und die positive Steigung 196 tritt auf. An Punkt 198 kehrt die positive Steigung 196 in die negative Steigung 200 um. An Punkt 202 kehrt die negative Steigung 200 um und wird zur positiven Steigung 204; an Punkt 207, kehrt die positive Steigung 204 in die negative Steigung 209 um. Ohne diese Erfindung würde ein Übergang gefunden in der Mitte zwischen Punkt 190 und Punkt 194, Übergang 193, ein zweiter Übergang mittig zwischen Punkten 194 und 198, Übergang 206, ein dritter Übergang mittig zwischen Punkten 198 und 202, Übergänge 208, und ein weiterer Übergang mittig zwischen Punkten 202 und 207, Übergang 205. Die Punkte zwischen Übergängen 193 und 206 würden als ein schwarzer Strich erachtet werden, die Punkte zwischen Übergängen 206 und 208 würden als weiße Zwischenräume gelten und die Punkte zwischen Übergängen 208 und 205 würden als schwarzer Strich gelten. Jedoch sind der Übergang 206 und der Übergang 208 beide außerhalb der Arbeitszone 128 und tatsächlich in schwarzer Strichzone 130. Keine dieser Übergänge sind folglich annehmbar und anstatt ein fehlerhaftes Schwarz, Weiß, Schwarz zu lesen, wie es durch Signalstörungen, eine Verschmutzung des Weiß oder durch eine in hohem Grade spiegelnde Region bei 198 verursacht sein könnte, definiert das System den realen Übergang 203 als den mittleren Punkt zwischen Punkt 190 und Punkt 202. Folglich wird die gesamte Abweichung zwischen Übergangspunkten 203 und 205 als schwarzer Strich 210 gesehen. Folglich nimmt das System nur Übergänge 203 und 205 an, welche richtigerweise nur den einzelnen schwarzen Strich 210 erkennt.
  • Systemstörungen oder eine schwarze Verschmutzung könnten ein ähnliches Erscheinen in der weißen Zwischenraumzone 132 verursachen, z. B. wo die positiv gehende Steigung 212 an Punkt 214 zu negativer Steigung 216 umkehrt, die wiederum an Punkt 218 zu positiver Steigung 220 umkehrt und sich wieder an dem Punkt 222 zu negativer Steigung 224 umkehrt. Hier erscheint es, dass Übergangspunkte 226 und 228 die Ränder eines schwarzen Striches definieren, aber tatsächlich erscheinen diese nicht, da Übergang 226 und Übergang 228 außerhalb der Arbeitszone und in der weißen Zwischenraumzone 132 sind. Diese werden folglich als unzulässige Übergänge verworfen und definieren nicht einen schwarzen Strich innerhalb eines weißen Zwischenraumes, und das System nimmt einfach nur die Übergänge 230 und 232 an, welches das lokale Profil als einzelnen weißen Zwischenraum 234 bestätigt.
  • Die Schritte für die Bestimmung der Übergangspunkte umfassen das Finden der folgenden Position im Profil 300 (7) und dann wird die Steigungsrichtung 302 erhalten. Zunächst wird festgestellt ob die Richtung sich von der vorhergehenden Richtung 304 unterscheidet. Wenn dies nicht der Fall ist, geht das System zu Schritt 300 zurück. Wenn dies der Fall ist, wird der Übergangspunkt am Mittelpunkt zwischen dem gegenwärtigen Wert und dem Wert der Position der vorhergehenden Steigungsumkehrung 306 eingestellt, die gespeichert worden ist. Danach wird die Abfrage gebildet, ob der Übergangspunkt in Arbeitszone 308 liegt. Wenn dies nicht der Fall ist, geht das System zu Schritt 300 zurück. Wenn dies so ist, wird die Position der Steigungsumkehrungen gespeichert 310 und das System geht zum nächsten Punkt im Profil, Schritt 300.
  • In einer Ausführungsform umfasst das Verfahren dieser Erfindung das Aufnehmen des Strichcodebildes 250 (6), das Erzeugen seines Grauwertprofils 252 und das Definieren der Arbeitszone 254. Dann, indem man angrenzende Werte des Profils überprüft, wird die Steigung zwischen ihnen festgestellt. Wenn die Änderung in der Steigung größer als etwa Wert x ist, z. B. 4, wird diese als Steigungsumkehnung 250 identifiziert. Der Wert von 4 wurde gewählt, weil er die besten Resultate aus einer Datenbank von Mustern ergab. Das Ziel war, den Mindestwert von x zu finden, der alle Ränder in der Testdatenbank finden würde, ohne falsche zu produzieren. Diese Zahl funktionierte gut für das vorliegende System (Kamera, Beleuchtung, etc.). Im nächsten Schritt 260, wenn die momentane Steigung positiv ist, sucht es nach einer negativen, wenn diese negativ ist, sucht es nach einer positiven. Das System sucht dann nach einer Steigungsumkehrung in Schritt 262 und kennzeichnet den Mittelpunkt zwischen der gegenwärtigen Steigungsumkehrung und der letzten Steigungsumkehrung als Übergang. In Schritt 264, wenn der Übergang in der Arbeitszone ist, wird dieser als gültig bestätigt, wenn nicht, wird dieser verworfen.
  • Während es im spezifischen Beispiel zwei Datenzonen gibt, Strich und Zwischenraum und eine Arbeitszone, ist dies nicht eine notwendige Beschränkung der Erfindung. Mit drei Datenzonen könnte es drei Arbeitszonen geben, mit vier Datenzonen könnte es vier Arbeitszonen geben und so weiter.
  • Die bevorzugte Methode entsprechend dieser Erfindung wird durch den Mikroprozessor 20 durchgeführt, der durch Software konfiguriert wird, um jeden der Schritte entsprechend der Erfindung zu bewirken. Das bevorzugte System entsprechend dieser Erfindung umfasst Mittel in Form von Softwareprogrammen, die durch die konfigurierte Software im Mikroprozessor entsprechend 6 und 7 ausgeführt wird.
  • Obgleich spezifische Merkmale der Erfindung in einigen Zeichnungen und nicht in anderen gezeigt werden, geschah dies nur der Einfachheit wegen, wobei jedes Merkmal mit beliebigen oder allen anderen Merkmalen in Übereinstimmung mit der Erfindung kombiniert werden kann. Die Wörter "einschließlich", "enthaltend", "umfassend", "habend" und "mit", die hierin verwendet wurden, sollen breit und umfassend gedeutet werden und nicht auf irgendeine physikalische Verbindung begrenzt sein.
  • Außerdem sollen die in dieser Anmeldung offenbarten Ausführungsformen nicht als die einzig möglichen Ausführungsformen verstanden werden.
  • Andere Ausführungen sind für den Fachmann ersichtlich und liegen innerhalb der folgenden Ansprüche.

Claims (7)

  1. Verfahren zur Verifikation von Strichcodelesungen umfassend: Erstellen eines Profils (52b) eines Strichcodes; Detektieren einer Änderung eines Wertes in dem Strichcodeprofil (52b), die einen möglichen Übergang zwischen Strichen und Zwischenräumen anzeigt; Erstellen eines Histogramms der Intensitätswertverteilung (120) des genannten Profils (52b) und Identifizieren von verschiedenen Zonen (130, 132, 128), in denen die Übergänge auftreten, entsprechend dem Histogramm; dadurch gekennzeichnet dass, das Identifizieren von Zonen die Identifikation einer Strichzone (130) von Werten, die Strichen entsprechen, eine Zwischenraumzone (132) von Werten, die Zwischenräume entsprechen und eine Arbeitszone (128) von Werten, die Übergänge zwischen den Strichen und den Zwischenräumen repräsentieren, umfasst; und dass ein möglicher Übergang als wahrer Übergang bestätigt wird, wenn er in der Arbeitszone (128) auftritt und verworfen wird, wenn er in der Strich- oder Zwischenraumzone (130 oder 132) auftritt.
  2. Verfahren nach Anspruch 1 umfassend das Detektieren eines Teils eines Strichcodeprofils, das einen Strich anzeigt und Verwerfen desselben als Strich, wenn er in der genannten Zwischenraumzone auftritt.
  3. Verfahren nach einem der Ansprüche 1 oder 2 umfassend das Detektieren eines Teils des Strichcodeprofils, das einen Zwischenraum anzeigt und Verwerten desselben als einen Zwischenraum, wenn er in der genannten Strichzone auftritt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das genannte Profil ein Grauwertprofil (52b) ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei das Detektieren eines Wechsels in dem Strichcodeprofil, das einen möglichen Übergang andeutet, das Erfassen von ersten und zweiten aufeinanderfolgenden Steigungsumkehrungen umfasst und die möglichen Übergänge mittig zwischen den genannten Steigungsumkehrungen (Schritt 262) definiert.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Identifizieren einer Strichzone, einer Zwischenraumzone und einer Arbeitszone die Erstellung von Begrenzungen des Bereichs der Strich- und Zwischenraumwerte und Definieren der genannten Arbeitszone als einen Teil dieses Bereichs umfasst.
  7. System zur Verifikation von Strichcodelesungen umfassend: Mittel zum Erstellen eines Profils (52b) eines Strichcodes; Mittel zum Detektieren eines Wertewechsels in dem Profil (52b), der einen möglichen Übergang zwischen Strichen und Zwischenräumen anzeigt; Mittel zum Erstellen eines Histogramms einer Intensitätswertverteilung (120) des genannten Profils (52b) und Mittel zum Identifizieren verschiedener Zonen (130, 132, 128), in denen die Übergänge auftreten, entsprechend dem Histogramm; dadurch gekennzeichnet, dass die Mittel zum Identifizieren der Zonen (130, 132, 128) Mittel zum Identifizieren einer Strichzone (130) von Werten, die Striche repräsentieren, einer Zwischenraumzone (132) von Werten, die Zwischenräume repräsentieren und einer Arbeitszone (128) von Werten, die Übergänge repräsentieren zwischen den Strichen und Zwischenräume, umfassen; und Mittel zum Bestätigen des möglichen Übergangs als einen wahren Übergang, wenn er in der Arbeitszone (128) auftritt und Verwerfen desselben, wenn er in der Strich- oder Zwischenraumzone (130 oder 132) auftritt.
DE60303003T 2003-03-06 2003-05-03 Verfahren und System zur Verifikation von Übergängen zwischen kontrastierenden Elementen Expired - Lifetime DE60303003T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/382,807 US6845914B2 (en) 2003-03-06 2003-03-06 Method and system for verifying transitions between contrasting elements
US382807 2003-03-06

Publications (2)

Publication Number Publication Date
DE60303003D1 DE60303003D1 (de) 2006-02-02
DE60303003T2 true DE60303003T2 (de) 2006-09-07

Family

ID=32824788

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60303003T Expired - Lifetime DE60303003T2 (de) 2003-03-06 2003-05-03 Verfahren und System zur Verifikation von Übergängen zwischen kontrastierenden Elementen

Country Status (4)

Country Link
US (1) US6845914B2 (de)
EP (1) EP1455296B1 (de)
AT (1) ATE314695T1 (de)
DE (1) DE60303003T2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI117217B (fi) * 2003-10-01 2006-07-31 Nokia Corp Menetelmä ja järjestelmä käyttöliittymän (User Interface) hallitsemiseksi, vastaava laite ja ohjelmalliset (Software) välineet menetelmän toteuttamiseksi
JP4306457B2 (ja) * 2004-01-08 2009-08-05 株式会社デンソーウェーブ 光学情報読取装置
US7209575B2 (en) * 2004-09-08 2007-04-24 Berry Plastics Corporation Method for visual inspection of printed matter on moving lids
KR100667778B1 (ko) * 2004-11-20 2007-01-11 삼성전자주식회사 바코드 판독 방법 및 장치
US7213761B2 (en) * 2005-03-23 2007-05-08 Microscan Systems Incorporated Apparatus and process for two-stage decoding of high-density optical symbols
US20070237356A1 (en) * 2006-04-07 2007-10-11 John Dwinell Parcel imaging system and method
US8139117B2 (en) 2006-04-21 2012-03-20 Sick, Inc. Image quality analysis with test pattern
US8132728B2 (en) * 2007-04-04 2012-03-13 Sick, Inc. Parcel dimensioning measurement system and method
JP2009110413A (ja) * 2007-10-31 2009-05-21 Olympus Corp バーコード読取装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5270525A (en) * 1990-01-08 1993-12-14 Nippondenso Co., Ltd. Non-decoded type bar code reading apparatus
US5457309A (en) * 1994-03-18 1995-10-10 Hand Held Products Predictive bar code decoding system and method
US5979763A (en) * 1995-10-13 1999-11-09 Metanetics Corporation Sub-pixel dataform reader with dynamic noise margins
US6036091A (en) * 1995-12-19 2000-03-14 Webscan, Inc. Method and apparatus supporting high speed evaluation of bar code indicia
US6328213B1 (en) * 1998-06-12 2001-12-11 Symbol Technologies, Inc. Method of processing an analog electrical signal containing information representative of reflected light from coded indicia, wherein the electrical signal contains edge transitions
US6513714B1 (en) * 1998-09-14 2003-02-04 Psc Scanning, Inc. Character reconstruction and element level processing in bar code scanning system
US6382511B1 (en) 2000-04-26 2002-05-07 Ncr Corporation Methods and apparatus for digitizing and processing of analog barcode signals
US6655592B2 (en) * 2001-10-10 2003-12-02 Hewlett-Packard Development Company, L.P. Graphically demodulating graphical bar codes without foreknowledge of the original unmodulated base image

Also Published As

Publication number Publication date
EP1455296B1 (de) 2005-12-28
EP1455296A1 (de) 2004-09-08
DE60303003D1 (de) 2006-02-02
US6845914B2 (en) 2005-01-25
ATE314695T1 (de) 2006-01-15
US20040173683A1 (en) 2004-09-09

Similar Documents

Publication Publication Date Title
DE69716087T2 (de) System und verfahren zur bilderfassung mit hoher geschwindigkeit
DE69515481T2 (de) Verfahren und Vorrichtung zur Dekodierung eines zweidimensionalen Symboles im Raumbereich
DE69433492T2 (de) Verfahren und Vorrichtung zum Dekodieren von Streifencodes durch unabhängige Analyse von Streifen und Zwischenräumen
DE69930536T2 (de) Schräglage-verarbeitung für raster-abtast-bilder
DE69215463T2 (de) System zur Dokumentenausrichtung in der automatisierten Verarbeitung von grossen Poststücke und dergleichen
DE69131216T2 (de) Lagebestimmung von Strichkodierungen
DE69131394T2 (de) Maschinenlesbares Zeichen mit Mehrfachauflösung
DE69131006T2 (de) Gerät und Verfahren zur optischen Zeichenerkennung
DE69324095T2 (de) Verfahren und Vorrichtung zum Dedektieren von strichkodierten Symbolen mit Unterpixel-Interpolation
DE69324079T2 (de) Verfahren und Vorrichtung zur Erfassung von Strichkoden
DE60014959T2 (de) Vorrichtung zur lagebestimmung von etiketten, unter verwendung mehrerer auflösungen
DE69728482T2 (de) Zweidimensionaler Codeleser
DE69126231T2 (de) Leser für Strichkodierungen
DE69422043T2 (de) Gerät zum berührungslosen lesen eines reliefmusters
DE68915950T2 (de) Verfahren zum Trennen von Zeichen.
DE69608170T2 (de) Gerät und Verfahren zur Bildbinarisation
DE102015219541A1 (de) Dekodieren von strichcodes
DE69709165T2 (de) Vorrichtung und verfahren zur dekodierung von streifencode-symbolen durch quotenanalyse der modulformate
DE19624900A1 (de) Verfahren und Gerät zum Decodieren nicht aufgelöster Balkencode-Profile unter Verwendung eines Kantenfindungs-Schaltkreises
DE19722439A1 (de) Verfahren und Vorrichtung zur Auffindung und Dekodierung maschinenlesbarer Symbole einschließlich Datenmatrixsymbolen
DE3783974T2 (de) Optischer buchstabenleser.
DE60300476T2 (de) System zum Erkennen eines Barcodes
DE60303003T2 (de) Verfahren und System zur Verifikation von Übergängen zwischen kontrastierenden Elementen
DE69814105T2 (de) Verfahren zur automatischen Regulierung der Eigenschaften eines optischen Codelesesystems
DE2749222A1 (de) Verfahren und vorrichtung zum automatischen erkennen oder lesen von zeichen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition