DE69126231T2 - Leser für Strichkodierungen - Google Patents

Leser für Strichkodierungen

Info

Publication number
DE69126231T2
DE69126231T2 DE69126231T DE69126231T DE69126231T2 DE 69126231 T2 DE69126231 T2 DE 69126231T2 DE 69126231 T DE69126231 T DE 69126231T DE 69126231 T DE69126231 T DE 69126231T DE 69126231 T2 DE69126231 T2 DE 69126231T2
Authority
DE
Germany
Prior art keywords
bar code
memory
dimensional image
image
stored
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
DE69126231T
Other languages
English (en)
Other versions
DE69126231D1 (de
Inventor
Eric P Batterman
Donald G Chandler
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.)
Omniplanar Inc
Original Assignee
Omniplanar 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 Omniplanar Inc filed Critical Omniplanar Inc
Application granted granted Critical
Publication of DE69126231D1 publication Critical patent/DE69126231D1/de
Publication of DE69126231T2 publication Critical patent/DE69126231T2/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/1093Methods 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 sensing, after transfer of the image of the data-field to an intermediate store, e.g. storage with cathode ray tube
    • 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/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image

Landscapes

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

Description

  • Die Erfindung betrifft das Gebiet maschinenlesbarer Symbole, insbesondere ein Verfahren und eine Vorrichtung zum Lesen von Strichcode-Symbolen.
  • Ein Strichcode (Bar-Code) ist ein spezieller Typ eines maschinenlesbaren Symbols. Ein typischer Strichcode beinhaltet parallele ausgezogene Linien oder Striche veränderlicher Breite und veränderlichen Abstands. Die durch die Striche und die Abstände zwischen den Strichen definierten abwechselnd hellen und dunklen Bereiche repräsentieren einen digitalen Code, der dazu dient, den Inhalt des Strichcode-Symbols zu identifizieren. Nach dem Lesen wird der digitale Code direkt in eine Folge alphanumerischer Zeichen umgesetzt und kann dann mit Hilfe einer Datenbank weiter in die übliche sprachliche Beschreibung des Artikels umgesetzt werden, der das betreffende Strichcode-Etikett trägt, zusammen mit weiteren relevanten Daten, beispielsweise dem derzeitigen Preis des Gegenstands.
  • Ein Strichcode läßt sich durch Abtastung lesen. Typischerweise wird von einer Lichtquelle auf die Oberfläche des Strichcodes ein kleiner Lichtfleck gerichtet. Das reflektierte Licht wird von einem photoempfindlichen Element erfaßt. Die Strichcode-Fläche wird dann von dem kleinen Lichtfleck überstrichen, während laufend die Intensität des resultierenden reflektierten Lichts erfaßt wird. Da helle Bereiche mehr Licht als dunkle Bereiche reflektieren, repräsentiert die reflektierten Lichtstärke den digitalen Code, der wiederum zum Identifizieren des Inhalts des Strichcode-Symbols dient.
  • Bei einem Typ von Strichcodeleser wird als Lichtquelle ein von Hand gehaltener Laser oder eine Leuchtdiode verwendet, wobei das Lesegerät von Hand über die Strichcode-Fläche geführt wird. Bei einem Abtast- Strichcodelesegerät wird die Lichtquelle ortsfest gehalten, während der Laserstrahl in einem Abtastmuster bewegt wird. Bei einem speziellen Typ eines Strichcode-Abtastgeräts wird ein Laserstrahl über eine komplexe Folge sich wiederholender geometrischer Muster geführt, um zumindest bis zu einem gewissen Grad eine Allrichtungs-Abtastung zu erhalten. Aufgrund der Beschränkungen von Laser- Strichcodeabtastgeräten ist es allerdings schwierig, eine zuverlässige, konsistente Strichcode-Ablesung zu erreichen, insbesondere dann, wenn das Gerät bei beschädigten Strichcode-Etiketten benutzt wird.
  • Bei einem anderen Typ von Strichcodelesegerät wird ein Bild eines Strichcodes auf einem Feld photoempfindlicher Elemente gebildet, um anschließend zur weiteren Verarbeitung in einem Speicher abgespeichert zu werden. Bei diesem zum Stand der Technik gehörigen Strichcodeleser allerdings ist es immer noch notwendig, den Strichcode in bezug auf das Lesegerät zu positionieren und zu orientieren.
  • Ein Verfahren und eine Vorrichtung zum Lesen von Strichcodes einschließlich der Erzeugung eines Bildes auf einem Feld photoempfindlicher Elemente ist in dem US-Patent 4,822,986 (Guthmueller et al) offenbart.
  • Im allgemeinen ist es im Stand der Technik typischerweise notwendig, daß die Bedienungsperson entweder den Strichcode orientiert oder den Strichcode und/oder das Lesegerät von Hand anderweitig so orientiert, daß das Gerät richtig arbeitet.
  • Die vorliegende Erfindung schafft ein Strichcodelesegerät, bei dem Strichcodes schnell und zuverlässig gelesen werden. Außerdem ermöglicht ein erfindungsgemäßes, hier zu beschreibendes Strichcodelesegerät ein sehr schnelles Lesen in allen Richtungen von mehreren oder gestapelten Strichcode-Symbolen, auch bei beschädigten Strichcode-Etiketten, die eine beliebige Orientierung, beliebigen Abstand und beliebige Relativbewegung bezüglich des Lesegeräts aufweisen können.
  • In der anhängigen europäischen Patentanmeldung Nr. 91 302 752.0 (Veröffentlichungs-Nr. EP-A-0 449 634) enthält ein Allrichtungs- Strichcodelesegerät 1) eine Einrichtung zum Aufnehmen und Speichern eines zweidimensionalen Bildes in einem Speicher, welches gespeicherte Bild ein Strichcode-Symbol irgendwo innerhalb des Gesichtsfeldes enthält, 2) eine Detektiereinrichtung zum Verarbeiten des gespeicherten Bildes zwecks Nachweises eines oder mehrerer potentieller Stellen irgendwo in dem Gesichtsfeld des abgespeicherten Bildes, welche wahrscheinlich ein Strichcode-Symbol enthalten, 3) eine Orientierungsverarbeitungseinrichtung zum Bestimmen der Orientierung des nachgewiesenen Strichcode-Symbols an der Stelle, die nachgewiesenermaßen wahrscheinlich ein Strichcode-Symbol enthält, 4) eine Filtereinrichtung zum Filtern des nachgewiesenen Strichcode- Symbols in einer Richtung senkrecht zu der ermittelten Orientierung des nachgewiesenen Strichcode-Symbols, um die Redundanz der Strichcode- Symboleigenschaft zu nutzen, und 5) eine Einrichtung zum Abtasten des nachgewiesenen Strichcode-Symbols an einer Stelle entsprechend der nachgewiesenen potentiellen Stelle und unter einem Winkel, der etwa der ermittelten Orientierung des nachgewiesenen Strichcode-Symbols entspricht.
  • Die Ausführungsform des erfindungsgemäßen Strichcodelesers, die im folgenden beschrieben wird, enthält die in dem obigen Abschnitt angegebenen Merkmale. Sie enthält außerdem eine Doppelspeicheranordnung, in welcher ein zweidimensionales Bild, welches das Bild eines Strichcode-Symbols an einer beliebigen Stelle und mit beliebiger Orientierung enthält, in einem ersten Speicher abgespeichert wird. Anschließend wird der Inhalt des ersten Speichers verarbeitet, um festzustellen, ob irgendein Abschnitt des gespeicherten Bildes eine Wahrscheinlichkeit dafür aufweist, daß er ein Strichcode- Symbol enthält, und falls dies so ist, an welcher Stelle. Wenn ein Strichcode-Symbol aufgespürt ist, wird der Abschnitt des in dem ersten Speicher abgespeicherten Bildes, der als wahrscheinlich ein Strichcode- Symbol enthaltend identifiziert wurde, in einen zweiten Speicher übertragen. In dem zweiten Speicher wird das gespeicherte Bild verarbeitet, um das gespeicherte Strichcode-Bild zu orientieren, zu filtern und abzutasten.
  • Die obige Doppelspeicheranordnung ermöglicht die Optimierung der Leistungsfähigkeit und der Kosten eines Allrichtungs-Strichcodelesers durch Auswahl des Speichertyps und des speziellen Prozessors, die sich am besten für den Verarbeitungsalgorithmus für jede der Verarbeitungsaufgaben des Strichcode-Bildes eignen, d. h. für die Strichcodebild-Aufnahme, -Lageermittlung, -Orientierung, -Filterung und -Abtastung.
  • Speziell enthält der erfindungsgemäße Strichcodeleser gemäß nachfolgender Beschreibung eine Optik zum Erzeugen eines zweidimensionalen Bildes, welches das Bild eines Strichcode-Symbols irgendwo innerhalb des Gesichtsfeldes des zweidimensionalen Bildes enthält; einen ersten Speicher zum Abspeichern des zweidimensionalen Bildes; einen zweiten Speicher zum Speichern eines Abschnitts des in dem ersten Speicher gespeicherten zweidimensionalen Bildes; und eine Steuereinrichtung zum transferieren eines Abschnitts des gespeicherten zweidimensionalen Bildes aus dem ersten Speicher in den zweiten Speicher, wobei der übertragene Abschnitt des gespeicherten zweidimensionalen Bildes im ersten Speicher wahrscheinlich zumindest einen Abschnitt des Strichcode-Bildes beinhaltet. Die spezielle Steuereinrichtung ist besonders dazu eingerichtet, die Funktion des Nachweises der Lageermittlung und der Groborientierung des Strichcode-Bildes schnell und effizient auszuführen.
  • Der Strichcodeleser enthält außerdem einen digitalen Signalprozessor, der mit dem zweiten Speicher gekoppelt ist, um den übertragenen Abschnitt entsprechend dem lokalisierten Bereich innerhalb des Gesichtsfeldes des gespeicherten zweidimensionalen Bildes in dem zweiten Speicher in jeder Richtung abzutasten, um Information auszulesen, die in dem Abschnitt des lokalisierten Bereichs enthalten ist, welcher dem übertragenen Abschnitt des zweidimensionalen Bildes des Strichcode-Symbols entspricht. Der digitale Signalprozessor ist außerdem speziell dazu ausgelegt, rechenintensive Funktionen auszuführen, so z.B. spezielle Funktionen, die erforderlich sind, um das lokalisierte Strichcode-Bild zu orientieren, zu filtern und abzutasten.
  • Die Anordnung mit dem doppelten Prozessor und dem doppelten Speicher, wie hier vorgeschlagen wird, beinhaltet außerdem Doppelanschluß-Speicher, die es den doppelten Prozessoren ermöglichen, Zugriff zu einem einzelnen Speicherraum zu erlangen. In jedem Fall kann ein Doppelprozessor-Strichcodeleser spezielle Bildverarbeitungsaufgaben rascher und überlappende Bildverarbeitungsaufgaben gleichzeitig ausführen, um dadurch die Geschwindigkeit zu erhöhen, mit der ein Strichcode-Symbol abgetastet und ausgelesen wird.
  • Die Erfindung schafft ein Strichcodelesegerät gemäß Anspruch 1 und ein Verfahren zum Lesen eines Strichcodes gemäß Anspruch 9.
  • Das Verfahren und die Vorrichtung gemäß der Erfindung werden unter Bezugnahme auf das in den begleitenden Zeichnungen dargestellte Ausführungsbeispiel näher erläutert. Es zeigen:
  • Fig. 1 ein teilweise in Form eines Flußdiagramms gehaltenes Blockdiagramm zur Darstellung eines Verfahrens und einer Vorrichtung gemäß der Erfindung;
  • Fig. 2 ein Blockdiagramm eines Systems für einen Strichcodeleser gemäß der Erfindung;
  • Fig. 3 eine graphische Darstellung eines zweidimensionalen Bildbereichs, wobei individuelle Zellen dargestellt sind, die zur Lageermittlung und Orientierung eines Strichcode-Symbols verwendet werden;
  • Fig. 3A eine Darstellung eines Abschnitts des Bildbereichs nach Fig. 3, wobei dieser Abschnitt ein Strichcode- Symbol enthält;
  • Fig. 4 ein Flußdiagramm, welches das Steuerprogramm für den ASIC-Steuerung nach Fig. 2 veranschaulicht;
  • Fig. 5A und 5B ein Flußdiagramm, welches das Steuerprogramm für den digitalen Signalprozessor nach Fig. 2 veranschaulicht;
  • Fig. 6A eine Darstellung eines Strichcode-Symbols mit zwei typischen parallelen Abtastlinien, die in Verbindung mit den Ausführungsformen der Erfindung verwendet werden können;
  • Fig. 6B die Reflexions-Signale von den beiden parallelen Abtastlinien in Fig. 6A;
  • Fig. 6C die Signaldifferenz zwischen aufeinanderfolgenden Datenpunkten entlang jeder der zwei Abtastlinien in Fig. 6B;
  • Fig. 6D die Produkte der Signaldifferenzen für jeden der jeweiligen Datenpunkte für die in Fig. 6C gezeigten Signaldifferenzen, und die Gesamtsumme sämtlicher Produkte der Signaldifferenzen entlang zweier paralleler Abtastlinien, die in Verbindung mit der vorliegenden Erfindung verwendet werden;
  • Fig. 7A eine Darstellung eines Schwarz-Weiß-Übergangs bei zwei typischen parallelen Abtastlinien, die sich von einem Strichcode-Symbol erfindungsgemäß unterscheiden lassen;
  • Fig. 7B die Reflexions-Signale von den zwei parallelen Abtastlinien in Fig. 7A;
  • Fig. 7C die Signaldifferenzen zwischen aufeinanderfolgenden Datenpunkt entlang jeder der zwei Abtastlinien in Fig. 7B;
  • Fig. 7D die Produkte der Signaldifferenzen für jeden der jeweiligen Datenpunkte für die Signaldifferenzen nach Fig. 7C, außerdem die Gesamtsumme sämtlicher Produkte der Signaldifferenzen entlang zweier paralleler Abtastlinien;
  • Fig. 8A ein Bild eines Strichcode-Symbols unter einem Winkel zur Abtastrichtung, wobei ein Abschnitt des abgetasteten Bereichs angedeutet ist;
  • Fig. 8B das Reflexions-Signal von einer Abtastzeile des abgetasteten Bereichs gemäß Fig. 8A;
  • Fig. 8C die Abtastlinie der Fig. 8B nach der Verarbeitung durch Interpolation;
  • Fig. 8D eine interpolierte Abtastlinie und eine weitere interpolierte Abtastlinie, vier Abtastzeilen versetzt;
  • Fig. 8E acht interpolierte Abtastlinien, die zur Ausrichtung gegeneinander verschoben wurden;
  • Fig. 8F die Mittelung der acht interpolierten und verschobenen Abtastlinien nach Fig. 8E;
  • Fig. 8G eine binäre Signaldarstellung der Wellenform der Fig. 8F unter Verwendung des gesamten Signaldurchschnitts als binärer Schwellenwert;
  • Fig. 9A die Kreuzkorrelations-Funktion der interpolierten ersten und zweiten Abtastlinie des Abschnitts des abgetasteten Bereichs nach Fig. 8A;
  • Fig. 9B eine Familie von Kreuzkorrelations-Kurven, jeweils erhalten aus der Kreuzkorrelation der ersten interpolierten Abtastlinie mit nachfolgenden interpolierten Abtastlinien des Abschnitts des abgetasteten Bereichs nach Fig. 8A;
  • Fig. 9C die Spitzenwerte der Kreuzkorrelations-Funktion für jede interpolierte Abtastlinie, verglichen mit der ersten interpolierten Abtastlinie für den Abschnitt des abgetasteten Bereichs gemäß Fig. 8A; und
  • Fig. 10 eine Darstellung eines Strichcode-Symbols, wobei die Art und Weise veranschaulicht ist, in der überlappende Teil-Abtastungen zur Bildung einer vollständigen Abtastung aneinandergereiht werden.
  • In Fig. 1 ist ein knapper Überblick über den erfindungsgemäßen Strichcodeleser gegeben. Ein Bildaufnahmesystem 14, welches die notwendigen optischen und photoempfindlichen Element beinhaltet, nimmt ein Bild des Gesichtsfeldes des Lesegeräts auf, und dieses aufgenommene Bild enthält möglicherweise ein Strichcode-Etikett 12. Nachdem das Bild im Speicher aufgenommen ist, dient eine Einrichtung 16 zur Lageermittlung des Strichcode-Bildes und zur Groborientierung. Gemeinsam bilden die Bildaufnahme 14 und die Strichcodebild- Lageermittlung und -Orientierung 16 den Abschnitt des hier in Rede stehenden Strichcodelesers, der dazu dient, einen Strichcode innerhalb eines Gesichtsfeldes allgemein aufzuspüren.
  • Nachdem das Strichcode-Bild innerhalb des Gesichtsfeldes ausgemacht ist und seine grobe Orientierung feststeht, dient eine Einrichtung 18 zum Bestimmen der Feinorientierung des Strichcodes. Nach der Feinorientierung des aufgespürten Strichcodes dient eine Einrichtung 20 zum Filtern des Strichcodes. Danach erfolgt die Strichcode-Abtastung 22. Der Vorgang des Bestimmens der Feinorientierung 18, der Strichcode-Filterung 20 und der Strichcode-Abtastung 22 bilden gemeinsam den Abschnitt des hier in Rede stehenden Strichcodelesers, der dazu dient, einen Strichcode "abzutasten", nachdem der Strichcode innerhalb eines Gesichtsfeldes aufgespürt wurde. Nach dem Abtasten des Strichcodes liefert ein dem Fachmann auf diesem Gebiet geläufiger Dekodierer 23 das dekodierte Ausgangssignal 24 des Strichcodeetiketts.
  • Der Vorgang des "Abtastens eines Strichcodes" gemäß dem Stand der Technik bezieht sich auf das Überstreichen eines Strichcodes mit einem Lichtfleck. Im vorliegenden Zusammenhang mit der Erfindung bedeutet der Vorgang des "Abtastens eines Strichcodes", daß aus dem Bildspeicher sequentiell Werte herausgezogen werden, die von dem Bildspeicher abgeleitet wurden und den Reflexionsvermögen beim Überstreichen des Strichcodes entsprechen.
  • Eine bevorzugte Hardware-Ausführungsform der Erfindung ist in Fig. 2 dargestellt. Eine Optik 26 ist mit einem Bildsensorfeld 28 gekoppelt. Das Ausgangssignal des Bildsensorfeldes 28 wird von einem A/D- Wandler 30 aus einem analogen Signal in ein digitales Signal umgesetzt und in einem ersten Speicher 32 abgespeichert. Der erste Speicher 32 ist vorzugsweise ein dynamischer Schreib-/Lese-Speicher (DRAM). Eine Steuerung 34, die eine anwendungsspezifische integrierte Schaltung (ASIC = Application Specific Integrated Circuit) sein kann, steuert das Bildaufnahmesystem in der Weise, daß ein Bild aufgenommen, digitalisiert und in dem DRAM 32 gespeichert wird. Die ASIC- Steuerung 34 übernimmt außerdem verschiedene weitere Verarbeitungsaufgaben unter Steuerung seitens eines digitalen Signalprozessors 38. Der digitale Signalprozessor 38 ist typischerweise ein Hochgeschwindigkeits-Mikroprozessor, wie z. B. der ADSP-2101 von Analog Devices, Norwood, Mass.. Der Speicherraum für den digitalen Signalprozessor 38 besteht sowohl aus einem ROM zur Programmspeicherung als auch aus einem statischen Schreib-/Lese- Speicher 42 (SRAM) zur Bildverarbeitungsspeicherung. Abschnitte des gespeicherten Bildes innerhalb des DRAM 32 sind unter Steuerung seitens der ASIC-Steuerung 34 zu dem SRAM 42 übertragbar. Schließlich ist ein Eingangsanschluß 40 an den Eingang des digitalen Signalprozessors 38 gekoppelt, und der Ausgangsanschluß 44 ist an einen Dekodierer 23 gekoppelt, der mit dem Ausgang des digitalen Signalprozessors 38 verbunden ist.
  • Im Betrieb wird das Lesen eines Strichcodes eingeleitet von einem Eingangssignal am Anschluß 40 des digitalen Signalprozessors 38. Ansprechend auf die Steuerausgänge des digitalen Signalprozessors 38 nimmt die ASIC-Steuerung 38 ein Bild zur Speicherung im DRAM Speicher 32 auf. Ebenfalls ansprechend auf die Steuerausgänge des digitalen Signalprozessors 38 verarbeitet die ASIC-Steuerung 34 das in dem DRAM 32 abgespeicherte Bild, um die potentielle Lage oder die potentiellen Stellen zu bestimmen, die wahrscheinlich dafür sind, daß sie ein Strichcode-Symbol enthalten. Zur Lagebestimmungs-Verarbeitung wird das in dem DRAM 32 gespeicherte Bild in kleinere Bereiche - oder Zellen - unterteilt, und jeder Zelle wird eine Lagebewertung zugewiesen. Je höher die Lagebewertung für eine gegebene Zelle ist, desto wahrscheinlicher enthält die Zelle mindestens ein teilweises Strichcode- Symbol.
  • Wenn die ASIC-Steuerung 34 ihre Aufgabe der Lagebewertung abgeschlossen hat, untersucht der digitale Signalprozessor 38 die erhaltenen Bewertungen und weist die ASIC-Steuerung 34 an, solche Bildbereiche aus dem DRAM 32 zu dem SRAM 42 zu transferieren, die von Interesse sind. Der digitale Signalprozessor 38 verarbeitet anschließend das Teilbild innerhalb des SRAM 42, um die Orientierung des gespeicherten Strichcode-Bildes zu bestimmen, um das orientierte Strichcode-Bild in einer Richtung senkrecht zu der ermittelten Richtung zu filtern, und um das orientierte und gefilterte Strichcode-Bild abzutasten. Nachdem sämtliche interessierenden Bereiche aus dem DRAM 32 in den SRAM 42 transferiert und von dem digitalen Signalprozessor 38 verarbeitet sind, wird an den Dekodierer 23 eine vollständige Strichcode-Ausgangsabtastung geliefert, und der Dekodierer liefert am Anschluß 44 die Ausgabe eines dekodierten Strichcodeetiketts.
  • Alternativ kann die Funktion des Dekodierers 23, der einen seriellen oder parallelen Ausgang aufweisen kann, in dem Programm des digitalen Signalprozessors 38 enthalten sein.
  • Wenn andererseits durch Untersuchung der Lagebewertungen kein Strichcode in dem gespeicherten Bild innerhalb des DRAM 32 aufgefunden wurde, kann der digitale Signalprozessor 38 über die ASIC- Steuerung 34 die Optik 26, das Bildsensorfeld 28 und den A/D-Wandler 30 anweisen, ein weiteres Bild im DRAM 32 zur Verarbeitung aufzunehmen. Der Prozeß der Aufnahme und der Verarbeitung von Bildern kann so lange fortgesetzt werden, bis ein Strichcode-Symbol erfolgreich abgetastet ist.
  • Die Organisation des gespeicherten Bildbereichs 48 im DRAM ist in Fig. 3 dargestellt. Das Bildsensorfeld 28 (Fig. 2) besitzt 768 Pixel in horizontaler und 576 Pixel in vertikaler Richtung. Ein geeigneter Bildsensor zur Verwendung im Rahmen der Erfindung ist das MOS- Bildsensorarray 98268 von der Hitachi Corporation. Der Bildbereich 48 ist konzeptionell in Zellen unterteilt, beispielsweise in Zellen 49. Insbesondere ist der Bildbereich 48 in horizontaler Richtung in 24 Zellen und in vertikaler Richtung in 72 Zellen aufgeteilt, wobei jede Zelle 8 mal 32 Pixel beinhaltet. Das heißt: jede Zelle besitzt 8 Abtastzeilen, wobei jede Abtastzeile 32 Pixel enthält.
  • Der Bildbereich 48 ist in jeder von vier Richtungen in Zellen aufgeteilt. Das heißt: der Bildsensorbereich 48 ist in horizontale Zellen unterteilt, beispielsweise Zellen 50. Allerdings ist der Bildbereich 48 auch in vertikale Zellen, beispielsweise Zellen 52 aufgeteilt. In ähnlicher Weise ist der Bildbereich 48 in Zellen entlang einer ansteigenden Diagonalen, d. h. 45º ansteigend, unterteilt, beispielsweise wie die Zellen 56. Schließlich ist der Bildbereich 48 entlang einer fallenden Diagonalen, d.h. unter einem Winkel von 135º, aufgeteilt, beispielsweise gemäß der Zelle 54. Unter Verwendung von vier Richtungen von Abtastlinien ist es möglich, daß der Lagebestimnnungsprozeß auch die Groborientierung des aufgespürten Strichcode-Bildes in ein und demselben Vorgang ermittelt.
  • Zum Zweck der Veranschaulichung zeigt Fig. 3A ein Strichcode-Symbol irgendwo innerhalb des Gesichtsfeldes des Bildbereichs 48 bei Orientierung unter 14º gegenüber der vertikalen Richtung. Eine typische vertikale Zelle 52 ist einem Abschnitt des Strichcode-Symbols 58 überlagert dargestellt.
  • Der Teil des Programms der ASIC-Steuerung 34 (Fig. 2), der zum Bestimmen der Lage oder der Lagen dient, die wahrscheinlich ein Strichcode-Symbol enthalten, ist in dem Flußdiagramm der Fig. 4 dargestellt. Für eine gegebene Zelle innerhalb eines Bildbereichs 48 verwendet der Prozeß zwei Abtastlinien, nämlich eine Abtastlinie A und eine Abtastlinie B. Insbesondere ist die Abtastlinie A die erste von acht Abtastzeilen einer gegebenen Zelle, und die Abtastlinie B ist die fünfte Abtastlinie einer gegebenen Zelle. Nach Eintritt in das Lagebestimmungsprogramm werden die approximierte Ableitung der Abtastlinie A und die approximierte Ableitung der Abtastlinie B im Schritt 60 berechnet. Zu diesem Zweck wird eine Ableitung dadurch approximiert, daß die Differenz zwischen jeweils zwei aufeinanderfolgenden Pixeln gebildet wird. Um den Prozeß der Bildung einer approximierten Ableitung zu beschleunigen wird bei der Berechnung jedes zweite Pixel herangezogen, das heißt anstatt sämtliche 32 Pixel entlang einer Abtastlinie einer gegebenen Zelle zu verwenden, wird nur jedes zweite Pixel, werden also 16 Pixel zum Approximieren einer Ableitung herangezogen.
  • Nach der Auffindung der approximierten Ableitungen an jedem Punkt der Abtastlinie A und der Abtastlinie B im Schritt 60 wird im Schritt 62 das punktweise Produkt beider Ableitungen berechnet, und anschließend wird im Schritt 64 die Summe der Produkte der Ableitungen berechnet. Dieser Prozeß des Akkumulierens der Summe des Produkts der Ableitungen hält solange an, bis sämtliche Punkte der Abtastlinien A und B für diese Zelle im Schritt 66 beendet sind. An dieser Stelle bildet das akkumulierte Produkt der Ableitungen die Lagebewertung für diese spezielle Zelle. Die Lagebewertung wird dann im Schritt 68 im SRAM abgespeichert. Das Programm inkrementiert auf die nächste Zelle innerhalb des Bildbereichs, Schritt 70. Der Prozeß der Berechnung der Lagebewertungen hält von Zelle zu Zelle solange an, bis das Ende des Bildbereichs im Schritt 72 festgestellt wird, woraufhin das Programm verlassen wird.
  • Der Prozeß des Berechnens einer Lagebewertung für eine Zelle ist in den Fig. 6A - 6D dargestellt. In Fig. 6A sind eine Abtastzeile A und eine Abtastzeile B unter einem kleinen Winkel quer über einem Abschnitt eines Strichcode-Symbols dargestellt. Fig. 6B zeigt die Reflexionssignale bei etwa 1,5 Pixeln pro schmalem Strich für beide Abtastlinien A und B. Die Datenpunkte werden einfach durch Geraden verbunden. Fig. 6C zeigt das Ergebnis der Bildung der Differenz zwischen aufeinanderfolgenden Datenpunkten entlang der Abtastlinie A und aufeinanderfolgenden Datenpunkten entlang der Abtastlinie B, um eine approximierte Ableitung zu bilden, die als Delta-Abtastlinie A bzw. Delta-Abtastlinie B dargestellt sind. Fig. 6D zeigt das Produkt jedes Datenpunkts entlang der Delta-Abtastlmie A und den entsprechenden Datenpunkt entlang der Delta-Abtastlinie B. Damit ist jede Bewertung in Fig. 6D für jeden Datenpunkt das Produkt der approximierten Ableitungen für jeden zugehörigen Datenpunkt der Abtastlinie A und der Abtastlinie B. Durch Aufaddieren der Summe der Ableitungen erhält man eine Lagebewertung von 810, was eine relativ hohe Bewertung deshalb ist, weil die Abtastlinie A und die Abtastlinie B direkt durch ein Strichcode-Symbol laufen.
  • Um die Fähigkeit des Aufspüralogrithmus beim Unterscheiden von Stichcodes von einfachen Übergängen zwischen schwarzen und weißen Bereichen zu veranschaulichen, zeigen die Figuren 7A bis 7D die entsprechende Lagebewertung für einen einfachen Schwarz-Weiß- Übergang. Fig. 7A zeigt ein Bild mit einem Schwarz-Weiß-Übergang mit zwei Abtastlinien, wobei die Abtastlinie A und die Abtastlinie B hindurchgehen. Fig. 7B zeigt die Reflexionssignale für die Abtastlinie A und die Abtastlinie B. Fig. 7C zeigt die approxnnierte Ableitung oder Delta-Abtastlinie A und die Delta-Abtastlinie B während Fig. 7D die Summe der Ableitung für jeden Punkt beider Abtastlinien A und B zeigt. Die resultierende Lagebewertung von 57 gemäß Fig. 7D für das Bild nach Fig. 7A ist beträchtlich geringer als die Lagebewertung von 810 für den Strichcode in Fig. 6A.
  • Der Programmablaufplan für den digitalen Signalprozessor 38 gemäß Fig. 2 ist in den Fig. 5A und 5B gezeigt. Ansprechend auf ein Eingangssignal am Anschluß 40 in Fig. 2 zum Einleiten des Lesens eines Strichcodes tritt der digitale Signalprozessor 38 in das Programm ein, welches in dem Flußdiagramm der Fig. 5A dargestellt ist. Der erste Schritt 74 besteht darin, die ASIC-Steuerung anzuweisen, den Bildbereich in dem DRAM aufzunehmen. Nachdem der Bildbereich aufgenommen ist, besteht der nächste Schritt 76 darin, die ASIC- Steuerung anzuweisen, den Strichcode-Aufspüralgorithmus anzuwenden (nach Maßgabe des oben diskutierten Ablaufdiagramms der Fig. 4), und zwar für eine Richtung, nämlich die horizontale Richtung. Da der Aufspüralgorithmus für sämtliche Zellen in der horizontalen Richtung innerhalb des Bildbereichs 48 ausgeführt wird, speichert die ASIC- Steuerung die Ergebnisse im SRAM. Jede Zellenbewertung ist eine Anzeige für die Wahrscheinlichkeit einer Strichcode-Aktivität. Der komplette Satz von Bewertungen für eine gegebene Richtung bildet eine Karte der wahrscheinlichen Zonen von Strichcode-Aktivität. Dieser Prozeß wird für sämtliche vier Richtungen wiederholt, das heißt es werden Lagebewertungen für eine vertikale Abtastung berechnet und im SRAM mittels einer Programmschleife 80 abgespeichert, es werden mittels einer Programmschleife 82 Lagebewertungen für eine Abtastung gemäß der ansteigenden Diagonalen, das heißt eine Abtastung bei 45º, berechnet und in dem SRAM abgespeichert, und es werden in einer Programmschleife 84 die Lagebewertungen für eine Abtastung in Richtung der fallenden Diagonalen, das heißt 135º, berechnet und im SRAM abgespeichert. Nachdem die Bewertungskarte der Zellenaktivität für eine spezielle Richtung berechnet und im SRAM abgespeichert ist, ermittelt das Programm des digitalen Signalprozessors, ob Strichcode- Aktivität vorhanden ist oder nicht, Schritt 78. Zu diesem Zweck kann ein einfacher Schwellenwert benutzt werden, wobei sämtliche Lagebewertungen untersucht werden, die einen gegebenen Schwellenwert überschreiten. Überschreitet keine Bewertung einen gegebnen Schwellenwert, so bedeutet dies, daß keine Strichcode-Aktivität angetroffen wurde, und das Programm wird wiederholt, beginnend mit dem Schritt 74, bei dem die ASIC-Steuerung den neuen Bildbereich in dem DRAM aufnimmt. Wenn allerdings im Schritt 78 Strichcode- Aktivität nachgewiesen wird, so macht das nachfolgende Programm des digitalen Signalprozessors gemäß dem in Fig. 5B gezeigten Flußdiagramm damit weiter, den aufgespürten Strichcode zu orientieren, zu filtern und abzutasten.
  • Der erste Schritt besteht darin, aus den Lagebewertungen, die im SRAM abgespeichert sind, das Zentrum der Zone der Strichcode-Aktivität und die wahrscheinliche horizontale und vertikale Erstreckung dieser Aktivität festzustellen, Schritt 86. Das ungefähre Zentrum und das ungefähre Ausmaß der Strichcode-Aktivität läßt sich durch Zonenwachstum ermitteln, welches auf die Bewertungskarte der Zellenaktivität angewendet wird. Zonenwachstum ist eine übliche Bildverarbeitungsaufgabe zum Identifizieren einer speziellen Zone innerhalb eines Gesamtbildes, wobei die spezielle Zone eine spezielle Eigenschaft aufweist, in diesem Fall große Werte. Das Zonenwachstum ist eine dem Fachmann geläufige Methode der Bildverarbeitung und ist offenbart in "MATRIX STRUCTURED IMAGE PROCESSING" von Dougherty und Giardina, veröffentlicht 1987 von Prentice-Hall Inc., Englewood Cliffs, New Jersey 07632.
  • Nachdem die interessierende Zone ermittelt wurde, weist der digitale Signalprozessor die ASCI-Steuerung an, den die Strichcode-Aktivität enthaltenden Bereich aus dem DRAM zum SRAM zu transferieren, Schritt 88. Der Speicherraum des SRAM ist grundsätzlich kleiner als der Speicherraum des DRAM, und er stellt typischerweise nur einige Prozent des gesamten Bildbereichs dar, der im DRAM gespeichert ist. Wenngleich der SRAM grundsätzlich schneller ist als der DRAM, so ist die Verwendung eines relativ kleinen SRAM deshalb wirtschaftlicher, weil die Kosten des SRAM typischerweise höher sind als die des DRAM. Ferner kann der Bereich des in dem SRAM abgespeicherten Bildes in Beziehung gesetzt sein zu der Größe der Zellenfläche auf dem DRAM-Bildspeicher, oder nicht. Aufgrund der geringeren Größe des SRAM kann letzterer nur einen Abschnitt des Strichcodes aufnehmen, in welchem Fall die Verarbeitungsschritte für sämtliche Teilabtastungen wiederholt werden und die Teilabtastungen später zur Bildung einer vollständigen Abtastung kombiniert werden.
  • Nachdem das Bild zum SRAM-Speicher übertragen ist, interpoliert der digitale Signalprozessor jede der Abtastlinien von Daten für einen gegebenen interessierenden Bildbereich im Schritt 90. Der Prozeß des Interpolierens ist dem Fachmann der digitalen Signalverarbeitung bekannt, beschrieben ist er von Peled und Liu in "DIGITAL SIGNAL PROCESSING THEORY, DESIGN, AND IMPLEMENTATION", veröffentlicht 1976 von John Wiley and Sons. Die Interpolation erhöht die effektive Abtastgeschwindigkeit der Abtastliniendaten, indem die beste Kurve an die Daten mit Frequenzen unterhalb der Nyquist-Grenze gelegt wird.
  • Das Strichcode-Bild wird zunächst mit etwa 1,5 Pixeln pro schmalem Strich abgetastet. Um eine glattere Kurve zu erhalten, wird das Signal viermal hintereinander abgetastet. Einfach ausgedrückt: Anstatt die Datenpunkte durch Geraden zu verbinden, werden zusätzliche Datenpunkte zwischen die aktuellen Datenpunkte eingefügt, um eine glattere Kurve zu erhalten.
  • Nach dem Interpolieren jeder der Abtastlinien in Schritt 90 wird die erste Abtastlinie einer gegebenen Zelle kreuzkorreliert mit den aufeinanderfolgenden benachbarten interpolierten Abtastliniendaten, wie im Schritt 92 angegeben ist. Die Kreuzkorrelation liefert ein Maß für die Ähnlichkeit oder Übereinstimmung zwischen zwei Kurven. Methoden zum Kreuzkorrelieren zweier Signale sind dem Fachmann bekannt, eine Diskussion der Kreuzkorrelation findet sich in "DIGITAL PROCESSING OF SPEECH SIGNALS" von Rabiner und Schafer, veröffentlicht 1978 von Prentice-Hall, Englewood Cliffs, NJ 07632.
  • Aufeinanderfolgende Kreuzkorrelation zwischen benachbarten, interpolierten Abtastliniendaten stellt ein Mittel dar, um die Feinorientierung des Strichcode-Symbols im Schritt 92 zu ermitteln. Die nachgewiesene Feinorientierung des Strichcodes wird abgeleitet von der Differenz zwischen den mittleren Spitzen aufeinanderfolgender Kreuzkorrelationen zwischen benachbarten interpolierten Abtastlinien. Die Position der Spitze der Kreuzkorrelationsfunktion von zwei Abtastlinien repräsentiert den Betrag, um den die Daten einer Abtastlinie verschoben werden müssen, damit die beste Fluchtung mit den Daten der anderen Abtastlinie erreicht wird. Die Berechnung des tatsächlichen Winkels der Striche wird unten in Verbindung mit den Figuren 9A bis 9C erläutert.
  • Nachdem die Feinorientierung des Strichcodes bekannt ist, werden die Daten jeder interpolierten Abtastzeile in Ausrichtung geschoben, Schritt 94. Nachdem die Daten der interpolierten Abtastlinie in Ausrichtung gebracht sind, wird der Mittelwert sämtlicher Abtastlinien berechnet. An dieser Stelle läßt sich das Strichcode-Symbol im Schritt 94 zu einer Teil- Strichcode-Abtastung decodieren.
  • Die Teil-Strichcode-Abtastung wird im Schritt 94 abgespeichert, und es wird im Schritt 96 die nächste abgespeicherte interessierende Zone ermittelt. Das heißt: Es wird der nächste interessante Bereich, der wahrscheinlich ein Strichcode-Bild enthält, aus dem DRAM in den SRAM transferiert, Schritt 68. Der Prozeß der Interpolation und der Kreuzkorrelation wird solange wiederholt, bis eine weitere Teil- Strichcode-Abtastung gespeichert ist, die ein benachbartes Bild von Interesse darstellt.
  • Nachdem sämtliche gespeicherten Zonen, welche Strichcode-Aktivität enthalten, abgetastet sind, werden die teilweisen Abtastungen aneinandergereiht oder verbunden, um eine vollständige Abtastung zu ergeben, Schritt 98. Schließlich wird im Schritt 98 die Ausgabe- Abtastung an einen Decoder gegeben, der in dem Fachmann geläufiger Weise dazu dient, die komplette aneinandergereihte Strichcode-Abtastung in eine Sequenz alphanumerischer Zeichen umzusetzen, die den Inhalt des Strichcodes repräsentieren.
  • Figuren 8A bis 8G und Figuren 9A bis 9C veranschaulichen den Prozeß des Nachweises der Feinorientierung, des Filterns und des Abtastens eines Strichcodes, der in einer gegebenen Zelle aufgespürt wurde. Insbesondere veranschaulicht Fig. 8A eine vertikale Zelle 52, bestehend aus acht Abtastlinien, die einem Abschnitt eines Strichcode-Etiketts 58 überlagert sind. Das mangelhafte Erscheinungsbild oder die Fleckigkeit der Striche spiegelt tatsächlich den Zustand zahlreicher gedruckter Strichcode-Etiketten wieder, die in der Praxis angetroffen werden.
  • Figur 8B zeigt die 32 Pixel der ersten Abtastlinie der Zelle 32, die durch gerade Linien verbunden sind. Fig. 8C zeigt die gleichen 32 Datenpunkte nach der Interpolation oder dem viermal wiederholten Abtasten. Fig. 8D zeigt eine abgetastete Abtastlinie und eine weitere hochtastete Abtastlinie, die vier Abtastlinien entfernt ist. Es ist ersichtlich, daß zwischen den zwei Wellenformen ein Versatz existiert. Dieser Versatz ist bezeichnend für den Orientierungs-Versatz der Striche.
  • Obschon der Versatz in Fig. 8D sichtbar in Erscheinung tritt, muß man den Betrag des Versatzes berechnen, das heißt den tatsächlichen Orientierungswinkel der Striche. Die Kreuzkorrelationsfunktion eignet sich für diesen Zweck gut.
  • Figuren 9A bis 9C veranschaulichen den Prozeß der Bestimmung der Feinorientierung des Strichcode-Symbols. Fig. 9A zeigt die Kreuzkorrelationsfunktion der ersten und der zweiten Abtastlinie des abgetasteten Signals. Man beachte, daß die Spitze einer Verzögerung von etwa minus eins entspricht. Dies bedeutet, daß über eine Strecke von einer Abtastlinie zur nächsten die Wellenform um ein gerastertes Pixel oder ein Viertel eines ursprünglichen Pixels verschoben wird. Dies liefert eine Strichcode-Schräge von einem Viertel oder 0,25, was gut zu der gemessenen Schräge von etwa 14º paßt, da der arctangens von 0,25 dem Winkelwert von 14,036º entspricht.
  • Figur 9B zeigt eine Familie von Kreuzkorrelationskurven. Jede Kurve ist das Ergebnis der Kreuzkorrelation der ersten Abtastlinie mit der sukkzessive weiter entfernten Abtastlinie. Man beachte, daß die Spitzen sehr gleichmäßig für jede Kurve um einen Schritt weiterrücken. Durch Interpolation ist es möglich, die Position einer Spitze in der Kreuzkorrelation herauszufinden, um eine Teilpixel-Genauigkeit zu erhalten. Fig. 9C ist eine graphische Darstellung der Kreuzkorrelationsfunktion für jede Abtastlinie im Vergleich zu der ersten Abtastlinie eines gegebenen interessierenden Bereichs. Man beachte, daß die berechneten Spitzenwerte nahezu exakt auf einer Geraden liegen, deren Steigung den Feinorientierungswinkel des Strichcode-Symbols darstellt. Im allgemeinen liegen nicht sämtliche Spitzenwerte auf einer Geraden, in welchem Fall die mittlere Steigung hergenommen wird, die dann die Feinorientierung des Strichcode-Symbols darstellt.
  • Nachdem die Feinorientierung der Striche bekannt ist, werden sämtliche interpolierten Abtastliniendaten in Ausrichtung verschoben, wie dies in Fig. 8E gezeigt ist, und es wird gemäß Fig. 8F der Mittelwert gebildet. Die Bildung des Mittelwerts entsprechender Abtastpunkte aus den verschobenen Linien der interpolierten Abtastliniendaten stellt ein einfaches Verfahren zur Strichcode-Filterung dar. Die Mittelwertbildung filtert effektiv senkrecht zur Orientierung des Strichcodes. Alternativ könnte der Mittelwert jedes Datenpunkts verwendet werden, um den Einfluß hin und wieder fehlender Stücke des Strichcode-Etiketts zu reduzieren. Das heißt: Ein weißer Fleck oder ein schwarzer Strich beeinflußt den mittleren Datenwert weniger als den durchschnittlichen Datenwert. Eine weitere Möglichkeit besteht darin, einen gewichteten Durchschnittswert basierend auf Kreuzkorrelations-Bewertungen herzunehmen, um schlecht korrelierte Abtastliniendaten besser zurückzuweisen. In letzterem Fall wurden solche interpolierten Abtastlinien, die gut miteinander korrelieren, im Durchschnitt stärker zählen, wohingegen solche interpolierten Abtastlinien, die schwach kreuzkorrelieren, mit entsprechend geringerem Gewicht in den Durchschnittswert eingingen.
  • Der Begriff des "Verschiebens" von Abtastliniendaten bedeutet hier sowohl ein tatsächliches Verschieben der Abtastliniendaten innerhalb des Bildspeichers als auch eine virtuelle Verschiebung der Abtastliniendaten durch Verwendung eines Verschiebungsvektors, der auf die Lage der sequentiellen, aus dem Speicher herausgeholten Werte addiert wird.
  • Anzumerken ist, daß die Strichcode-Feinorientierung durch lediglich Kreuzkorrelation ausgewählter Paare von Abtastliniendaten erzielbar ist, ohne daß eine Interpolation der Abtastliniendaten erfolgt, falls es ausreichend viele Datenpunkte oder Pixel pro schmalem Strich gibt. Ansonsten dient die Interpolation zum Generieren zusätzlicher Datenpunkte, damit die Kreuzkorrelation sinnvoll wird. Schließlich können dadurch, daß Abtastlinien in Ausrichtung verschoben werden, sämtliche aufeinanderfolgenden Abtastliniendaten zu einer einzelnen Referenzlinie korreliert werden, alternativ können aufeinanderfolgende Abtastliniendaten in Linienpaaren korreliert werden, ohne Bezugnahme auf eine einzelne Abtastlinie.
  • Die zusammengesetzte Wellenform nach Fig. 8F wird dann umgewandelt in eine Binär-Wellenform, wie sie in Fig. 8G gezeigt ist, wozu der Gesamt-Signaldurchschnittswert als binärer Schwellenwert benutzt wird. Der Null-Pegel der Wellenform in Fig. 8G entspricht dem Schwarzpegel des Strichcodes in Fig. 8A, während der Eins-Pegel dem Weißpegel entspricht.
  • Somit wurde eine Teilabtastung des in Fig. 8A dargestellten Strichcodes entsprechend der Zelle 52 ausgeführt. Fig. 10 zeigt, wie aufeinanderfolgende Teilabtastungen 100, 102 und 104 zur Bildung einer vollständigen Abtastung des Strichcodes 58 aneinandergereiht werden können. Die Teilabtastungen überlappen einander, so daß keine Strichcode-Daten verloren gehen. Die aufeinanderfolgenden Teilabtastungen werden in Schritten entlang eines Winkels genommen, welcher der gemessenen Feinorientierung der Striche entspricht. Das heißt: Da die Feinorientierung der Striche 14º beträgt, wird eine Treppe von Feinabtastungen entlang einem gegenüber der Vertikalen um 14º versetzten Winkel konstruiert, um Teilabtastungen aufzunehmen, die zu einer vollständigen Abtastung des Strichcode-Etiketts aneinandergereiht werden können.
  • Offenbart wurde also ein Strichcode-Leser, der in der Lage ist, ein Strichcode-Symbol zu lesen, welches sich in beliebiger Richtung irgendwo in dem Gesichtsfeld eines Bildbereichs befindet. Obschon die offenbarte Ausführungsform die Verwendung eines flächigen Bildaufnahmeelements vorschlägt, sieht man, daß auch ein lineares Bildaufnahmeelement eingesetzt werden kann, zum Beispiel in Verbindung mit einem sich bewegenden Förderband.

Claims (12)

1. Strichcodeleser umfassend:
eine Optik (26) zum Bilden eines zweidimensionalen Bildes, wobei das zweidimensionale Bild das Bild eines Strichcodes (Fig. 3A) irgendwo innerhalb des Gesichtsfeldes des zweidimensionalen Bildes enthält, eine Speicheranordnung (32, 42) zum Speichern des zweidimensionalen Bildes, und eine Prozessoranordnung (34, 38) zum Decodieren des Strichcode-Bildes,
dadurch gekennzeichnet,
daß die Speicheranordnung aufweist:
einen ersten Speicher (32) zum Speichern des zweidimensionalen Bildes; und
einen zweiten Speicher (42) zum Speichern eines Abschnitts des zweidimensionalen Bildes, welches in dem ersten Speicher abgespeichert ist;
und die Prozessoranordnung aufweist:
eine Steuerungseinrichtung (34) innerhalb der Prozessoranordnung, die mit dem ersten Speicher gekoppelt ist, um einen Bereich innerhalb des gespeicherten zweidimensionalen Bildes aufzuspüren, der wahrscheinlich ein Strichcode-Bild enthält, wobei die Steuerungseinrichtung (34) eine Einrichtung enthält, um zumindest einen Abschnitt des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes aus dem ersten Speicher (32) in den zweiten Speicher (42) zu transferieren, und einen digitalen Signalprozessor (38), der an den zweiten Speicher gekoppelt ist, um den transferierten Abschnitt des aufgespürten Bereichs in dem zweiten Speicher (42) in sämtliche Richtungen berücksichtigender Weise abzutasten und dadurch Information auszulesen, die in dem Abschnitt des aufgespürten Bereichs enthalten ist, der dem transferierten Abschnitt des zweidimensionalen Bildes des Strichcodes entspricht.
2. Strichcodeleser nach Anspruch 1, bei dem der digitale Signalprozessor (38), der mit dem zweiten Speicher (42) gekoppelt ist, um den transferierten Abschnitt des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes in dem zweiten Speicher (42) abzutasten, aufweist:
eine Einrichtung zum Untersuchen des in dem zweiten Speicher (42) gespeicherten Bildes, um die Orientierung des aufgespürten und transferierten Abschnitts des zweidimensionalen Bildes des Strichcode-Symbols zu ermitteln.
3. Strichcodeleser nach Anspruch 2, bei dem der digitale Signalprozessor (38), der mit dem zweiten Speicher (42) gekoppelt ist, um den transferierten Abschnitt des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes in dem zweiten Speicher abzutasten, außerdem aufweist:
eine Einrichtung zum Filtern des in dem zweiten Speicher (42) abgespeicherten Bildes entlang einer Achse, die etwa senkrecht steht auf der nachgewiesenen Orientierung des aufgespürten und transferierten Abschnitts des zweidimensionalen Bildes des Strichcode- Symbols.
4. Strichcodeleser nach Anspruch 2, bei dem der digitale Signalprozessor (38), der mit dem zweiten Speicher (42) gekoppelt ist, um den transferierten Abschnitt des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes in dem zweiten Speicher abzutasten, aufweist:
eine Einrichtung, die aus dem in dem zweiten Speicher (42) gespeicherten Bild benachbarte Werte herausholt, die aus dem gespeicherten Bild entlang einem Winkel abgeleitet sind, der im wesentlichen der nachgewiesenen Orientierung des aufgespürten und transferierten Abschnitts des zweidimensionalen Bildes des Strichcode-Symbols entspricht.
5. Strichcodeleser nach einem der vorhergehenden Ansprüche, bei dem die Steuerungseinrichtung (34) auf den digitalen Signalprozessor (34) anspricht, um einen Bereich innerhalb des Gesichtsfeldes des gespeicherten zweidimensionalen Bildes aufzuspüren, welcher wahrscheinlich ein Strichcode-Bild beinhaltet.
6. Strichcodeleser nach einem der vorhergehenden Ansprüche, bei dem die Steuerungseinrichtung (34) auf den digitalen Signalprozessor (38) anspricht, indem sie zumindest einen Abschnitt des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes aus dem ersten Speicher (32) in den zweiten Speicher (42) transferiert.
7. Strichcodeleser nach einem der vorhergehenden Ansprüche, bei dem der erste Speicher (32) ein DRAM ist.
8. Strichcodeleser nach einem der vorhergehenden Ansprüche, bei dem der zweite Speicher ein SRAM ist.
9. Verfahren zum Lesen eines Strichcodes, umfassend: Erzeugen eines zweidimensionalen Bildes, welches das Abbild des Strichcodes irgendwo innerhalb des Gesichtsfeldes des zweidimensionalen Bildes enthält, Abspeichern des zweidimensionalen Bildes in einer Speicheranordnung, und Verarbeiten des gespeicherten ersten zweidimensionalen Bildes, um das Strichcode-Bild zu dekodieren, dadurch gekennzeichnet, daß:
das Speichern und Verarbeiten des zweidimensionalen Bildes folgende Schritte beinhaltet:
Speichern des zweidimensionalen Bildes in einem ersten Speicher (32) der Speicheranordnung;
Aufspüren eines Bereichs innerhalb des Gesichtsfeldes des gespeicherten zweidimensionalen Bildes, welcher wahrscheinlich ein Strichcode-Bild enthält;
Transferieren zumindest eines Abschnitts des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes aus dem ersten Speicher (32) in einen zweiten Speicher (42) der Speicheranordnung und
Abtasten des transferierten Abschnitts des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes im zweiten Speicher (42) in einer sämtliche Richtungen berücksichtigenden Weise, um in dem Abschnitt des aufgespürten Bereichs enthaltene Information auszulesen, die dem transferierten Abschnitt des zweidimensionalen Bildes des Strichcodes entspricht.
10. Verfahren zum Lesen eines Strichcodes nach Anspruch 9, bei dem der Schritt des Abtastens des transferierten Abschnitts des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes in dem zweiten Speicher in einer sämtliche Richtungen berücksichtigenden Weise beinhaltet:
Untersuchen des in dem zweiten Speicher (42) gespeicherten Bildes, um die Orientierung des aufgespürten und transferierten Abschnitts des zweidimensionalen Bildes des Strichcode-Symbols zu ermitteln.
11. Verfahren zum Lesen eines Strichcodes nach Anspruch 10, bei dem der Schritt des Abtastens des transferierten Abschnitts des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes in dem zweiten Speicher (42) in einer sämtliche Richtungen berücksichtigenden Weise weiter beinhaltet:
Filtern des in dem zweiten Speicher (42) gespeicherten Bildes entlang einer Achse, die etwa senkrecht auf der ermittelten Orientierung des aufgespürten und transferierten Abschnitts des zweidimensionalen Bildes des Strichcodes steht.
12. Verfahren zum Lesen eines Strichcodes nach Anspruch 10, bei dem der Schritt des Abtastens des transferierten Abschnitts des aufgespürten Bereichs des gespeicherten zweidimensionalen Bildes in dem zweiten Speicher (42) in einer sämtliche Richtungen berücksichtigenden Weise weiter beinhaltet:
aus dem in dem zweiten Speicher (42) gespeicherten Bild werden benachbarte Werte extrahiert, die von dem gespeicherten Bild entlang einem Winkel abgeleitet werden, der etwa der ermittelten Orientierung des aufgespürten und transferierten Abschnitts des zweidimensionalen Bildes des Strichcodes entspricht.
DE69126231T 1990-03-28 1991-03-28 Leser für Strichkodierungen Expired - Lifetime DE69126231T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US50241190A 1990-03-28 1990-03-28

Publications (2)

Publication Number Publication Date
DE69126231D1 DE69126231D1 (de) 1997-07-03
DE69126231T2 true DE69126231T2 (de) 1997-09-11

Family

ID=23997699

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69126231T Expired - Lifetime DE69126231T2 (de) 1990-03-28 1991-03-28 Leser für Strichkodierungen

Country Status (4)

Country Link
US (1) US5512739A (de)
EP (1) EP0450878B1 (de)
JP (1) JP2957727B2 (de)
DE (1) DE69126231T2 (de)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5979768A (en) * 1988-01-14 1999-11-09 Intermec I.P. Corp. Enhanced bar code resolution through relative movement of sensor and object
US6688523B1 (en) 1988-08-31 2004-02-10 Intermec Ip Corp. System for reading optical indicia
US6681994B1 (en) 1988-08-31 2004-01-27 Intermec Ip Corp. Method and apparatus for optically reading information
US6889903B1 (en) 1988-08-31 2005-05-10 Intermec Ip Corp. Method and apparatus for optically reading information
US5478997A (en) * 1988-10-21 1995-12-26 Symbol Technologies, Inc. Symbol scanning system and method having adaptive pattern generation
US5487115A (en) * 1992-05-14 1996-01-23 United Parcel Service Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images
US5276315A (en) * 1992-05-14 1994-01-04 United Parcel Service Of America, Inc. Method and apparatus for processing low resolution images of degraded bar code symbols
US5438636A (en) * 1992-05-14 1995-08-01 United Parcel Service Of America, Inc. Apparatus for simultaneously convolving multiple digital binary images using a single convolver with a binary mask to determine pixel densities
US5748804A (en) * 1992-05-14 1998-05-05 United Parcel Service Of America, Inc. Method and apparatus for processing images with symbols with dense edges
US5343028A (en) * 1992-08-10 1994-08-30 United Parcel Service Of America, Inc. Method and apparatus for detecting and decoding bar code symbols using two-dimensional digital pixel images
US5418862A (en) * 1992-08-10 1995-05-23 United Parcel Service Of America Method and apparatus for detecting artifact corners in two-dimensional images
US5329105A (en) * 1992-08-10 1994-07-12 United Parcel Service Of America, Inc. Method and apparatus for determining the width of elements of bar code symbols
JPH07114630A (ja) * 1993-10-19 1995-05-02 Matsushita Electric Ind Co Ltd イメージ処理機能付小型情報端末装置
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
US5825006A (en) * 1994-03-04 1998-10-20 Welch Allyn, Inc. Optical reader having improved autodiscrimination features
US5598007A (en) * 1994-03-21 1997-01-28 Intermec Corporation Symbology reader with fixed focus spotter beam
US5550364A (en) * 1994-03-21 1996-08-27 Intermec Corporation Method and apparatus for spotter beam formation using a partitioned optical element
US5504367A (en) * 1994-03-21 1996-04-02 Intermec Corporation Symbology reader illumination system
US5541419A (en) * 1994-03-21 1996-07-30 Intermec Corporation Symbology reader wth reduced specular reflection
US5438188A (en) * 1994-04-01 1995-08-01 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code images using information from previous scan lines
US5412196A (en) * 1994-04-01 1995-05-02 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code images using multi-order feature vectors
AU1981195A (en) * 1994-09-22 1996-04-09 United Parcel Service Of America, Inc. Method and apparatus for detecting and adaptively decoding bar code symbols in continuous images
US5553084A (en) * 1995-01-06 1996-09-03 Intermec Corporation Error correction enhancement for code one and other machine-readable symbologies
US5862267A (en) * 1995-12-11 1999-01-19 Intermec Ip Corp. Method and apparatus for locating data regions in stored images of symbols
US5835984A (en) * 1996-01-25 1998-11-10 Symbol Technologies, Inc. Optical scanner employing smart pixel array
US5811776A (en) * 1996-02-26 1998-09-22 Intermec Corporation Method and apparatus for accurately locating data regions in stored images of symbols
US5698833A (en) * 1996-04-15 1997-12-16 United Parcel Service Of America, Inc. Omnidirectional barcode locator
US20040004128A1 (en) * 1996-09-03 2004-01-08 Hand Held Products, Inc. Optical reader system comprising digital conversion circuit
US5854478A (en) * 1996-10-11 1998-12-29 Intermec Ip Corp. Method and apparatus for reading machine-readable symbols having surface or optical distortions
CA2288758C (en) * 1997-05-05 2007-07-17 Alexander R. Roustaei Optical scanner and image reader for reading images and decoding optical information including one and two dimensional symbologies at variable depth of field
US6000612A (en) * 1997-10-10 1999-12-14 Metanetics Corporation Portable data collection device having optical character recognition
US6446868B1 (en) 1998-11-23 2002-09-10 Informatics, Inc. Scanning system for decoding two-dimensional barcode symbologies with a one-dimensional general purpose scanner
JP2000222517A (ja) * 1998-11-27 2000-08-11 Denso Corp 2次元コ―ド読取方法、2次元コ―ド読取装置及び記録媒体
ATE335246T1 (de) * 2001-01-22 2006-08-15 Hand Held Prod Inc Optischer leser mit teilbild-ausschnitt-funktion
US7268924B2 (en) * 2001-01-22 2007-09-11 Hand Held Products, Inc. Optical reader having reduced parameter determination delay
US7270273B2 (en) 2001-01-22 2007-09-18 Hand Held Products, Inc. Optical reader having partial frame operating mode
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
US7107009B2 (en) * 2002-06-26 2006-09-12 Nokia Corporation Method, system and computer program product for personalizing the functionality of a personal communication device
US20040010446A1 (en) * 2002-07-08 2004-01-15 Marko Vanska Mobile customer relationship management
US7274909B2 (en) * 2002-10-31 2007-09-25 Nokia Corporation Method and system for selecting data items for service requests
US7072672B1 (en) * 2002-11-01 2006-07-04 Nokia Corporation Disposable mini-applications
US20040093274A1 (en) * 2002-11-08 2004-05-13 Marko Vanska Method and apparatus for making daily shopping easier
US7121469B2 (en) * 2002-11-26 2006-10-17 International Business Machines Corporation System and method for selective processing of digital images
US7181066B1 (en) * 2002-12-26 2007-02-20 Cognex Technology And Investment Corporation Method for locating bar codes and symbols in an image
US7637430B2 (en) * 2003-05-12 2009-12-29 Hand Held Products, Inc. Picture taking optical reader
US20070241195A1 (en) * 2006-04-18 2007-10-18 Hand Held Products, Inc. Optical reading device with programmable LED control
US7108187B2 (en) * 2003-11-10 2006-09-19 Ncr Corporation Method of reading a plurality of bar codes during a scanning motion
US7364081B2 (en) * 2003-12-02 2008-04-29 Hand Held Products, Inc. Method and apparatus for reading under sampled bar code symbols
US7407107B2 (en) * 2003-12-08 2008-08-05 Nokia Corporation Apparatus, system, method and computer program product for creating shortcuts to functions in a personal communication device
US7304585B2 (en) * 2004-07-02 2007-12-04 Nokia Corporation Initiation of actions with compressed action language representations
US7309011B2 (en) * 2004-10-29 2007-12-18 Symbol Technologies, Inc. Method of authenticating products using hardware compatibility flag
US8430300B2 (en) * 2005-05-26 2013-04-30 Codebroker, Llc Using validity events to control the use of coupons containing barcodes in mobile devices that display the barcodes for reading by barcode readers
US8146812B2 (en) * 2005-11-01 2012-04-03 Hewlett-Packard Development Company, L.P. Imaging method and system for tracking devices
US20100171826A1 (en) * 2006-04-12 2010-07-08 Store Eyes, Inc. Method for measuring retail display and compliance
US8736615B2 (en) 2006-04-27 2014-05-27 Codebroker, Llc Customizing barcode images for particular displays
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US8172144B2 (en) * 2007-05-14 2012-05-08 Konica Minolta Business Technologies, Inc. Media storing code detecting program, code detecting method, and image forming apparatus
US8746581B2 (en) 2007-06-19 2014-06-10 Codebroker, Llc Techniques for providing an electronic representation of a card
JP5119853B2 (ja) * 2007-10-19 2013-01-16 株式会社デンソーウェーブ 光学的情報読取装置
JP5140820B2 (ja) * 2008-03-31 2013-02-13 日本電産サンキョー株式会社 シンボル情報読取装置及びシンボル情報読取方法
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US8587595B2 (en) * 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
US8542930B1 (en) 2010-12-30 2013-09-24 Cognex Corporation Mark reader configured to prioritize images
US9104935B1 (en) 2010-12-30 2015-08-11 Cognex Corporation Mark reader configured to prioritize images
JP2012247320A (ja) * 2011-05-27 2012-12-13 Furuno Electric Co Ltd 映像表示装置及びレーダ装置
US8740081B2 (en) 2011-11-03 2014-06-03 Cognex Corporation Method and apparatus for ordering code candidates in image for decoding attempts
US10275624B2 (en) * 2013-10-29 2019-04-30 Hand Held Products, Inc. Hybrid system and method for reading indicia
US10176452B2 (en) 2014-06-13 2019-01-08 Conduent Business Services Llc Store shelf imaging system and method
US9659204B2 (en) 2014-06-13 2017-05-23 Conduent Business Services, Llc Image processing methods and systems for barcode and/or product label recognition
US10453046B2 (en) 2014-06-13 2019-10-22 Conduent Business Services, Llc Store shelf imaging system
US9542746B2 (en) 2014-06-13 2017-01-10 Xerox Corporation Method and system for spatial characterization of an imaging system
US9652653B2 (en) * 2014-12-27 2017-05-16 Hand Held Products, Inc. Acceleration-based motion tolerance and predictive coding
US9892301B1 (en) 2015-03-05 2018-02-13 Digimarc Corporation Localization of machine-readable indicia in digital capture systems
JP6434354B2 (ja) * 2015-03-31 2018-12-05 日本電産サンキョー株式会社 シンボル情報読取装置およびシンボル情報読取方法
US9928438B2 (en) 2016-03-10 2018-03-27 Conduent Business Services, Llc High accuracy localization system and method for retail store profiling via product image recognition and its corresponding dimension database
US10002344B2 (en) 2016-10-17 2018-06-19 Conduent Business Services, Llc System and method for retail store promotional price tag detection
US10019803B2 (en) 2016-10-17 2018-07-10 Conduent Business Services, Llc Store shelf imaging system and method using a vertical LIDAR
US10210603B2 (en) 2016-10-17 2019-02-19 Conduent Business Services Llc Store shelf imaging system and method
US10289990B2 (en) 2016-10-17 2019-05-14 Conduent Business Services, Llc Store shelf imaging system and method
US11151341B2 (en) * 2019-10-08 2021-10-19 Zebra Technologies Corporation Method and device for determining object orientation

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3801775A (en) * 1972-08-07 1974-04-02 Scanner Method and apparatus for identifying objects
FR2341900A1 (fr) * 1976-02-20 1977-09-16 Mitsubishi Electric Corp Systeme de lecture d'informations
US4282425A (en) * 1979-07-25 1981-08-04 Norand Corporation Instant portable bar code reader
DE3067771D1 (en) * 1979-10-23 1984-06-14 Scantron Gmbh Method and device for the identification of objects
US4394683A (en) * 1980-06-26 1983-07-19 Diffracto Ltd. New photodetector array based optical measurement systems
DE3203897A1 (de) * 1981-11-07 1983-05-19 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Vorrichtung zur erkennung und verarbeitung von zeichen und/oder vorgegebenen optischen details
US4766300A (en) * 1984-08-06 1988-08-23 Norand Corporation Instant portable bar code reader
US4570057A (en) * 1981-12-28 1986-02-11 Norand Corporation Instant portable bar code reader
DE3204021A1 (de) * 1982-02-05 1983-08-18 Gebhardt Fördertechnik GmbH, 6920 Sinsheim Verteileranlage fuer bewegte stueckgueter
US4613942A (en) * 1982-02-19 1986-09-23 Chen Richard M Orientation and control system for robots
US4488679A (en) * 1982-11-01 1984-12-18 Western Publishing Company, Inc. Code and reading system
US4500776A (en) * 1982-11-08 1985-02-19 Vadim Laser Method and apparatus for remotely reading and decoding bar codes
DE3507569A1 (de) * 1985-03-04 1986-09-04 Erhardt & Leimer GmbH, 8900 Augsburg Vorrichtung zur erfassung von kennzeichnungen auf sich bewegenden kennzeichnungstraegern
JPS61229171A (ja) * 1985-04-04 1986-10-13 Bridgestone Corp タイヤ情報読取方法および装置
NL8501460A (nl) * 1985-05-22 1986-12-16 Philips Nv Werkwijze voor het identificeren van voorwerpen die voorzien zijn van een kodeveld met stipkode, inrichting voor het identificeren van zo een stipkode, en produkt voorzien van zo een stipkode.
US4822986A (en) * 1987-04-17 1989-04-18 Recognition Equipment Incorporated Method of detecting and reading postal bar codes
US4772956A (en) * 1987-06-02 1988-09-20 Eastman Kodak Company Dual block still video compander processor
US4924078A (en) * 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
US4874936A (en) * 1988-04-08 1989-10-17 United Parcel Service Of America, Inc. Hexagonal, information encoding article, process and system
US4896029A (en) * 1988-04-08 1990-01-23 United Parcel Service Of America, Inc. Polygonal information encoding article, process and system
US4855581A (en) * 1988-06-17 1989-08-08 Microscan Systems Incorporated Decoding of barcodes by preprocessing scan data
US4988852A (en) * 1988-07-05 1991-01-29 Teknekron Transportation Systems, Inc. Bar code reader
DE68914528T2 (de) * 1988-07-13 1994-11-10 Matsushita Electric Ind Co Ltd Bildsignalverarbeitungsvorrichtung für Strichkodebildsignale.
US4873426A (en) * 1988-08-03 1989-10-10 Image Business Systems Corporation Technique for reading bar codes
US4958064A (en) * 1989-01-30 1990-09-18 Image Recognition Equipment Corporation Bar code locator for video scanner/reader system
US5120940A (en) * 1990-08-10 1992-06-09 The Boeing Company Detection of barcodes in binary images with arbitrary orientation

Also Published As

Publication number Publication date
EP0450878A1 (de) 1991-10-09
JPH04225488A (ja) 1992-08-14
US5512739A (en) 1996-04-30
JP2957727B2 (ja) 1999-10-06
EP0450878B1 (de) 1997-05-28
DE69126231D1 (de) 1997-07-03

Similar Documents

Publication Publication Date Title
DE69126231T2 (de) Leser für Strichkodierungen
DE69126811T2 (de) Streifenkodeleser für alle Richtungen
DE69629930T2 (de) Verfahren zum Festlegen eines auf einem Objekt angebrachten optischen Codes
DE69834053T2 (de) Ccd-basierter bar-kode-scanner
DE3854885T2 (de) Kombinieren von gelesenen Strichcode-Daten
DE69930536T2 (de) Schräglage-verarbeitung für raster-abtast-bilder
DE68914528T2 (de) Bildsignalverarbeitungsvorrichtung für Strichkodebildsignale.
DE69633908T2 (de) Anti-handzitter datenformatleser und verfahren
DE10036110B4 (de) Verfahren zur Bestimmung des Schrägwinkels eines zweidimensionalen Barcodes
DE3879254T2 (de) Unterscheidungsvorrichtung für handgeschriebene und maschinengedruckte Buchstaben.
EP3663963B1 (de) Lesen von optischen codes
DE60300476T2 (de) System zum Erkennen eines Barcodes
EP2555160B1 (de) Erzeugung eines in interessante und uninteressante Bereiche vorsegmentierten Bildes
WO2010115464A1 (de) Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
DE3783974T2 (de) Optischer buchstabenleser.
DE102013112040B4 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
EP3789906B1 (de) Bestimmen der modulgrösse eines optischen codes
DE19734031A1 (de) Verfahren und Vorrichtung zum Lesen eines aus einer vorgegebenen Anzahl von Codeelementen bestehenden Strichcodes
DE2829808A1 (de) Verfahren und vorrichtung zum lesen von zeichen
DE19705747A1 (de) Verfahren und Vorrichtung zur Ermittlung und Decodierung von maschinenlesbaren Symbolen
EP1306690A2 (de) Verfahren zur Erkennung und Verfolgung von Objekten
EP1419402B1 (de) Verfahren zur erkennung und verfolgung von objekten
DE69027698T2 (de) Verfahren zur Einschätzung einer Fahrbahn
DE2749222A1 (de) Verfahren und vorrichtung zum automatischen erkennen oder lesen von zeichen
DE60303003T2 (de) Verfahren und System zur Verifikation von Übergängen zwischen kontrastierenden Elementen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition