DE60225329T2 - Vorrichtung und verfahren zur erkennung von code - Google Patents

Vorrichtung und verfahren zur erkennung von code Download PDF

Info

Publication number
DE60225329T2
DE60225329T2 DE60225329T DE60225329T DE60225329T2 DE 60225329 T2 DE60225329 T2 DE 60225329T2 DE 60225329 T DE60225329 T DE 60225329T DE 60225329 T DE60225329 T DE 60225329T DE 60225329 T2 DE60225329 T2 DE 60225329T2
Authority
DE
Germany
Prior art keywords
image
code
color
colors
area
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
DE60225329T
Other languages
English (en)
Other versions
DE60225329D1 (de
Inventor
Cheol-Ho Cheong
Nam-Kyu Goyang-city LEE
Tack-Don Yangcheon-gu HAN
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.)
Colorzip Media Inc
Original Assignee
Colorzip Media 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 Colorzip Media Inc filed Critical Colorzip Media Inc
Application granted granted Critical
Publication of DE60225329D1 publication Critical patent/DE60225329D1/de
Publication of DE60225329T2 publication Critical patent/DE60225329T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Communication Control (AREA)
  • Character Input (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Vorrichtung zum Erkennen eines Codebilds, das physikalisch oder elektronisch ausgedrückt ist, und zum Extrahieren von in dem Codebild dargestellten Informationen sowie ein Verfahren dafür.
  • Stand der Technik
  • Bei einem Verfahren zum Darstellen erkennbarer Daten in der Art von Zeichen, Zahlen oder Symbolen gibt es einen Fall, in dem Zeichen, Zahlen oder Symbole unter Berücksichtigung der Sicherheit von Daten oder eines Anzeigeplatzes als Bilder dargestellt werden. Ebenso muss zum Lesen von Originaldaten aus einem Codebild, in dem Daten als ein Bild dargestellt sind, ein geeigneter Decodierer bereitgestellt werden.
  • Es ist aus US 5 352 878 A bekannt, einen Strichcodeleser bereitzustellen, der ein Strichcodesymbol ein Zeichen zur Zeit decodiert, indem er die Zwischenräume der jeweiligen Zeichen, unabhängig von den Balken der jeweiligen Zeichen, analysiert. Der Leser bestimmt die Breiten jedes Zwischenraums und jedes Balkens und bestimmt unabhängig Breitenschwellenwerte. Der Leser decodiert dann das Zeichen entsprechend diesen Schmal/Breit-Klassifikationen.
  • Es ist aus EP 0582911 A bekannt, ein Verfahren und eine Vorrichtung zum Erkennen und Decodieren von Strichcodesymbolen bereitzustellen, die in zweidimensionalen Graustufenpixelbildern zufällig angeordnet sind.
  • Offenbarung der Erfindung
  • Zum Lösen des Problems besteht eine Aufgabe der vorliegenden Erfindung darin, eine Vorrichtung zum Erkennen eines Codes, die in der Lage ist, ursprüngliche Daten aus einem Codebild, in dem Daten als Farbe oder Schattierung ausgedrückt sind, zu lesen, und ein Verfahren dafür bereitzustellen.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist eine Vorrichtung zum Erkennen eines Codes vorgesehen, welche aufweist:
    einen Codefestlegungsabschnitt zum Aufstellen einer Beziehung zwischen dem Zeichen, der Zahl oder dem Symbol und der entsprechenden Farbe oder Schattierung,
    einen Bilderfassungsabschnitt zum Erfassen eines Rohbilds, in dem ein Codebild enthalten ist,
    gekennzeichnet durch:
    einen Bildverarbeitungsabschnitt zum Unterscheiden eines Bereichs des Codebilds von anderen Bereichen, zum Extrahieren einer Mehrzahl von Zellen, die in dem Codebildbereich enthalten sind, und zum Erkennen der Standardfarbe oder Standardschattierung, die in jeder der Zellen repräsentiert ist, und zum Korrigieren von Farben oder Farbtönen, die in Bezug auf jede der Zellen, die in dem Codebildbereich enthalten sind, erkannt sind, unter Verwendung ei ner Umgebungsvariable, die unter Berücksichtigung einer Umgebung, in der das Rohbild eingegeben wird, festgelegt ist, um Farben oder Schattierungen des Rohbilds zu unterscheiden, und
    einen Codekonvertierungsabschnitt zum Konvertieren der korrigierten Farben oder Schattierungen in eine Mehrzahl von Standardfarben oder Standardschattierungen, die zum Erzeugen des Codebilds verwendet werden, und zum Extrahieren eines entsprechenden Zeichens, einer entsprechenden Zahl oder eines entsprechenden Symbols aus der in jeder der Zellen des Codebilds erkannten Farbe oder Schattierung, entsprechend der in dem Codefestlegungsabschnitt aufgestellten Beziehung, um Codedaten zu erzeugen.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren zum Erkennen eines Codes mit folgenden Schritten vorgesehen: Erfassen eines Rohbilds, in dem ein Codebild enthalten ist, wobei das Verfahren durch folgende Schritte gekennzeichnet ist: Unterscheiden des Codebildbereichs von anderen Bereichen, Extrahieren einer Mehrzahl von Zellen, die in dem Codebildbereich enthalten sind, und Erkennen der Standardfarbe oder Standardschattierung, die in jeder der Zellen repräsentiert ist,
    Korrigieren von Farben oder Schattierungen, die in Bezug auf jede der Zellen, die in dem Codebildbereich enthalten sind, erkannt wurden, unter Verwendung einer Umgebungsvariable, die unter Berücksichtigung einer Umgebung, in der das Rohbild eingegeben wird, festgelegt wird, um Farben oder Schattierungen des Rohbilds zu unterscheiden,
    Konvertieren der korrigierten Farben oder Schattierungen in eine Mehrzahl von Standardfarben oder Standardschattierungen, die zum Erzeugen des Codebilds verwendet werden, und
    Extrahieren eines entsprechenden Zeichens, einer entsprechenden Zahl oder eines entsprechenden Symbols aus der in jeder der Zellen des Codebilds erkannten Farbe oder Schattierung, entsprechend einer Beziehung zwischen dem Zeichen, der Zahl oder dem Symbol und der entsprechenden Farbe oder Schattierung, um Codedaten zu erzeugen.
  • Kurzbeschreibung der Zeichnung
  • Die vorstehend erwähnte Aufgabe und die vorstehend erwähnten Vorteile der vorliegenden Erfindung werden durch detaillierte Beschreibung bevorzugter Ausführungsformen mit Bezug auf die anliegende Zeichnung besser verständlich werden. Es zeigen:
  • 1A ein Blockdiagramm einer Vorrichtung zum Erkennen eines Codes gemäß einer ersten Ausführungsform der vorliegenden Erfindung und 1B ein Flussdiagramm der Arbeitsweise der in 1A dargestellten Vorrichtung,
  • die 2A bis 2E verschiedene Beispiele von Codebildern, die durch die Vorrichtung zu lesen sind, die 3A bis 3C Beispiele von Codekonvertierungstabellen, die zum Konvertieren vorbestimmter Daten zu einem Bild verwendet werden, und 4 ein Beispiel, in dem ein Codebild in eine Namenskarte aufgenommen ist,
  • 5 ein Blockdiagramm der Vorrichtung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung und 6 ein Flussdiagramm, in dem die Arbeitsweise der in 5 dargestellten Vorrichtung dargestellt ist,
  • die 7A bis 7F Ergebnisse, bei denen Schwarz-Weiß-Bilder von Rohbildern erhalten werden,
  • die 8A bis 8F Schritte zum Entfernen eines Rauschbilds aus einem Schwarz-Weiß-Bild,
  • 9 ein Flussdiagramm, in dem der Schritt des Erkennens einer in jedem Pixel des Codebilds dargestellten Standardfarbe dargestellt ist,
  • die 10 bis 14 Beispiele zum Erklären von 9 und
  • 15 ein Blockdiagramm der Vorrichtung gemäß einer dritten Ausführungsform der vorliegenden Erfindung und
  • 16 ein Flussdiagramm, in dem die Arbeitsweise der in 15 dargestellten Vorrichtung dargestellt ist.
  • Bevorzugte Ausführungsformen der Erfindung
  • Nachstehend wird die vorliegende Erfindung detailliert durch Beschreiben bevorzugter Ausführungsformen der Erfindung mit Bezug auf die anliegende Zeichnung beschrieben.
  • 1A ist ein Blockdiagramm einer Vorrichtung zum Erkennen eines Codes gemäß einer ersten Ausführungsform der vorliegenden Erfindung, und 1B ist ein Flussdiagramm, in dem der Betrieb der in 1A dargestellten Vorrichtung dargestellt ist.
  • Die 2A bis 2E zeigen verschiedene Beispiele von Codebildern, die durch die Vorrichtung zu lesen sind, und die 3A bis 3C zeigen Beispiele von Codekonvertierungstabellen, die zum Konvertieren vorbestimmter Daten zu einem Bild verwendet werden, und 4 zeigt ein Beispiel, in dem ein Codebild in eine Namenskarte aufgenommen ist. Die Vorrichtung zum Erkennen eines Codes liest ein auf einem physikalischen Medium dargestelltes Codebild (ein in der unteren rechten Ecke von 4 dargestelltes viereckiges Bild) und extrahiert Originalcodedaten, welche dem Codebild entsprechen. Das Codebild ist ein Bild, zu dem eine Zahl, ein Zeichen oder ein Symbol unter Verwendung einer Codekonvertierungstabelle konvertiert wird, und es kann auf verschiedene Arten ausgedrückt werden, wie in den 2A bis 2D dargestellt ist. Zuerst werden die Funktionsweise und der Betrieb der Vorrichtung zum Erkennen eines Codes mit Bezug auf die 1A und 1B beschrieben.
  • In Schritt 21 erfasst ein Bilderfassungsabschnitt 11 ein Bild, einschließlich eines "Codebilds", das physikalisch oder elektronisch ausgedrückt ist. Codedaten, die schließlich zu extrahieren sind, werden als eine Bildform in dem Codebild ausgedrückt. Der Bilderfassungsabschnitt 11 liest das durch eine Bildeingabevorrichtung in der Art eines Scanners, einer Digitalkamera, einer PC-Kamera, eines Sensors oder eines Faxgeräts physikalisch ausgedrückte Bild und konvertiert das gelesene Bild in Bilddaten, die elektronisch verarbeitet werden können. Hier wird die Ausgabe des Bilderfassungsabschnitts 11 als "Rohbild" bezeichnet, und das Rohbild ist als eine Bilddatei formatiert, die durch einen Computer verarbeitet werden kann. Im Allgemeinen ist ein Rauschbild oder ein Hintergrund mit einem Codebild in dem Rohbild enthalten.
  • Ein Bildverarbeitungsabschnitt 13 extrahiert ein Codebild aus dem Rohbild und erkennt die Farbe oder die Schattierung individueller in dem Codebild enthaltener Zellen. In Schritt 22 wird auf der Grundlage eines Parameters in der Art einer Umgebungsvariable und/oder eines Farbmodus ein Codebildgebiet aus dem Rohbild extrahiert. In Schritt 23 erzeugt der Bildverarbeitungsabschnitt 13 Daten, die sich auf das Codebild beziehen, auf der Grundlage des Rohbilds und unterscheidet die Form, die Position oder den Typ des Codebilds. In Schritt 24 unterscheidet der Bildverarbeitungsabschnitt 13 die Zahl, die Form und die Position von Zellen, die in dem Codebild enthalten sind. In Schritt 25 erfasst der Bildverarbeitungsabschnitt 13 die Farbe oder die Schattierung jeder Zelle. Der Bildverarbeitungsabschnitt 13 richtet eine Umgebungsvariable unter Berücksichtigung der Umgebung zu einer Zeit, zu der das Rohbild erfasst wird, ein, korrigiert die Farbe oder die Schattierung individueller Zellen unter Verwendung der Umgebungsvariable und erfasst dadurch die ursprüngliche Farbe oder Schattierung jeder Zelle.
  • Der Bildverarbeitungsabschnitt 13 extrahiert das Codebildgebiet mit Ausnahme eines Hintergrundbildabschnitts aus den Rohbildern und stellt die Form und den Typ des Codebilds fest, wodurch die in dem Codebildgebiet enthaltenen Zellen auf dieser Basis unterschieden werden. Vorzugsweise wird das Rohbild auf der Grundlage einer Schwarz-Weiß-Umgebungsvariable, die entsprechend dem Helligkeitsgrad in einem Zustand, in dem das Rohbild eingegeben wird, festgelegt wird, in ein Schwarz-Weiß-Bild konvertiert. Vorzugsweise wird eine Farbe des Hintergrundbildabschnitts des Schwarz-Weiß-Bilds durch eine bestimmte Hintergrundfarbe festgelegt, die nicht zum Darstellen von Codedaten verwendet wird. Dann wird vorzugsweise eine Farbe von Rohbildabschnitten, die dem Hintergrundbildabschnitt in dem Schwarz-Weiß-Bild entsprechen, durch die Hintergrundfarbe festgelegt und durch Unterscheiden von Codebildabschnitten und Hintergrundabschnitten das Codebildgebiet aus dem Rohbild extrahiert. Rechenoperationen, die für das Extrahieren des Codebildgebiets benötigt werden, können durch die Verwendung des Schwarz-Weiß-Bilds verringert werden.
  • Vorzugsweise empfängt der Bildverarbeitungsabschnitt 13 ein Bild, in dem die Codebildabschnitte und die anderen Abschnitte durch die Hintergrundfarbe unterteilt sind, unterteilt das empfangene Bild in eine Mehrzahl von Blöcken, erfasst ein Gebiet mit einer Farbe oder Schattierung, die nicht die Hintergrundfarbe ist, von jedem der Blöcke, wählt einen Block mit dem größten Gebiet unter allen Blöcken, erfasst einen Mittelpunkt des in dem ausgewählten Block enthaltenen Codebildgebiets und durchsucht das gesamte Bild auf der Grundlage des Mittelpunkts, wodurch das Gebiet mit einer Farbe oder Schattierung, die nicht die Hintergrundfarbe ist, als das Codebildgebiet erfasst wird.
  • Ein Codefestlegungsabschnitt 17 stellt eine Beziehung (d. h. 3A bis 3C) zwischen einem Zeichen, einer Zahl oder einem Symbol, das oder die zum Darstellen von Daten verwendet wird, und einer entsprechenden Farbe oder Schattierung auf. In Schritt 26 extrahiert ein Codekonvertierungsabschnitt 15 ein entsprechendes Zeichen, eine entsprechende Zahl oder ein entsprechendes Symbol anhand der Farbe oder Schattierung jeder Zelle des Codebilds entsprechend der vom Codefestlegungsabschnitt 17 bereitgestellten Beziehung, wodurch Codedaten erzeugt werden.
  • Nun wird ein Beispiel für das Festlegen einer zum Lesen der Farbe oder der Schattierung jedes Pixels in einem Bild verwendeten Umgebungsvariable beschrieben. Die Umgebungsvariable kann unter Berücksichtigung einer Umgebung, in der das Rohbild gelesen wird, in einem RGB-Modus auf R, G oder B, in einem HSV-Modus auf H, S oder V oder auf eine Kombination von R, G und B sowie H, S und V gesetzt werden, um den Farbwert oder den Schattierungswert zu normieren, der in dem Rohbild erkannt wird. Mit anderen Worten werden Werte für eine Farbumgebungsvariable zu Farb- oder Schattie rungswerten von Pixeln des Rohbilds addiert oder davon subtrahiert. Beispielsweise kann der Farb- oder Schattierungswert in einem RGB-Farbmodus ein Wert für Rot, Grün und Blau sein, in einem HSV-Farbmodus ein Farbton, eine Sättigung und ein Wert (Helligkeit) sein, in einem CMYK-Farbmodus Zyan, Magenta, Gelb und Schwarz sein und in einem HIS-Farbmodus ein Farbton, eine Intensität und eine Sättigung sein. Die in dem Rohbild dargestellte Farbe oder Schattierung wird angepasst, um für die Umgebung, in der das Rohbild gelesen wird, zu korrigieren, so dass die ursprüngliche Farbe/Schattierung erhalten werden kann.
  • Im Allgemeinen wird eine anfängliche Umgebungsvariable unter der Annahme festgelegt, dass ein Fluoreszenzlicht oder eine Lampe mit drei Wellenlängen für die Beleuchtung verwendet wurde. Andernfalls wird ein weißes Blatt Papier als ein Referenzhintergrund verwendet, bevor das Rohbild in eine Kamera eingegeben wird, und die Umgebungsvariable wird entsprechend der Umgebungsbeleuchtung festgelegt. Beispielsweise ist das von einer Halogenlampe kommende rote Licht verhältnismäßig stark, so dass die Umgebungsvariable so festgelegt wird, dass die Wirkung des von der Halogenlampe emittierten roten Lichts beseitigt wird. Falls als nächstes die tatsächliche erfasste Farbe unter Verwendung der Umgebungsvariablen normiert wird, kann die Beleuchtungswirkung verringert werden, und es können Farben nahe der Originalfarbe erhalten werden.
  • Ein Beispiel für das Korrigieren von Farben oder Schattierungen unter Verwendung der Umgebungsvariable wird nachstehend beschrieben. Es wird angenommen, dass die Codebilder aus acht Farben bestehen und unter Verwendung einer in 3B dargestellten Codekonvertierungstabelle codiert werden. In einem Fall, in dem der in einem Pixel eines Rohbilds dargestellte RGB-Wert als (100, 100, 100) erkannt wird und die Umgebungsvariable auf (+100, –50, +50) gelegt wird, ist der korrigierte RGB-Wert für das Pixel, der durch Ausführen einer Rechenoperation an dem RGB-Wert und der Umgebungsvariablen erhalten wird, (200, 50, 150). Falls für jede Komponente des korrigierten RGB-Werts die Komponente größer als 128 ist, wird sie zu 255 konvertiert. Andernfalls wird die Komponente zu 0 konvertiert. Dadurch ist der endgültige RGB-Wert (255, 0, 255), so dass die Farbe oder Schattierung als Magenta erkannt wird.
  • Beispiel 1) Im RGB-Farbmodus ist der Maximalwert für jede Komponente von RGB 255, und der Minimalwert dafür ist 0. Demgemäß stellt (255, 0, 0) Rot dar, (0, 255, 0) Grün dar, (0, 0, 255) Blau dar, (0, 0, 0) Schwarz dar und (255, 255, 255) Weiß dar. In einem Fall, in dem x der Wert von R, G oder B ist und y der Wert einer Umgebungsvariablen für R, G und B ist, werden die Komponenten für den endgültigen RGB-Wert für jedes Pixel wie nachstehend angegeben bestimmt. f(x) = 255, falls x + y ≥ 128 (wobei 0 ≤ x, y ≤ 255 ist) 0 andernfalls (1)
  • Beispiel 2) YIQ- und YUV-Farbmodi werden durch Zuweisen eines vorbestimmten Gewichts zum RGB-Wert erhalten und ähneln dem RGB-Modus. Das heißt, dass der YIQ-Farbmodus unter Verwendung von Y = 0,299R + 0,587G + 0,114B, I = 0,596R – 0,274G – 0,3228, Q = 0,211R – 0,523G + 0,312B erhalten werden kann. Y bezeichnet die Helligkeit, und I und Q bezeichnen den Rotanteil bzw. den Blauanteil. f(y) = Weiß, y ≥ 0,5 Schwarz andernfalls (2)
  • Beispiel 3) Ein CMYK-Farbmodus ist ein Farbmodus, der gewöhnlich für das Drucken verwendet wird, und jede Farb komponente wird im CMYK-Farbmodus als Prozentsatz oder Verhältnis angegeben. Der CMYK-Farbmodus wird in Bezug auf den RGB-Wert als (R/255, G/255, B/255) ausgedrückt. In einem Fall, in dem x ein Wert für C, M, Y oder K ist und y ein Wert der jeder Farbkomponente entsprechenden Umgebungsvariablen ist, wird der endgültige CMYK-Wert für jedes Pixel wie nachstehend angegeben bestimmt: f(x) = 1, falls x + y ≥ 0,5 (wobei 0 ≤ x, y ≤ 1 ist) f(x) = 0 andernfalls (3)
  • Beispiel 4) Im Fall des HSV- und des HSI-Farbmodus wird der Wert für den Farbton als Winkel ausgedrückt. Hier kann in einem Fall, in dem x der Wert für einen Farbton ist und die Farbumgebungswerte so festgelegt sind, dass 0 ≤ Trg < Tgb < Tbr ≤ 360 gilt, ein nachstehend angegebenes Verfahren zum Unterscheiden von Farben verwendet werden. f(x) = Rot, falls Tbr ≤ x < Trg Grün, falls Trg ≤ x < Tgb Blau, falls Tgb ≤ x < Tbr (4)
  • Beispiel 5) Für den Farbmodus der "Commission Internationale de l'E clairage" (CIE) wird der Wert einer Farbe in einer x-y-Graphik dargestellt. In diesem Fall werden x und y als eine Referenz zum Unterscheiden von Farben verwendet, so dass ein nachstehend angegebenes Verfahren zum Unterscheiden von Farben verwendet werden kann. f(x, y) = Rot, falls x ≥ 0,4 Grün, falls x < 0,25, y ≥ 0,4 Blau, falls x < 0,25, y < 0,25 Grau andernfalls (5)
  • Daten, die sich auf eine Beziehung zwischen einer allgemeinen Umgebung und einer Umgebungsvariablen, die entsprechend der allgemeinen Umgebung festzulegen sind, beziehen, werden in einer Datenbank gespeichert, und Vorgabedaten in Bezug auf eine tatsächliche Arbeitsumgebung werden gelesen, so dass die Umgebungsvariable verwendet werden kann. Die Umgebungsvariable wird experimentell bestimmt, so dass durch eine optische Eingabevorrichtung gelesene Farben zu Originalfarben korrigiert werden, oder die Codebilder werden vom Hintergrund unterschieden, indem die optischen Eigenschaften und die Umgebungsbeleuchtung der optischen Eingabevorrichtung analysiert werden, wodurch die Farben fehlerfrei, ohne durch eine Vorrichtung oder eine Umgebung beeinflusst zu werden, erkannt werden können. Zusätzlich können zwei oder mehr Umgebungsvariablengruppen mit verschiedenen Zielen gebildet werden. Mit anderen Worten kann eine der Umgebungsvariablengruppen eine Umgebungsvariable zum Trennen der Codebilder vom Hintergrund sein, und die andere kann eine Umgebungsvariable zum Unterscheiden der Farbe oder der Schattierung der vom Hintergrund getrennten Codebilder sein. Beispielsweise ist der Wert von R verhältnismäßig hoch, wenn Farben für den RGB-Modus in der Beleuchtungsumgebung, in der rotes Licht verwendet wird, unterschieden werden. Demgemäß wird der in der optischen Vorrichtung gelesene Wert für R auf einen vorbestimmten Gewichtswert verringert, und die Wirkung der Umgebung wird ausgeschlossen. Wenn das Codebild in der Umgebung einer hellen Beleuchtung für den HSV-Modus als ein Schwarz-Weiß-Bild erkannt wird, wird der Gewichtswert der V-Komponente erhöht, und es werden dadurch Farben unterschieden. In der Umgebung einer schwachen Beleuchtung wird der Gewichtswert der V-Komponente zum Unterscheiden der Schwarz-Weiß-Farbe im HSV-Modus von Farben mit Ausnahme von Schwarz oder Weiß verringert, und der Gewichtswert der S-Komponente wird auch verringert, wodurch Farben unterschieden werden. Wenn die Um gebungsvariable zurückgesetzt wird, wird die Verteilung der Werte für R, G, B, H, S und/oder V, die von jeder Zelle im Codebild von der optischen Vorrichtung erhalten werden, bestimmt, und die Umgebungsvariable und ein Gewichtswert davon können mit Bezug auf die Verteilung zurückgesetzt werden.
  • Nachstehend werden Beispiele von Codebildern, die durch die in 1A dargestellte Vorrichtung zum Erkennen eines Codes zu verarbeiten sind, und von dem Codebild entsprechenden Codedaten beschrieben. Die 2A bis 2D zeigen verschiedene Beispiele von Codebildern, die von der Vorrichtung zum Erkennen eines Codes gemäß der vorliegenden Erfindung erkannt werden können. In den Zeichnungen können verschiedene Formen für Zellen, beispielsweise viereckig, kreisförmig, elliptisch, kreuzförmig oder bienenwabenförmig, verwirklicht werden, und es kann eine Kombination von Formen möglich sein, wenn ein Codebild gebildet wird. Die Form und die Größe eines Codebilds oder einer Zelle kann entsprechend dem Inhalt oder der Datenmenge, der oder die in dem Codebild darzustellen ist, geeignet ausgewählt werden. Verschiedene Formen des Codebilds, die aus einer Mehrzahl von Zellen bestehen, wie viereckig, kreisförmig, elliptisch, kreuzförmig oder bienenwabenförmig, können verwirklicht werden, und es ist auch ein Codebild mit einer Form ähnlich einem Strichcode, wie in 2D dargestellt ist, eingeschlossen.
  • 2E zeigt die Gebiete eines Codebilds auf der Grundlage von Rollen von Daten, die in dem Codebild dargestellt sind. Das Codebild enthält ein Datengebiet 291, das aus mindestens einer Datenzelle gebildet ist, in der Farben, Schattierungen, Formen, Muster oder eine Kombination davon entsprechend dem Dateninhalt verschieden codiert sind. Das Datengebiet 291 kann aus einer oder mehreren Datenzellen gebildet sein, worin Zeichen als Bilder codiert sind, und jede der Datenzellen kann ein Zeichen darstellen, oder ein Satz aus einer Mehrzahl von Datenzellen kann ein oder mehrere Zeichen darstellen. Beispielsweise kann das Zeichen "A" als eine rote Zelle dargestellt werden oder es kann als zwei Zellen in der Art einer roten Zelle und einer grünen Zelle dargestellt werden. Codedaten, die in dem Datengebiet 291 enthalten sind, bestehen aus Zeichen, Zahlen und Symbolen und können Namen, Adressen, Telefonnummern, Faxnummern, Host-Adressen von Netzwerken, Domain-Namen und IP-Adressen, die im Internet verwendet werden, Uniform Resource Locators (URLs), Protokolle oder Dokumentnamen, abhängig von den Anforderungen des Benutzers, einschließen.
  • Mindestens eines von einem Paritätsgebiet 293, einem Referenzgebiet 295 und einem Steuergebiet 297 kann weiter in dem Codebild enthalten sein. Das Paritätsgebiet 293 besteht aus Paritätszellen zum Prüfen von Erkennungsfehlern der im Datengebiet 291 dargestellten Zellen. Das Referenzgebiet 295 besteht aus mindestens einer Referenzzelle, die Referenzfarben, eine Referenzschattierung, Referenzformen, Referenzmuster oder eine Kombination davon zum Bestimmen von Farben, Schattierungen, Formen, Mustern oder einer Kombination davon für die im Datengebiet 291 gebildete Datenzelle bereitstellt. Das Steuergebiet 297 besteht aus mindestens einer Steuerzelle, in der Steuerdaten für Befehle oder Dienste, die unter Verwendung im Datengebiet 291 dargestellter Daten bereitzustellen sind, codiert sind. Nachstehend werden alle Gebiete mit Ausnahme des Datengebiets 291, d. h. das Paritätsgebiet 293, das Referenzgebiet 295 und das Steuergebiet 297, als "Hilfsgebiete" bezeichnet, und in den Hilfsgebieten enthaltene Zellen werden als Hilfszellen markiert.
  • Das Paritätsgebiet 293 wird verwendet, um festzustellen, ob Farben oder Schattierungen (oder möglicherweise Formen und/oder Muster) als entsprechend dem Inhalt der Codedaten für Datenzellen geeignet ausgedrückt sind. Im Paritätsgebiet 293 werden Paritätsdaten entsprechend Codewerten erhalten, die entsprechend der in jeder der Datenzellen dargestellten Farbe oder Schattierung festgelegt sind, und Paritätszellen werden aus Farben oder Schattierungen, die den Paritätsdaten entsprechen, gebildet.
  • Das Referenzgebiet 295 wird verwendet, um Referenzfarben (oder Referenzschattierungen, Referenzformen oder Referenzmuster, je nach Gelegenheit) zum Erkennen von in den Zellen des Datengebiets 291 und/oder der Hilfsgebiete dargestellten Farben (oder Schattierungen, Formen oder Mustern) festzulegen. Die Farben der Zellen in jedem Gebiet können in einem Farbmodus in der Art eines Rot-Grün-Blau-(RGB)-Farbmodus, eines Farbton-Sättigung-Wert-(HSV)-Farbmodus, eines Zyan-Magenta-Gelb-Schwarz-(CMYK)-Farbmodus, eines Farbton-Sättigung-Intensität-(HSI)-Farbmodus, eines CIE-Farbmodus, eines YIQ-Farbmodus oder eines YUV-Farbmodus dargestellt werden. Selbst in einem Fall, in dem ein Code durch Schwarz-Weiß-Schattierungen (Grautöne) gebildet ist, können Daten jeder Zelle auf der Grundlage der Schattierungen von Weiß und/oder Schwarz, die im Referenzgebiet 295 dargestellt sind, genau erkannt werden.
  • Zusätzlich kann ein Grenzgebiet zum Unterscheiden von Gebieten ferner zwischen in den Codebildern enthaltenen Gebieten implementiert werden. Zusätzlich kann ein Grenzgebiet zum Unterscheiden von Zellen ferner zwischen Zellen in jedem Gebiet enthalten sein. Das Grenzgebiet kann aus einer Linie oder einer Zelle bestehen, welche aus einer spezifischen Farbe oder einem spezifischen Muster gebildet ist, und eine Grenzlinie oder eine Grenzzelle kann als Schwarz oder Weiß ausgebildet sein.
  • Farbe kann, abhängig von der Art des Druckers oder des als Druckpapier verwendeten Materials, auf verschiedene Weise gedruckt werden, und die gleiche Farbe kann, entsprechend den Eigenschaften eines Scanners oder einer Kamera, etwas verschieden erkannt werden. Unter Berücksichtigung hiervon stellt die im Referenzgebiet 295 enthaltene Referenzzelle eine Referenz zum Unterscheiden im Datengebiet 291 dargestellter Farben bereit. Das heißt, dass selbst dann, wenn eine Farbe, abhängig von der verwendeten Ausgabevorrichtung, auf verschiedene Weisen ausgegeben wird oder eine Farbe entsprechend der verwendeten Eingabevorrichtung in der Art eines Scanners auf verschiedene Weisen eingegeben wird, die Farbdifferenz zwischen der Farbe des Referenzgebiets 295 und der Farbe des Datengebiets 291 konstant ist, so dass Farben der Zellen im Datengebiet 291 genau erkannt werden können. Demgemäß haben Farben der Zellen des Datengebiets 291 eine relative Farbdifferenz, verglichen mit Referenzfarben des Referenzgebiets 295, so dass die Farben der Zellen des Datengebiets 291 erhalten werden, indem sie auf der Grundlage des RGB-Modus oder des HSV-Modus mit den Referenzfarben des Referenzgebiets 295 verglichen werden, wodurch Daten der Datenzellen selbst dann genau erkannt werden können, wenn die Bildeingabevorrichtung oder die Bildausgabevorrichtung gewechselt wird. In einem Fall, in dem Formen oder Muster in eine Eingabevorrichtung in der Art einer Kamera eingegeben werden, können die Formen oder Muster geneigt oder gekrümmt sein. Die Referenzformen oder Referenzmuster werden im Referenzgebiet 295 bereitgestellt, so dass ein falscher Eingabezustand erfasst werden kann und die Formen oder Muster der Datenzellen genau erkannt werden können.
  • Verschiedene Dienste können einem Benutzer, der Codedaten des Datengebiets 291 verwendet, abhängig vom Anwendungstyp bereitgestellt werden. Beispielsweise werden in einem Fall, in dem eine Homepage-Adresse (d. h. eine URL) im Internet auf einer Namenskarte als Codebilder ausgedrückt wird, die Codebilder durch einen Computer decodiert, und der Web-Browser des Computers oder eines mit dem Computer verbundenen Servers wird ausgeführt und kann dadurch programmiert werden, um sich mit der Homepage zu verbinden. Zusätzlich wird in einem Fall, in dem eine E-Mail-Adresse als ein Codebild ausgedrückt wird, das Codebild von einem Computer decodiert, und es wird die Mail-Software des Computers ausgeführt, wodurch eine Umgebung bereitgestellt wird, in der E-Mails zur E-Mail-Adresse gesendet werden können. Beispielsweise kann ein Benutzer in einem Fall, in dem das Codebild in ein tragbares Endgerät eingegeben wird, eine dem Codebild entsprechende Telefonnummer rufen oder Dienste von Daten, die sich auf die Geographie beziehen, empfangen. In einem solchen Fall kann die automatische Dienstfunktion von einem getrennten Programm oder entsprechend der Art der Zieldaten in einem Decodierprogramm automatisch implementiert werden. Zusätzlich ist das Steuergebiet 297, in dem ein Befehl zum Ausführen der automatischen Dienstfunktion als ein Bild ausgedrückt ist, in dem Codebild enthalten, wodurch automatisch Dienste in dem Decodierprogramm unter Verwendung decodierter Steuerdaten aus dem Steuergebiet 297 implementiert werden.
  • Zusätzlich können Befehle oder Metadaten zum Steuern von Zieldaten des Datengebiets 291 in das Steuergebiet 297 aufgenommen werden. Beispielsweise können im Steuergebiet 297 codierte Daten verschiedene Metadaten, wie die Decodierungsreihenfolge der in dem Datengebiet 291 gebildeten Zellen, die Position der Referenzzelle des Referenzgebiets 295 und die Position oder die Eigenschaft des Paritätsgebiets 293, aufweisen.
  • 3A zeigt ein Beispiel, in dem zwei Datenbits als vier Farben ausgedrückt sind. Falls jede Zelle eine von vier Farben hat, können zwei Datenbits ausgedrückt werden. Dann können in einem Fall, in dem definiert ist, dass ein Zeichen als vier aufeinanderfolgende Zellen ausgedrückt wird, 8 Bits, d. h. 256 Arten von Zeichen, ausgedrückt werden. In einem Fall, in dem es vier Arten von Formen für eine Zelle mit der gleichen Farbe gibt (d. h. ein kleines Viereck, ein großes Viereck, einen kleinen Kreis und einen großen Kreis), können zwei Datenbits ausgedrückt werden, und es können 256 Arten (8 Bits) an Daten in einem Fall ausgedrückt werden, in dem jede Zelle mit vier verschiedenen Farben gefüllt werden kann.
  • 3B zeigt ein Beispiel einer Codekonvertierungstabelle zum Konvertieren verschiedener Zeichen (Alphabetzeichen oder Spezialzeichen), Zahlen oder Formen zu Bildern, und in dem Beispiel wird ein Zeichen als eine oder zwei Farbzellen abgebildet.
  • Angesichts eines Codierverfahrens, bei dem die Codekonvertierungstabelle aus 3B verwendet wird, werden verschiedene Zeichen zu Codewerten konvertiert, und es werden dann Codebilder als Farben erzeugt, die jedem der Codewerte zugeordnet werden. Gemäß der vorliegenden Ausführungsform werden die Codebilder unter Verwendung von acht Farben erzeugt, und zwei aufeinanderfolgende Zellen werden verwendet, um ein Zeichen oder eine Zahl auszudrücken. Codewerte von "000" bis "111" werden den acht Farben zugeordnet, und jedes Zeichen wird als zwei Farben codiert. Beispielsweise wird die Zahl "3" dem Codewert "000 011" zugeordnet, als eine dem Codewert "000" zugeordnete Farbe (Schwarz) codiert und als eine dem Codewert "011" zugeord nete Farbe (Zyan) codiert und daher als zwei aufeinanderfolgende Zellen einer schwarzen Zelle und einer zyanfarbenen Zelle abgebildet. Verschiedene Zeichen oder Zahlen, die in Codedaten enthalten sind, werden entsprechend der in 3B dargestellten Codekonvertierungstabelle in Codewerte konvertiert, und es können dann den Codewerten entsprechende Farben als eine viereckige Matrixform ausgedrückt werden, die aus einer Kombination viereckiger Zellen besteht.
  • 3C zeigt eine Ausführungsform, bei der ein Codebild unter Verwendung eines Grauskalencodes erzeugt wird. Der Grauskalencode wird entsprechend der Helligkeit eines Grauskalentons an Stelle der Mischrate von Rot (R), Grün (G) und Blau (B) gebildet. Demgemäß wird im Referenzgebiet 295 eine Referenzschattierung entweder auf Schwarz, Weiß oder Grau gesetzt, und die Zellen im Datengebiet 291 haben Werte, die durch eine Graudifferenz, verglichen mit der Referenzschattierung des Referenzgebiets 295, codiert sind. In einem Fall, in dem es kein Referenzgebiet 295 in dem Codebild gibt, wird die Schattierung jeder Zelle des Codebilds berechnet, und es werden Zellen (Zellensatz) mit ähnlichen Schattierungen gesammelt. Der gleiche Codewert wird den zum gleichen Zellensatz gehörenden Zellen zugeordnet, und Fehler beim Decodieren können dann unter Verwendung des Paritätsgebiets 293 bestimmt werden. In einem Fall, in dem Bestimmungsfehler auftreten, wird wiederum bestimmt, ob Fehler auftreten, nachdem die Schattierung jeder Zelle neu berechnet wurde oder eine Referenz zur Bildung eines Zellensatzes auf verschiedene Weise festgelegt wurde. Das Grauskalen-Codebild kann auf Medien angewendet werden, die hauptsächlich mit Schwarz und Weiß gedruckt werden, wie Zeitungen.
  • 4 zeigt ein Beispiel, in dem ein Codebild unter Verwendung des vorstehend erwähnten Codesystems im Wesentli chen in eine Namenskarte aufgenommen ist. Im Fall der Verwendung der in 1 dargestellten Vorrichtung zum Erkennen eines Codes kann ein Benutzer eine Bilddatei, in der Abschnitte eines viereckigen Codebilds, das in der unteren rechten Ecke der Namenskarte dargestellt ist, aufgenommen sind, unter Verwendung einer Kamera oder eines Scanners erzeugen, und der Benutzer kann die Bilddatei verarbeiten und Codedaten erkennen, welche durch das Codebild darzustellen sind. 5 ist ein Blockdiagramm der Vorrichtung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung, und 6 ist ein Flussdiagramm, in dem der Betrieb der in 5 dargestellten Vorrichtung dargestellt ist.
  • Ein Bilderfassungsabschnitt 51 erfasst ein Rohbild, in dem ein Codebild enthalten ist. Eine durch eine Bildeingabevorrichtung in der Art einer Kamera oder eines Scanners erfasste Bilddatei oder eine im Format einer elektronischen Datei existierende Bilddatei wird empfangen, und das Datenformat der Bilddatei wird konvertiert, falls es erforderlich ist. Beispielsweise wird eine komprimierte Videobilddatei dekomprimiert und in eine Bilddatei mit einer Bitmap-Form konvertiert. Auf diese Weise wird die Bilddatei als ein Rohbild in einem Speicher 52 gespeichert. Ein Umgebungsrauschbild mit einem Codebild, das der Benutzer erfassen möchte, ist auch in dem Rohbild enthalten.
  • Ein Steuerabschnitt 58 empfängt den Typ des Codebilds, legt eine Umgebungsvariable unter Berücksichtigung einer Umgebung zu einer Zeit, zu der die Rohbilder erfasst werden, fest oder liest eine bereits gespeicherte Umgebungsvariable und sendet die Umgebungsvariable zu einem Farbfilter 53. Der Speicher 52 speichert für die Bildverarbeitung benötigte Bilddaten zwischen.
  • Das Farbfilter 53 korrigiert Farben oder Schattierungen, die von dem Rohbild erkannt wurden, durch die Umgebungsvariable, konvertiert die korrigierten Farben oder Schattierungen zu Standardfarben oder Standardschattierungen, die zum Erzeugen des Codebilds verwendet werden, und erzeugt dadurch ein durch die Standardfarben oder die Standardschattierung dargestelltes Standardbild. Hier bedeuten Standardfarben oder Standardschattierungen Farben oder Schattierungen, die so festgelegt sind, dass sie Zeichen, Zahlen oder Symbolen entsprechen, wenn das Codebild erzeugt wird (siehe die 3A bis 3C). Das in physikalischen Medien dargestellte Codebild kann infolge der Eigenschaften einer Bildvorrichtung oder der Wirkung einer Umgebung, wenn das Codebild durch eine Bildausgabevorrichtung gedruckt wird oder wenn das Codebild durch die Bildeingabevorrichtung verarbeitet wird, nicht als ursprünglich festgelegte Farben dargestellt werden oder nicht die ursprünglichen Farben erkennen. Wenngleich beispielsweise der RGB-Wert von Magenta (255, 0, 255) ist, ist der als Magenta darzustellende von der Zelle erkannte RGB-Wert nicht genau (255, 0, 255), sondern irgendein Wert in der Nähe von (255, 0, 255). Demgemäß können Codedaten nur dann durch Anwenden der Codekonvertierungstabelle extrahiert werden, wenn die tatsächlich erkannten Farben oder Schattierungen in Standardfarben oder Standardschattierungen konvertiert werden. Ein binär codiertes Filter 54 unterteilt Farben oder Schattierungen des Rohbilds entsprechend einem vorbestimmten Referenzwert (Schwarz-Weiß-Umgebungsvariable) in zwei Farben und erzeugt ein binär codiertes Bild. Das binär codierte Bild kann als Schwarz und Weiß oder als zwei spezifische Farben implementiert werden. Hier kann ein Referenzwert auf den gemittelten Wert der Werte für R, G und B oder einen Minimalwert oder einen Maximalwert von ihnen, einen Wert für V des HSV-Farbmodus, einen Wert für I des HSI-Farbmodus oder einen Wert für K des CMYK-Farbmodus gesetzt werden.
  • Ein Vorverarbeitungsabschnitt 55 empfängt das Rohbild und das binär codierte Bild, legt eine Farbe eines Abschnitts mit Ausnahme des Codebildabschnitts in dem binär codierten Bild als eine spezifische Hintergrundfarbe fest und legt eine Farbe eines Abschnitts des Standardbilds, entsprechend dem auf die Hintergrundfarbe im binär codierten Bild gelegten Abschnitt, als Hintergrundfarbe fest, wodurch ein Codebildabschnitt von anderen Abschnitten unterschieden wird. Beispielsweise wird eine Farbe von an einem Rand des binär codierten Bilds positionierten Pixeln als die Hintergrundfarbe festgelegt und dann auch eine Farbe von Pixeln, die mit den auf die Hintergrundfarbe gelegten Pixeln verbunden sind, als die Hintergrundfarbe festgelegt, wodurch der Codebildabschnitt von den anderen Abschnitten unterschieden wird. Hier wird die Hintergrundfarbe auf eine der Farben gelegt, die nicht für das Erzeugen des Codebilds verwendet werden. Ein Merkmalspunkt-Extraktionsabschnitt 56 extrahiert eine Mehrzahl von in dem Codebildabschnitt enthaltenen Zellen und erkennt dann die Standardfarben oder die Standardschattierung in jeder Zelle.
  • Ein Decodierer 57 extrahiert ein entsprechendes Zeichen, eine entsprechende Zahl oder ein entsprechendes Symbol anhand der Farbe oder Schattierung, die in jeder Zelle der Codebilder erkannt wurde, entsprechend einer Beziehung zwischen Zeichen, Zahlen oder Symbolen und der entsprechenden Farbe oder Schattierung und erzeugt Codedaten. Vorzugsweise wird eine Farbe oder Schattierung, die am stärksten unter den Farben oder Schattierungen der zu jeder Zelle gehörenden Pixel verteilt ist, als eine Farbe der entsprechenden Zelle erkannt.
  • Die Arbeitsweise der in 5 dargestellten Vorrichtung zum Erkennen eines Codes wird nachstehend mit Bezug auf das Flussdiagramm aus 6 beschrieben. In Schritt 61 wird das Rohbild erfasst, in dem das Codebild enthalten ist. In Schritt 62 wird die Umgebungsvariable unter Berücksichtigung einer Umgebung zu einer Zeit, zu der das Rohbild erfasst wurde, festgelegt, und die Farben oder die Schattierung, die anhand des Rohbilds erkannt wurde, wird durch die Umgebungsvariable korrigiert. In Schritt 63 werden die korrigierten Farben oder Schattierungen in eine Mehrzahl von Standardfarben oder Standardschattierungen konvertiert, die für das Erzeugen des Codebilds verwendet werden, und es wird auf diese Weise das durch die Standardfarben oder Standardschattierungen dargestellte Standardbild erzeugt.
  • In Schritt 64 wird das binär codierte Bild durch Unterteilen der Farben oder Schattierungen des Rohbilds in zwei Farben entsprechend einem vorbestimmten Referenzwert erzeugt. In Schritt 65 wird eine Farbe des Abschnitts mit Ausnahme des Codebildabschnitts auf der Grundlage des binär codierten Bilds als die spezifische Hintergrundfarbe festgelegt. In Schritt 66 wird der Abschnitt des Standardbilds, der dem als Hintergrundfarbe im binär codierten Bild festgelegten Abschnitt entspricht, als die Hintergrundfarbe verarbeitet, so dass der Codebildabschnitt von den anderen Abschnitten unterschieden werden kann.
  • In Schritt 67 wird die Mehrzahl von Zellen, die in dem Codebildabschnitt enthalten ist, extrahiert, und es wird dann die in jeder Zelle dargestellte Standardfarbe oder Standardschattierung erkannt. In Schritt 68 wird ein entsprechendes Zeichen, eine entsprechende Zahl oder ein entsprechendes Symbol anhand der in jeder Zelle des Codebilds erkannten Farbe oder Schattierung entsprechend der Beziehung zwischen dem Zeichen, der Zahl oder dem Symbol und der entsprechenden Farbe oder Schattierung extrahiert, wodurch Codedaten erzeugt werden.
  • Die Funktionsweise und die Arbeitsweise der in 5 dargestellten Vorrichtung zum Erkennen eines Codes wird nachstehend in weiteren Einzelheiten beschrieben.
  • Das binär codierte Filter 54 konvertiert das Rohbild entsprechend der Schwarz-Weiß-Umgebungsvariable in ein Schwarz-Weiß-Bild. Das Schwarz-Weiß-Bild wird verwendet, um die Unterscheidung eines in dem Rohbild enthaltenen Objekts zu erleichtern und die Arbeitsgeschwindigkeit zu verbessern. Der Helligkeitswert jedes Pixels des Rohbilds wird mit dem Wert der Umgebungsvariable verglichen und als ein Pixel ausgegeben, das schwarz oder weiß ist, und es wird auf diese Weise das Schwarz-Weiß-Bild erzeugt. Die Schwarz-Weiß-Umgebungsvariable bedeutet einen Parameter oder einen Satz von Parametern zum Konvertieren in dem Rohbild dargestellter Farben zu Schwarz oder Weiß in der Art des Durchschnittswerts, bei dem die Summe der Werte für Rot, Grün und Blau durch 3 geteilt bzw. gedrittelt wird, oder des Werts (der Helligkeit) des HSV-Farbmodus. In einem Fall, in dem die Gesamthelligkeit des Rohbilds verhältnismäßig gering ist (dies kann der Fall sein, in dem die Umgebung etwas dunkel ist, wenn das Rohbild gescannt wird, oder die Helligkeit infolge der Eigenschaften der Bildgebungsvorrichtung gering ist), wird der Wert der Schwarz-Weiß-Variablen auf einen niedrigen Wert gelegt. In einem Fall, in dem die Gesamthelligkeit der Rohbilder verhältnismäßig hoch ist, wird der Wert der Schwarz-Weiß-Variable auf einen hohen Wert gelegt.
  • Beispielsweise ist in einem Fall, in dem der RGB-Wert in einem Pixel des Rohbilds (100, 100, 100) ist, die durchschnittliche Helligkeit des Pixels 100. In einem solchen Fall wird unter der Annahme, dass der Wert der Umgebungsvariable 80 ist, ein Pixel mit einem helleren Wert als der Umgebungsvariablenwert als weiß erkannt. Andernfalls wird das Pixel als schwarz erkannt.
  • Wenn ein Farbbild zu einem Schwarz-Weiß-Bild binär codiert wird, können schwarze oder weiße Pixel durch Anwenden eines Referenzwerts auf alle Pixel erzeugt werden oder durch Unterteilen des Gesamtbilds in mehrere Abschnitte, Festlegen eines Referenzwerts in Bezug auf jeden Abschnitt und Anwenden des Referenzwerts auf Pixel, die zu jedem Abschnitt gehören, erzeugt werden. Das heißt, dass angesichts eines lokalen Schwellenwertverfahrens die Bilder in Blöcke mit vorbestimmten Größen unterteilt werden, der Helligkeitswert von zu jedem der Blöcke gehörenden Pixeln gemittelt wird und der gemittelte Wert als die Schwarz-Weiß-Umgebungsvariable festgelegt wird. Der Helligkeitswert jedes Pixels wird mit dem Schwarz-Weiß-Variablenwert verglichen, so dass zu den Blöcken gehörende Pixel als schwarz oder weiß binär codiert werden können. Das Verfahren ist in einem Fall am wirksamsten, in dem das gesamte Bild lokal dunkel oder hell ist.
  • Ein Mehrfachschwellenwertverfahren kann verwendet werden, wenn ein Farbbild zu einem Schwarz-Weiß-Bild konvertiert wird. Ein Histogramm des Helligkeitswerts der zu dem Bild gehörenden Pixel wird erhalten. Die Helligkeitsfrequenz kann auf diese Weise erhalten werden. Das Histogramm kann in Helligkeitswerte mit einer hohen Frequenz und Helligkeitswerte mit einer niedrigen Frequenz unterteilt werden. Im Allgemeinen wird der Helligkeitswert jedes Pixels konvergent zu dem spezifischen Helligkeitswert dargestellt. Demgemäß werden Helligkeitswerte mit einer geringeren Frequenz, die unter Helligkeitswerten mit einer höheren Frequenz positioniert sind, als eine Mehrzahl von Schwarz-Weiß-Umgebungsvariablen festgelegt, und die Mehrzahl der Schwarz-Weiß-Umgebungsvariablen wird dann der Reihe nach auf das Farbbild angewendet. Dadurch wird in einem Fall, in dem ein Bild eine größere Helligkeitsvariation hat, die am besten geeignete Variable aus der Mehrzahl von Schwarz-Weiß-Umgebungsvariablen ausgewählt, so dass ein geeignetes Schwarz-Weiß-Bild erzeugt werden kann.
  • 7 zeigt das Ergebnis, in dem ein Schwarz-Weiß-Bild anhand eines Rohbilds erhalten wird. 7A zeigt die Rohbilder. Das Rohbild ist tatsächlich ein Farbbild, wird jedoch infolge der Beschränkung des Ausdrucks der Zeichnung als ein Grauskalenbild dargestellt. 7B zeigt das Beispiel, in dem die Werte für R, G und B von Pixeln gemittelt werden und der Mittelwert mit dem Referenzwert von 128 verglichen wird, um das Schwarz-Weiß-Bild zu erhalten. Für 7C ist der Referenzwert auf 90 gesetzt. 7D zeigt ein Beispiel, in dem das lokale Schwellenwertverfahren verwendet wird. 7E zeigt das Beispiel, in dem der Minimalwert unter den Werten für R, G und B von Pixeln mit dem Referenzwert von 128 verglichen wird, um ein Schwarz-Weiß-Bild zu erhalten, und für 7F ist der Referenzwert auf 90 gesetzt.
  • Der Vorverarbeitungsabschnitt 55 empfängt das Farbbild und das Schwarz-Weiß-Bild, vergleicht das Farbbild mit dem Schwarz-Weiß-Bild und entfernt dadurch ein unnötiges Rauschbild aus dem Farbbild und dem Schwarz-Weiß-Bild. Der Schritt des Entfernens des Rauschbilds auf der Grundlage des Schwarz-Weiß-Bilds wird durch die Schritte des Entfernens eines Hintergrundbilds und eines kleinen Rauschbilds ausgeführt und detailliert mit Bezug auf die 8A bis 8F beschrieben.
  • Im Allgemeinen existiert Weiß oder eine redundante Leerstelle mit einer hohen Luminanz um die Codebilder, und das Gebiet der Codebilder ist von benachbarten Bereichen ge trennt. Beim Schritt des Entfernens des Hintergrundbilds wird der Verbindungszustand des Rauschbilds geprüft, und es kann dann das Hintergrundbild entfernt werden. Die 8A bis 8F zeigen den Schritt des Entfernens des Hintergrundbilds. Zuerst wird die Farbe der Rauschbildposition an den Rändern des Schwarz-Weiß-Bilds (siehe 8A), d. h. von Pixeln mit einer schwarzen Farbe unter den an den Rändern des Schwarz-Weiß-Bilds positionierten Pixeln auf eine spezifische Schattierung oder Farbe gelegt, welche eine Farbe oder Schattierung ist, die nicht in Zellen des Codebilds repräsentiert ist und als "Hintergrundfarbe" bezeichnet wird (siehe 8B). Es wird das gesamte Gebiet geprüft, und es wird auch die Farbe von Pixeln, die mit dem Rauschbild verbunden sind, als die Hintergrundfarbe festgelegt. Mit anderen Worten werden schwarze Pixel, die mit den durch die Hintergrundfarbe dargestellten Pixeln verbunden sind, der Reihe nach erfasst, und eine Farbe der Pixel wird als die Hintergrundfarbe festgelegt (siehe die 8C bis 8E). Falls es keine weiteren schwarzen Pixel gibt, die mit den Pixeln mit der Hintergrundfarbe verbunden sind, wird der Abschnitt, der als die Hintergrundfarben festgelegt ist, als das Gebiet des Rauschbilds bestimmt, und es wird dann der Abschnitt, der aus den schwarzen Pixeln in dem Abschnitt mit Ausnahme des Gebiets des Rauschbilds besteht, als das Gebiet des Codebilds bestimmt. In einem solchen Fall ist es zum Prüfen des Verbindungszustands des Rauschbilds wirksam, dass Pixel, die zu dem Rauschbild gehören, in allen Richtungen, wie von links nach rechts oder von rechts nach links, von oben nach unten oder von unten nach oben, gleichzeitig gesucht werden. In dem Schritt des Entfernens des kleinen Rauschbilds wird der Verbindungszustand von jedem der Pixel anhand des Bilds geprüft, von dem das Hintergrundrauschbild entfernt wurde, wobei die Länge oder die Fläche, womit die Pixel verbunden sind, kleiner als ein Referenzwert ist, und dieses Bild wird dann als das kleine Rauschbild bestimmt, wodurch das kleine Rauschbild entfernt wird. Beispielsweise kann in einem Fall, in dem die Anzahl der Pixel, die in einem Abschnitt mit einer vorbestimmten Fläche schwarz sind, kleiner als der Referenzwert ist, dieses dem Abschnitt entsprechende Bild als das Rauschbild bestimmt werden. In diesem Fall wird der Codebildabschnitt gebildet, wenn der als das Rauschbild bestimmte Abschnitt und ein weißer Pixelabschnitt aus dem Schwarz-Weiß-Bild ausgeschlossen sind.
  • Das Ergebnis des aus dem Schwarz-Weiß-Bild entfernten Rauschbilds wird auf das Farbbild angewendet, so dass das Gebiet des Codebilds aus dem Farbbild extrahiert wird. Beispielsweise wird auch ein Pixel, das an einer Position (Koordinate) existiert, die als das Rauschbild im Schwarz-Weiß-Bild bestimmt ist, selbst im Farbbild als das Rauschbild bestimmt.
  • Der Merkmalspunkt-Extraktionsabschnitt 56 empfängt das Farbbild und/oder das Schwarz-Weiß-Bild, wovon das Rauschbild entfernt wird, sucht den Merkmalspunkt, der das Bild (Codebild) eines spezifischen Objekts enthält, und sein Gebiet, sucht Daten, die sich auf den Typ und die Position des Codebilds beziehen, anhand des Merkmalspunkts des Objekts und bestimmt Fehler. Der Merkmalspunkt-Extraktionsabschnitt 56 wird durch Ausführen der Schritte Unterteilen eines Standardbilds in Blöcke, Suchen des Gebiets des Codebilds, Extrahieren des Merkmalspunkts aus dem durchsuchten Gebiet des Codebilds und Bestimmen des Typs eines Codes implementiert. 9 ist ein Flussdiagramm, in dem der Schritt des Erkennens von in jeder Zelle des Codebilds dargestellten Standardfarben dargestellt ist.
  • In einem Fall, in dem das Standardbild, in dem die Hintergrundfarbe dargestellt ist (oder aus dem das Rauschbild entfernt wurde), in Schritt 91 eingegeben wird, wird das Standardbild in Blöcke unterteilt, so dass das Gebiet des Codebilds in Schritt 92 gesucht werden kann. 10A zeigt, wie das Gesamtbild in Blöcke mit vorbestimmten Größen unterteilt wird. Ein als ein schattiertes Viereck dargestellter Abschnitt bezeichnet ein Gebiet mit dem Codebild. In einem Fall, in dem die Größen des signifikanten Bilds, die zu entsprechenden Blöcken gehören, nachdem das Bild in die Blöcke unterteilt wurde, geprüft werden, kann die Position des Codebilds geschätzt werden. Hier bedeutet das signifikante Bild den Codebildabschnitt mit Ausnahme des Rauschbildabschnitts, dessen Farbe durch die Hintergrundfarbe festgelegt ist. Demgemäß wird der Mittelpunkt des Blocks, wo das zu jedem Block gehörende Gebiet des Codebilds am größten ist, gesucht und das Gebiet des Codebilds auf der Grundlage des Mittelpunkts gesucht. Mit anderen Worten wird in Schritt 93 die Anzahl der Pixel, die zum Gebiet des Codebilds, das nicht das Hintergrundgebiet ist, gehören, für jeden Block erfasst. In Schritt 94 wird der Block mit der größten Anzahl von Pixeln, die zum Gebiet des Codebilds gehören, erfasst, und es wird der Mittelpunkt des Blocks (oder der Mittelpunkt des Gebiets des Codebilds, das zu dem Block gehört) erfasst.
  • Das Gebiet des Gesamtbilds wird in eine Mehrzahl von Blöcken unterteilt, und es wird dann das Gebiet des Codebilds gesucht, wodurch die für die Verarbeitung benötigten Rechenoperationen verringert werden können. In einem Fall, in dem die Form des Codebilds viereckig ist und die Position des Codebilds grob bekannt ist, können die Rechenoperationen verringert werden. In einem Fall, in dem die Anzahl der Pixel, die zum Gebiet des Codebilds in jedem Block gehören, in 10A berechnet wird, ist die Anzahl der zum Codebild gehörenden Pixel in Block 6 am größten und nimmt in der Reihenfolge von den Blöcken 2, 3 und 5 ab.
  • Demgemäß kann in einem Fall, in dem eine Bildrechenoperation nur im Gebiet der Blöcke 2, 3, 5 und 6 und nicht in den Blöcken 1, 4, 7, 8 oder 9, wo es keine oder wenige Pixel gibt, die zum Gebiet des Codebilds gehören, ausgeführt wird, kann die Anzahl der ausgeführten Rechenoperationen stark verringert werden. Wie in 10B dargestellt ist, gibt es in einem Fall, in dem das Codebild aus einer Mehrzahl von räumlich voneinander getrennten Bildern besteht, eine Mehrzahl von Gebieten des Codebilds. Vorzugsweise wird in einem solchen Fall zuerst das Bildgebiet mit der höchsten Größe unter der Mehrzahl von Codebildern, welche als das Gebiet des Codebilds angesehen werden, gesucht, und es werden dann andere Bildgebiete in der Reihenfolge der Größe geprüft.
  • Anschließend wird der Schritt des Suchens des Gebiets eines Codes, worin das Codebild gebildet ist, auf der Grundlage des im Schritt des Unterteilens des Standardbilds in Blöcke gesuchten Mittelpunkts ausgeführt. In Schritt 95 wird das gesamte Standardbild anhand des Mittelpunkts durchsucht, und es wird ein Kandidatengebiet für das Gebiet des Codebilds erfasst. In Schritt 96 wird der Merkmalspunkt anhand des Kandidatengebiets erfasst, und es werden dadurch die Form und der Typ des Codebilds bestimmt. In diesem Schritt wird das Gebiet einer durch Umschreibungspunkte des Kandidatengebiets gebildeten Figur gesucht, was zu einem viereckigen oder einem kreisförmigen Gebiet führen kann, und das aus dem erfassten Gebiet bestehende Bild wird zu einem Codebild. Dann werden Zellengebiete in dem Codebild in Schritt 97 voneinander unterschieden, und in einer entsprechenden Zelle dargestellte Standardfarben werden in Schritt 98 auf der Grundlage der Farben von Pixeln, die zu jedem Zellengebiet gehören, erkannt.
  • Die 11A bis 11C zeigen den Schritt des Erfassens des Kandidatengebiets, und Gebiete 104, die durch eine schräge Linie markiert sind, bezeichnen ein Codebildgebiet, das tatsächlich zu erhalten ist, und es werden Kandidatengebiete 103, welche die Gebiete 104 enthalten, erfasst. Der Schritt dient dazu, einen Prozess durch Auswählen eines teilweise notwendigen Bildgebiets aus den Gesamtbildern und Ausführen eines künftigen Rechenprozesses in Bezug auf das Teilbild zu vereinfachen. Es wird ein Extrempunkt (d. h. ein Punkt mit Minimal- und Maximalwerten auf x- und y-Koordinaten) eines als Codebild geschätzten Bildgebiets erhalten, und es wird eine Figur, welche den Extrempunkt aufweist, als Kandidatengebiete 103 bestimmt. Beispielsweise werden Koordinaten mit Minimal- und Maximalwerten auf einer x-Achse und Minimal- und Maximalwerten auf einer y-Achse aus Pixeln, die zum Bild mit Ausnahme eines Hintergrundgebiets aus Gebieten 102 der Blöcke 2, 3, 5 und 6, die in 10A ausgewählt wurden, gehören, erhalten, und eine durch die Koordinaten gebildete Figur (Viereck) wird als ein Kandidatengebiet bestimmt.
  • Ein Verfahren zum Suchen eines Kandidatengebiets schließt ein Verkleinerungssuchverfahren und ein Erweiterungssuchverfahren ein. Beim Erweiterungssuchverfahren wird ein dem Codebild entsprechendes Gebiet gesucht, während es vom Mittelpunkt nach außen erweitert wird. Das heißt, dass das Codebildgebiet gesucht wird, indem es bis zu einem als Codebildgebiet, das nicht das Hintergrundgebiet ist, bestimmten Abschnitt erweitert wird. Beim Verkleinerungssuchverfahren wird das Codebildgebiet gesucht, indem es von außen auf den Mittelpunkt verkleinert wird. In einem Fall, in dem das Codebild aus einem Viereck besteht, wird das Kandidatengebiet als eine linke obere Koordinate und eine rechte untere Koordinate ausgedrückt. In einem Fall, in dem das Codebild aus einem Kreis besteht, wird das Kandidaten gebiet als die Koordinate des Mittelpunkts und die Länge des Radius ausgedrückt.
  • Ein Verfahren zum Bestimmen eines Merkmalspunkts schließt ein Diagonalensuchverfahren oder ein Grenzerfassungsverfahren ein. Beim Diagonalensuchverfahren (siehe 12A) wird der Merkmalspunkt unter Verwendung eines Segments mit einer temporären Steigung im Kandidatengebiet gesucht. Beispielsweise wird in einem Fall, in dem das Codebild aus Vierecken besteht, um Scheitelpunkte des viereckigen Codebilds im Kandidatengebiet zu suchen, eine Diagonale mit einem Winkel von 45 Grad an Scheitelpunkten des Kandidatengebiets gezogen, und es wird auf diese Weise ein viereckiges Gebiet, das aus Punkten gebildet ist, welche die Diagonale von außen berühren, gesucht. Wie in 12A dargestellt ist, wird ein Punkt, an dem ein Pixel, das zum Codebildgebiet gehört, welches nicht das Hintergrundgebiet ist, indem die Diagonale mit dem Winkel von 45 Grad, die an jedem Scheitelpunkt des Kandidatengebiets beginnt, verwendet wird, die Diagonale berührt, als der Merkmalspunkt bestimmt. Die Diagonale in Bezug auf jeden Scheitelpunkt des Kandidatengebiets hat eine vorbestimmte Richtung in der Art einer Richtung entgegen dem Uhrzeigersinn oder einer Richtung im Uhrzeigersinn.
  • Die 12B und 12C zeigen das Diagonalensuchverfahren in größeren Einzelheiten. In 12B wird in einem Fall, in dem der Merkmalspunkt anhand der Diagonalen in Richtung ➀ erfasst wird, falls mehrere Pixel die Diagonale berühren, wie dargestellt ist, ein schließlich erfasstes Pixel (das Pixel
    Figure 00320001
    in der Zeichnung) als der Merkmalspunkt bestimmt. Als nächstes wird der Schritt in den Richtungen ➁, ➂ und ➃ ausgeführt, und es werden dadurch gewünschte Merkmalspunkte des Codebildgebiets erfasst. In einem Fall, in dem die Merkmalspunkte durch das Diagonalen erfassungsverfahren erfasst werden, können nicht alle der gewünschten Merkmalspunkte erfasst werden. Beispielsweise sollten in einem Fall eines viereckigen Codebilds vier Merkmalspunkte extrahiert werden, es können jedoch nur drei Merkmalspunkte extrahiert werden. In 12C wird in einem Fall, in dem die Anzahl der Merkmalspunkte nicht ausreicht, der Schritt des Suchens in vertikaler und horizontaler Richtung weiter ausgeführt. Mit anderen Worten werden die Pixel des Codebildgebiets, die der Grenzfläche des Kandidatengebiets am nächsten liegen, in den Richtungen ➄, ➅, ➆ und ➇ erfasst. Die durch das Diagonalensuchverfahren bestimmten Merkmalspunkte können von den Merkmalspunkten verschieden sein, die durch eine Suche in vertikaler/horizontaler Richtung bestimmt werden. In einem solchen Fall wird entweder der gemittelte Wert von zwei Koordinaten oder eine der zwei Koordinaten ausgewählt, um den Merkmalspunkt zu bestimmen.
  • Beim Grenzerfassungsverfahren (siehe 13) wird die äußere Grenze des im Kandidatengebiet enthaltenen Codebildgebiets verfolgt, und es werden auf diese Weise die Merkmalspunkte in der Art der Scheitelpunkte des Codebilds gesucht. Zuerst werden Koordinaten, welche eine Grenze bilden, als Kandidatenkoordinaten gewählt. Als nächstes wird in einem Fall, in dem die Steigung benachbarter Kandidatenkoordinaten geprüft wird und es keine Steigungsvariation zwischen den Koordinaten gibt, ein Verfahren zum Entfernen der Koordinaten aus den Kandidatenkoordinaten verwendet (steigungsbasiertes Verfahren). Beispielsweise wird in einem Fall, in dem benachbarte Kandidatenkoordinaten (xi-1, Yi-1), (xi, yi) und (xi+1, yi+1) sind, falls a1 = (yi – yi-1)/(xi – xi-1) und a2 = (yi+1 – yi)/(xi+1 – xi) sind und a1 gleich a2 ist oder die Differenz zwischen a1 und a2 kleiner als ein vorbestimmter Wert ist, die Koordinate (xi, yi) nicht als der Merkmalspunkt bestimmt.
  • Zusätzlich kann abgesehen von dem steigungsbasierten Verfahren ein abstandsbasiertes Verfahren verwendet werden. In einem Fall, in dem ein Abstand zwischen den benachbarten Merkmalspunkt-Kandidatenkoordinaten kleiner als ein vorbestimmter Abstand ist, werden die Koordinaten aus den Merkmalspunkt-Kandidatenkoordinaten entfernt. Das heißt, dass in einem Fall, in dem ein Abstand
    Figure 00340001
    zwischen den beiden benachbarten Kandidatenkoordinaten (xi-1, yi-1) und (xi, yi) kleiner als der vorbestimmte Wert ist, die Koordinate (xi, yi) aus den Kandidatenkoordinaten entfernt wird.
  • Das Schließen der Grenze und der Winkel und die Länge der Grenze werden unter Verwendung der Merkmalspunkte geprüft, und es können auf diese Weise die Form und der Typ des Codebilds gesucht werden. Beispielsweise können in einem Fall, in dem ein Codebild aus 5×5 oder 8×5 Zellen gebildet werden kann, die Typen des Codebilds entsprechend dem Verhältnis zwischen der Breite und der Länge unterschieden werden. Das heißt, dass in einem Fall, in dem das Verhältnis zwischen der Breite und der Länge ähnlich ist, das Codebild als ein Quadrat bestimmt werden kann und als ein 5×5-Matrix-Codebild erkannt werden kann. Andererseits kann in einem Fall, in dem die Differenz zwischen der Breite und der Länge größer als ein vorbestimmter Wert ist, das Codebild als ein zweidimensionales 8×5-Codebild bestimmt werden. Zusätzlich kann der Mittelpunkt der das Codebild bildenden Zellen unter Verwendung einer Längenrate und einer Steigung gefunden werden. Zusätzlich wird bestimmt, ob das Codebild unter Berücksichtigung der Größe oder der Fläche und der Längenrate des Codebilds richtig extrahiert wird.
  • Die 14A bis 14C zeigen den Schritt des Unterteilens von Zellen, die zum Codebildgebiet gehören, und des Findens von Mittelpunkten der Zellen. Mit Bezug auf 14A wird das Codebild gemäß der vorliegenden Erfindung als ein viereckiges 4×4-Bild bestimmt. Die Breite und die Länge des Codebilds werden jeweils durch 4 dividiert, und die Koordinaten der Mittelpunkte der Zellen, die wie in 14B dargestellt dividiert wurden, werden erhalten.
  • 14C zeigt einen Algorithmus zum Suchen nach den Mittelpunkten von Zellen. In einem Fall, in dem die Länge einer Seite des Codebilds L ist und die Länge einer Achse X W ist und die Länge einer Achse Y H ist, wenn eine senkrechte Linie auf der Grundlage der Länge L der Seite des Codebilds zu den Achsen X und Y gezeichnet wird, wird die für das Suchen des Mittelpunkts einer i-ten Zelle, welche die Seite berührt, verwendete Position von X und Y durch Gleichung 6 ausgedrückt. Hier ist C die Anzahl der Zellen, die in Zeilen oder Spalten eines Farbcodes positioniert sind.
  • Figure 00350001
  • Die Koordinate des Punkts, der die Seite des Codes berührt, wird durch Gleichung 6 erhalten, und in einem Fall, in dem die Koordinate mit dem Punkt derselben Ordnung wie auf einer entgegengesetzten Seite verbunden ist, wird der Kontaktpunkt erzeugt, in dem zwei Segmente einander schneiden, welcher als der Mittelpunkt jeder Zelle bestimmt wird. Gleichung 6 ist nur für einen Fall ideal, in dem ein Nahaufnahmewinkel des Codebilds und einer Kamera 90 Grad beträgt. Demgemäß tritt in einem Fall, in dem der Nahaufnahmewinkel klein ist (d. h. in einem Fall, in dem die Kamera liegt), eine Verzerrung in dem Codebild auf, so dass Fehler erzeugt werden können. Beispielsweise wird in einem Fall, in dem der Nahaufnahmewinkel zu klein ist, das Codebild des ursprünglichen Vierecks in Form eines Trapezoids eingegeben. Demgemäß kann, um dies zu korrigieren, eine zusätzliche Rechenoperation erforderlich sein, in den meisten Fällen genügt jedoch die vorstehend erwähnte Gleichung. Insbesondere kann, wenngleich die Verzerrung erheblich ist, falls die Größe des Bilds hoch ist, nach der mittleren Position von Zellen unter Verwendung der vorstehend erwähnten Gleichung oder einer zusätzlichen Gleichung gesucht werden. Abgesehen von dem vorstehend erwähnten Verfahren wird die Grenzlinie oder das Grenzgebiet zwischen Zellen, das eingefügt wird, wenn das Codebild erzeugt wird, unter Berücksichtigung der Verteilung von Farben von Pixeln in dem Codebildgebiet erfasst, so dass Zellen auf dieser Grundlage unterschieden werden können.
  • In Schritt 68 decodiert der Decodierer 57 das Codebild durch die Verwendung vom Merkmalspunkt-Extraktionsabschnitt 56 gesuchter Daten und reproduziert Codedaten. Die Schritte des Bestimmens der Farbe/Schattierung jeder Zelle und des Prüfens von Paritätsdaten werden unter Verwendung der Farbumgebungsvariable und der von der Steuereinrichtung 58 eingegebenen Analyseinformationen (Farbmodus und Typ des Code bilds) ausgeführt. Der Wert der für jede Zelle erfassten Farbe oder Schattierung wird durch ein entsprechendes Zeichen, eine entsprechende Zahl oder ein entsprechendes Symbol ersetzt. Dann kann eine Abnormität durch eine Paritätsoperation festgestellt werden, und das entsprechende Zeichen, die entsprechende Zahl oder das entsprechende Symbol wird in einem Fall ausgegeben, in dem keine Abnormität auftritt. Die vorstehend erwähnten Schritte werden an allen Zellen ausgeführt, und gewünschte Codedaten werden durch Verbinden des Zeichens, der Zahl oder des Symbols, das oder die in Bezug auf jede Zelle erhalten wurde, erzeugt.
  • Die Position jeder Zelle wird durch die vom Merkmalspunkt-Extraktionsabschnitt 56 eingegebene Mittenkoordinate jeder Zelle geprüft, und eine vorbestimmte Anzahl von Pixeln wird auf dieser Grundlage extrahiert, und es können dadurch Farben bestimmt werden. Farben können unter Verwendung des RGB-Modus bestimmt werden, nachdem der gemittelte Wert abgetasteter Pixel erhalten wurde, oder Farben können bestimmt werden, um eine entsprechende Zelle darzustellen, nachdem der Winkel von Farben unter Verwendung des HSV-Modus erhalten wurde. Im Fall der Farbbestimmung unter Verwendung des RGB-Modus ist der Wert von jeder der RGB-Komponenten der abgetasteten Pixel im Farbbild nach Durchlaufen des Schritts des Konvertierens von Farben durch die Farbumgebungsvariable 0 oder 255, so dass sich die Farben in einem Standardfarbzustand befinden. Demgemäß wird die Farbe mit der höchsten Frequenz unter den abgetasteten Pixeln als die Farbe einer entsprechenden Zelle bestimmt. In einem Fall, in dem das Farbbild, das nicht in die Standardfarben konvertiert wurde, eingegeben wird, wird die Farbumgebungsvariable auf die abgetasteten Pixel angewendet, und die abgetasteten Pixel werden in die Standardfarben konvertiert, und Farben mit der höchsten Frequenz werden als Farben einer entsprechenden Zelle bestimmt. Im Fall der Farb bestimmung durch den HSV-Modus werden die Werte von RGB der abgetasteten Pixel bestimmt, nachdem sie durch die HSV-Konvertierung konvertiert wurden.
  • Im Fall des durch drei Graustufen dargestellten Codebilds werden die gemittelten Werte für jede der Zellen erhalten, und in einem Fall, in dem die gemittelten Werte in der Reihenfolge der Größe angeordnet sind, werden Abschnitte mit einer verhältnismäßig hohen Verteilungsfrequenz der angeordneten gemittelten Werte an drei Stellen konvergiert, und es gibt auch Intervalle der drei Stellen, die eine verhältnismäßig niedrige Frequenz haben. Der Mittelpunkt des längsten Intervalls und der Mittelpunkt des längsten Intervalls an der zweiten Stelle werden erhalten, und falls dann Werte, die den beiden Mittelpunkten entsprechen, mit den gemittelten Werten von jeder der Zellen verglichen werden, kann festgestellt werden, zu welcher Stufe jede Zelle gehört (Schwarz, Grau oder Weiß). Beispielsweise werden die gemittelten Werte für R, G und B der von einer Zelle abgetasteten Pixel erhalten und können dadurch als Helligkeitswert verwendet werden. Die Verteilung des Helligkeitswerts wird unter Verwendung der für jede Zelle erhaltenen Helligkeitswerte geprüft und in drei Gruppen, wie Schwarz, Weiß und Grau, unterteilt. Dann wird eine Schattierung einer Zelle als Schattierung, die dem Helligkeitswert der Zelle am nächsten liegt, bestimmt.
  • In dem Fall des in 2E dargestellten Codebilds wird das Datengebiet von den Hilfsgebieten (dem Paritätsgebiet, dem Referenzgebiet und/oder dem Steuergebiet) in dem Codebild unterschieden. In einem Fall, in dem es das Referenzgebiet gibt, werden die Farben, Schattierungen, Formen und Muster, die in jeder Zelle repräsentiert sind, unter Verwendung des Referenzgebiets bestimmt, und in einem Fall, in dem es das Paritätsgebiet gibt, werden Fehler von Daten zellen bestimmt.
  • Der Schritt des Suchens von Formen, Farben, Mustern und Zeichen, die in dem Codebild enthalten sind, ist in dem Schritt des Decodierens erforderlich, und es ist abgesehen davon der Schritt des Korrigierens eines verzerrten Bilds erforderlich. Hier ist eine Farbbestimmung unter Verwendung von einem oder mehreren Verfahren aus dem Rot-Grün-Blau-(RGB)-Modus, dem Farbton-Sättigung-Wert-(HSV)-Modus, dem Zyan-Magenta-Gelb-(CMY)-Modus und dem Farbton-Helligkeit-Sättigung-(HLS)-Modus möglich.
  • Die Codewerte von jeder der Zellen, die sich im Datengebiet und/oder im Hilfsgebiet befinden, werden zur Decodierung extrahiert. In einem Fall, in dem es das Referenzgebiet gibt, werden Referenzfarben (oder eine Referenzschattierung), Referenzformen oder Referenzmuster als Referenz zum Interpretieren von Daten in allen Gebieten durch Erfassen der Farben oder der Schattierung einer Referenzzelle gebildet. Die Farben, Formen und Muster der Zellen, die sich im Datengebiet, im Paritätsgebiet oder im Steuergebiet befinden, werden erfasst, und es wird dann eine Differenz zwischen der erfassten Farbe und den Referenzfarben, den Referenzformen und/oder den Referenzmustern erhalten, und es wird dadurch die Differenz in die Codewerte für jede der Zellen konvertiert. In einem Fall, in dem es kein Referenzgebiet gibt, können die jeder der Zellen entsprechenden Codewerte entsprechend den Farben oder der Schattierung, den Formen und/oder den Mustern, die durch die Bildeingabevorrichtung gelesen werden, erhalten werden.
  • In einem Fall, in dem es das Paritätsgebiet gibt, wird der Schritt des Prüfens von Fehlern der Parität in Bezug auf jede Zeile und Spalte des Codebilds durch die von dem Paritätsgebiet erhaltenen Codewerte (d. h. Paritätsdaten) ausge führt. Umgebungsvariablen, die für die gewöhnlich verwendete Beleuchtung optimiert sind, und Gewichtswerte davon können in einem Decodierprogramm oder einer Datenbank vorab gespeichert werden, so dass der Benutzer die Umgebungsvariable auswählen kann, die für die eigene Umgebung am besten geeignet ist. Beim Auftreten der Paritätsfehler kann davon ausgegangen werden, dass es Fehler beim Lesen von Farben durch die gegenwärtig festgelegten Umgebungsvariablen gibt, und es wird in diesem Fall eine andere Umgebungsvariable verwendet, um die Farben wieder zu lesen. Falls erforderlich, kann die Richtung oder die Position des Codebilds auf der Grundlage der Paritätsdaten gesucht werden.
  • Die Codewerte von jeder der Zellen, die durch den vorstehenden Schritt erhalten werden, werden durch die Codekonvertierungstabelle (siehe 3B) in Codedaten konvertiert, die aus erkennbaren Zeichen, einschließlich Zahlen und Symbolen, bestehen. In einem Fall, in dem es das Steuergebiet für das Festlegen von Gegebenheiten, die sich auf Befehle oder Dienste beziehen, die unter Verwendung von Codedaten verfügbar sind, in dem Codebild gibt, werden die Befehle oder Dienste entsprechend den im Steuergebiet festgelegten Daten bereitgestellt, und falls dies nicht der Fall ist, können in einem Programm festgelegte Grunddienste bereitgestellt werden.
  • 15 ist ein Blockdiagramm der Vorrichtung gemäß einer dritten Ausführungsform der vorliegenden Erfindung, und 16 ist ein Flussdiagramm, in dem die Arbeitsweise der in 15 dargestellten Vorrichtung dargestellt ist. Verglichen mit der in 5 dargestellten Vorrichtung gibt es in der Hinsicht einen Unterschied, dass die Vorrichtung aus 5 zuvor Farben jedes Pixels in Bezug auf das Rohbild durch ein Farbfilter zu Standardfarben konvertiert und eine Bildverarbeitung ausführt und die Vorrichtung aus 15 das gewünschte Codebildgebiet aus dem Rohbild extrahiert und Farben von jedem der Pixel (oder eines unter den Pixeln abgetasteten Pixels), die zum Codebildgebiet gehören, unter Verwendung der Umgebungsvariablen durch das Farbfilter in die Standardfarben konvertiert. Andere Funktionen oder Arbeitsweisen sind im Wesentlichen ähnlich, und ein Speicher ist aus Gründen der Zweckmäßigkeit nicht dargestellt. Nachstehend wird ein Unterschied gegenüber der Vorrichtung aus 5 beschrieben, und der Rest kann nur dann in der gleichen Weise angewendet werden, wenn es kein Problem mit der Verarbeitungsreihenfolge oder dem Betrieb gibt.
  • Die in 15 dargestellte Vorrichtung zum Erkennen eines Codes erfasst das Rohbild, in dem das Codebild enthalten ist, in einem Bilderfassungsabschnitt 151, unterteilt Farben oder die Schattierung des Rohbilds, entsprechend einem vorbestimmten Referenzwert in einem binär codierten Konvertierungsabschnitt 153 in zwei Farben und erzeugt dadurch ein binär codiertes Bild.
  • Ein Vorverarbeitungsabschnitt 154 legt eine Farbe eines Abschnitts mit Ausnahme eines Codebildabschnitts in dem binär codierten Bild als spezifische Hintergrundfarbe fest und legt eine Farbe eines Abschnitts des Rohbilds, entsprechend dem durch die Hintergrundfarbe im binär codierten Bild festgelegten Abschnitt, als die Hintergrundfarbe fest, wodurch der Codebildabschnitt von anderen Abschnitten unterschieden wird. Ein Merkmalspunkt-Extraktionsabschnitt 155 extrahiert eine Mehrzahl von in dem Codebildabschnitt enthaltenen Zellen und erkennt Farben oder Schattierungen, die in jeder Zelle repräsentiert sind.
  • Ein Farbfilter 156 legt Umgebungsvariablen unter Berücksichtigung einer Umgebung zu einer Zeit fest, zu der das Rohbild erfasst wird, korrigiert die Farben oder die Schattierung, die in jeder im Codebildabschnitt enthaltenen Zelle erkannt werden, durch die Umgebungsvariablen und konvertiert die korrigierten Farben oder die korrigierte Schattierung in eine Mehrzahl von Standardfarben oder eine Standardschattierung, die zum Erzeugen des Codebilds verwendet werden, wodurch ein durch die Standardfarben oder die Standardschattierung repräsentiertes Standardbild erzeugt wird.
  • Ein Decodierer 157 extrahiert ein entsprechendes Zeichen, eine entsprechende Zahl oder ein entsprechendes Symbol aus Farben oder einer Schattierung, die in jeder Zelle des Codebilds erkannt wurden, entsprechend einer Beziehung zwischen einem Zeichen, einer Zahl oder einem Symbol und entsprechenden Farben oder einer entsprechenden Schattierung, und erzeugt Codedaten.
  • Die Arbeitsweise der in 15 dargestellten Vorrichtung wird mit Bezug auf 16 beschrieben. In Schritt 161 wird das Rohbild, in dem das Codebild enthalten ist, erfasst. In Schritt 162 werden die Farben oder die Schattierung des Rohbilds, entsprechend dem vorbestimmten Referenzwert, in zwei Farben unterteilt, und es wird auf diese Weise das binär codierte Bild erzeugt. In Schritt 163 wird der Abschnitt mit Ausnahme des Codebildabschnitts durch die spezifische Hintergrundfarbe auf der Grundlage des binär codierten Bilds dargestellt. In Schritt 164 wird der Abschnitt des Rohbilds, der dem durch die Hintergrundfarbe im binär codierten Bild dargestellten Abschnitt entspricht, als die Hintergrundfarbe verarbeitet, wodurch der Codebildabschnitt von den anderen Abschnitten unterschieden wird. In Schritt 165 wird die Mehrzahl von Zellen, die in dem Codebildabschnitt enthalten sind, extrahiert, und es werden dann die Farben oder die Schattierung, die in jeder Zelle repräsentiert sind, erkannt. In Schritt 166 werden die Umgebungsvariablen unter Berücksichtigung der Umgebung zu einer Zeit festgelegt, zu der das Rohbild erfasst wird, und die Farben oder die Schattierung, die in jeder im Codebild enthaltenen Zelle erkannt werden, werden durch die Umgebungsvariablen korrigiert. In Schritt 167 werden die korrigierten Farben oder die korrigierte Schattierung in eine Mehrzahl von Standardfarben oder eine Standardschattierung konvertiert, welche zum Erzeugen des Codebilds verwendet werden, und es wird auf diese Weise das durch die Standardfarben oder die Standardschattierung repräsentierte Standardbild erzeugt. Weil gemäß der vorliegenden Ausführungsform die Position des Mittelpunkts jeder Zelle und der Typ eines Codes bereits bekannt sind, werden vorbestimmte Pixel auf der Grundlage des Mittelpunkts jeder Zelle abgetastet, und die Umgebungsvariablen werden nur auf die abgetasteten Pixel angewendet, wodurch die Standardfarben oder die Standardschattierung der Zelle unterschieden werden können. Vorzugsweise werden Daten, die sich auf die unterschiedenen Standardfarben oder die Standardschattierung jeder Zelle beziehen, in einem Speicher gespeichert und zum Erzeugen von Codedaten verwendet. Dadurch können für das Erzeugen des Standardbilds benötigte Schritte fortgelassen werden.
  • In Schritt 168 wird ein entsprechendes Zeichen, eine entsprechende Zahl oder ein entsprechendes Symbol aus den Farben oder der Schattierung, die in jeder Zelle des Codebilds erkannt wurden, entsprechend der Beziehung zwischen einem Zeichen, einer Zahl oder einem Symbol und entsprechenden Farben oder einer entsprechenden Schattierung extrahiert, so dass Codedaten erzeugt werden.
  • Das Verfahren zum Erkennen eines Codes gemäß der vorliegenden Erfindung kann in ein Computerprogramm auf genommen werden. Das Programm kann in Medien, die in einem Computer verwendet werden, und in einem üblichen Digitalcomputer zum Betreiben des Programms verwirklicht werden. Das Programm kann auf computerlesbaren Medien gespeichert werden. Die Medien können magnetische Medien in der Art einer Diskette oder einer Festplatte und optische Medien in der Art einer CD-ROM oder einer DVD umfassen. Auch kann das Programm durch Trägerwellen in der Art des Internets übertragen werden. Auch ist das computerlesbare Medium verteilt in einem durch Netzwerke verbundenen Computersystem angeordnet und kann als computerlesbare Codes gespeichert werden und durch ein Verteilungsverfahren implementiert werden.
  • Industrielle Anwendbarkeit
  • Wie vorstehend beschrieben wurde, können die Vorrichtung zum Erkennen eines Codes und das Verfahren davon gemäß der vorliegenden Erfindung ein Codebild empfangen, in dem vorbestimmte Daten durch Farben oder eine Schattierung codiert sind, und ursprüngliche Farben oder eine ursprüngliche Schattierung, unabhängig von einer Umgebung, in die das Codebild eingebracht wird, genau unterscheiden, und es können auf diese Weise gewünschte Codedaten erhalten werden.
  • Wenngleich diese Erfindung mit Bezug auf bevorzugte Ausführungsformen eingehend dargestellt und beschrieben wurde, werden Fachleute verstehen, dass verschiedene Änderungen an der Form und den Einzelheiten an dieser vorgenommen werden können, ohne von dem durch die anliegenden Ansprüche definierten Schutzumfang der Erfindung abzuweichen.

Claims (7)

  1. Vorrichtung zum Erkennen eines Codes, welche aufweist: einen Codefestlegungsabschnitt (17) zum Aufstellen einer Beziehung zwischen dem Zeichen, der Zahl oder dem Symbol und der entsprechenden Farbe oder Schattierung, einen Bilderfassungsabschnitt (11) zum Erfassen eines Rohbilds, in dem ein Codebild enthalten ist, gekennzeichnet durch: einen Bildverarbeitungsabschnitt (13) zum Unterscheiden eines Bereichs des Codebilds von anderen Bereichen, zum Extrahieren einer Mehrzahl von Zellen, die in dem Codebildbereich enthalten sind, und zum Erkennen der Standardfarbe oder Standardschattierung, die in jeder der Zellen repräsentiert ist, und zum Korrigieren in Bezug auf jede der Zellen, die in dem Codebildbereich enthalten sind, erkannter Farben oder Farbtöne unter Verwendung einer Umgebungsvariable, die unter Berücksichtigung einer Umgebung, in der das Rohbild eingegeben wird, festgelegt wird, um Farben oder Schattierungen des Rohbilds zu unterscheiden, und einen Codekonvertierungsabschnitt (15) zum Konvertieren der korrigierten Farben oder Schattierungen in eine Mehrzahl von Standardfarben oder Standardschattierungen, die zum Erzeugen des Codebilds verwendet werden, und zum Extrahieren eines entsprechenden Zeichens, einer entsprechenden Zahl oder eines entsprechenden Symbols aus der in jeder der Zellen des Codebilds erkannten Farbe oder Schattierung, entsprechend der in dem Codefestlegungsabschnitt (17) aufgestellten Beziehung, um Codedaten zu erzeugen.
  2. Vorrichtung nach Anspruch 1, wobei der Bildverarbeitungsabschnitt (11) die Farben oder Schattierungen des Rohbilds, entsprechend einem vorbestimmten Referenzwert, in zwei Farben unterteilt, um ein binär codiertes Bild zu erzeugen, und einen Bereich, der den Codebildbereich nicht enthält, aus dem binär codierten Bild extrahiert, um eine Farbe des extrahierten Bereichs als eine Hintergrundfarbe festzulegen.
  3. Vorrichtung nach Anspruch 2, wobei der Bildverarbeitungsabschnitt (11) Farben von Pixeln, die an einem Rand des binär codierten Bilds positioniert sind, als eine Hintergrundfarbe festlegt, und Farben von Pixeln, die mit den durch die Hintergrundfarbe festgelegten Pixeln verbunden sind, als die Hintergrundfarbe festlegt, wodurch der Codebildbereich von anderen Bereichen unterschieden wird.
  4. Vorrichtung nach Anspruch 2, wobei der Bildverarbeitungsabschnitt (11) ein Bild empfängt, in dem der Codebildbereich und die anderen Bereiche durch die Hintergrundfarbe unterteilt sind, das Bild in eine Mehrzahl von Blöcken unterteilt, ein Gebiet mit einer Farbe oder Schattierung, die nicht die Hintergrundfarbe ist, aus jedem der Blöcke erfasst, einen Block, der das größte Gebiet unter der Mehrzahl von Blöcken aufweist, auswählt, einen Mittelpunkt des in dem Block enthaltenen Codebildbereichs erfasst und das gesamte Bild auf der Grundlage des Mittelpunkts durchsucht, wodurch das Gebiet mit einer Farbe oder Schattierung, die nicht die Hintergrundfarbe ist, als der Codebildbereich erfasst wird.
  5. Vorrichtung nach Anspruch 1, wobei der Bildverarbeitungsabschnitt (11) eine Farbe oder Schattierung, die unter den Farben oder Schattierungen von Pixeln, die zu jeder Zelle gehören, die größte Verteilung aufweist, als die Farbe oder Schattierung einer entsprechenden Zelle erkennt.
  6. Verfahren zum Erkennen eines Codes mit folgenden Schritten: Erfassen eines Rohbilds, in dem ein Codebild enthalten ist, wobei das Verfahren durch folgende Schritte gekennzeichnet ist: Unterscheiden des Codebildbereichs von anderen Bereichen, Extrahieren einer Mehrzahl von Zellen, die in dem Codebildbereich enthalten sind, und Erkennen der Standardfarbe oder Standardschattierung, die in jeder der Zellen repräsentiert ist, Korrigieren in Bezug auf jede der Zellen, die in dem Codebildbereich enthalten sind, erkannter Farben oder Schattierungen unter Verwendung einer Umgebungsvariable, die unter Berücksichtigung einer Umgebung, in der das Rohbild eingegeben wird, festgelegt wird, um Farben oder Schattierungen des Rohbilds zu unterscheiden, Konvertieren der korrigierten Farben oder Schattierungen in eine Mehrzahl von Standardfarben oder Standardschattierungen, die zum Erzeugen des Codebilds verwendet werden, und Extrahieren eines entsprechenden Zeichens, einer entsprechenden Zahl oder eines entsprechenden Symbols aus der in jeder der Zellen des Codebilds erkannten Farbe oder Schattierung, entsprechend einer Beziehung zwischen dem Zeichen, der Zahl oder dem Symbol und der entsprechenden Farbe oder Schattierung, um Codedaten zu erzeugen.
  7. Computerlesbares Medium, in dem ein Programm zum Implementieren des Verfahrens nach Anspruch 6 gespeichert ist.
DE60225329T 2001-11-03 2002-05-13 Vorrichtung und verfahren zur erkennung von code Expired - Lifetime DE60225329T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR2001068378 2001-11-03
KR1020010068378A KR100339691B1 (ko) 2001-11-03 2001-11-03 코드인식을 위한 장치 및 그 방법
PCT/KR2002/000886 WO2003041014A1 (en) 2001-11-03 2002-05-13 Apparatus and method for recognizing code

Publications (2)

Publication Number Publication Date
DE60225329D1 DE60225329D1 (de) 2008-04-10
DE60225329T2 true DE60225329T2 (de) 2009-02-19

Family

ID=19715674

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60225329T Expired - Lifetime DE60225329T2 (de) 2001-11-03 2002-05-13 Vorrichtung und verfahren zur erkennung von code

Country Status (10)

Country Link
US (1) US6981644B2 (de)
EP (1) EP1456816B1 (de)
JP (1) JP4016342B2 (de)
KR (1) KR100339691B1 (de)
CN (1) CN1310187C (de)
AT (1) ATE387676T1 (de)
DE (1) DE60225329T2 (de)
ES (1) ES2303566T3 (de)
HK (1) HK1072826A1 (de)
WO (1) WO2003041014A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11934554B2 (en) 2021-05-17 2024-03-19 Bank Of America Corporation Information security by preventing unauthorized data access

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4189506B2 (ja) * 2000-06-09 2008-12-03 コニカミノルタビジネステクノロジーズ株式会社 画像処理のための装置、方法及び記録媒体
US8682077B1 (en) 2000-11-28 2014-03-25 Hand Held Products, Inc. Method for omnidirectional processing of 2D images including recognizable characters
JP2004165863A (ja) * 2002-11-12 2004-06-10 Murata Mach Ltd カラー画像送信装置
JP3996520B2 (ja) * 2003-01-30 2007-10-24 株式会社デンソーウェーブ 二次元情報コードおよびその生成方法
JP3880553B2 (ja) 2003-07-31 2007-02-14 キヤノン株式会社 画像処理方法および装置
JP4205554B2 (ja) * 2003-11-11 2009-01-07 富士フイルム株式会社 帳票処理装置
TWI249141B (en) * 2004-07-12 2006-02-11 Sunplus Technology Co Ltd Document having index data and system for reading document having index data
US20060081711A1 (en) * 2004-09-30 2006-04-20 Junxiang Zhao Color-identifying system for colored barcode and a method thereof
US7751629B2 (en) 2004-11-05 2010-07-06 Colorzip Media, Inc. Method and apparatus for decoding mixed code
KR101035762B1 (ko) 2005-01-07 2011-05-20 삼성전자주식회사 개선된 패턴 데이터의 인식 장치 및 방법
US20060180672A1 (en) * 2005-02-11 2006-08-17 Chu Lonny L Method and system for multi-dimensional symbol coding system
JP4393411B2 (ja) * 2005-03-29 2010-01-06 株式会社東芝 画像処理装置、画像処理プログラムおよび画像処理方法
KR100702292B1 (ko) * 2005-05-03 2007-03-30 (주)아이미디어아이앤씨 이미지 코드 및 그의 인식방법과 인식장치
KR100703527B1 (ko) * 2005-07-12 2007-04-03 삼성전자주식회사 핫코드 인식률 향상을 위한 이미지 전처리 방법 및 그 장치
DE102005034374B3 (de) * 2005-07-22 2007-03-01 Siemens Ag Verfahren zur automatischen Erstellung einer Hintergrundmaske bei Bildern mit verrauschten Hintergrundbereichen, Anwendungen dazu sowie ein Kernspintomographiegerät zur Durchführung der Verfahren und Computersoftwareprodukt
US8789756B2 (en) * 2006-02-25 2014-07-29 Roche Diagnostics Operations, Inc. Test element coding apparatuses, systems and methods
EP1826705A1 (de) 2006-02-25 2007-08-29 F.Hoffmann-La Roche Ag Analytisches Verbrauchsmittel und Anordnung zum Auslesen von Informationen
KR100914515B1 (ko) 2006-06-23 2009-09-02 주식회사 칼라짚미디어 색상 기반 이미지 코드의 색상 판별 방법
SG138575A1 (en) * 2006-06-23 2008-01-28 Colorzip Media Inc Method of classifying colors of color based image code
EP2045761A4 (de) * 2006-07-19 2009-11-25 B Core Inc Optisches symbol, artikel mit daran befestigtem optischem symbol, verfahren zur befestigfung des optischen symbols am artikel, dekodierverfahren für optisches symbol, entsprechende vorrichtung und entsprechendes programm
WO2009060942A1 (ja) * 2007-11-09 2009-05-14 B-Core Inc. 光学式認識コード及びそのマーキング方法及びその読み取り方法、並びに、光学式認識コードをマーキングした物品、並びに、色彩認識方法及びプログラム、並びに、色彩配列による自動認識コード及びそれが付された物品
US8172145B2 (en) * 2007-11-20 2012-05-08 Datalogic ADC, Inc. Enhanced virtual scan line processing
KR101428054B1 (ko) 2007-12-13 2014-08-07 주식회사 엘지씨엔에스 매체이미지 검출장치 및 방법, 그리고 그를 이용한매체취급시스템
JP4910011B2 (ja) * 2009-03-24 2012-04-04 ビーコア株式会社 光学式シンボル及びそれを付した物品
GB0812266D0 (en) * 2008-07-04 2008-08-13 Tyco Electronics Raychem Nv Improvements in or relating to an optical fibre organiser tray
KR100963240B1 (ko) 2008-08-07 2010-06-10 광주과학기술원 컬러 마커 인식 방법 및 장치
US8554579B2 (en) 2008-10-13 2013-10-08 Fht, Inc. Management, reporting and benchmarking of medication preparation
US8459556B2 (en) * 2009-01-09 2013-06-11 Datalogic ADC, Inc. Prioritized virtual scan line processing
KR100920663B1 (ko) * 2009-01-22 2009-10-14 (주) 이토프 2차원 코드의 인식 방법
JP4499825B1 (ja) * 2009-09-30 2010-07-07 広行 遠藤 二次元コード,二次元コードリーダおよびプログラム
KR101701170B1 (ko) 2009-09-30 2017-02-01 시프트 코. 엘티디. 2차원 코드, 2차원 코드 리더 및 프로그램
US20130026240A1 (en) * 2010-01-18 2013-01-31 Manabu Hagiwara Two-dimensional code, code generation system, program, and printed medium
KR101169140B1 (ko) 2010-02-17 2012-07-30 고려대학교 산학협력단 문자 영역 추출을 위한 영상 생성 장치 및 방법
US8505823B2 (en) * 2010-06-30 2013-08-13 International Business Machine Corporation Noise removal from color barcode images
JP4724801B1 (ja) 2010-07-30 2011-07-13 株式会社シフト 二次元コードリーダおよびプログラム
CN102646187B (zh) * 2011-02-20 2016-08-03 深圳市心艺来文化有限公司 彩色图形编码及识别方法
NO332365B1 (no) * 2011-04-01 2012-09-03 Envac Optibag Ab Fremgangsmate og system for identifisering av avfallsbeholdere pa grunnlag av monster
FR2973264B3 (fr) 2011-04-01 2013-05-31 Envac Optibag Ab Procede et systeme pour identifier des conteneurs de dechets sur la base d'un motif
CN104271184B (zh) * 2011-07-15 2017-09-08 赛诺菲-安万特德国有限公司 药物输送装置
EP2731644B1 (de) 2011-07-15 2019-02-20 Sanofi-Aventis Deutschland GmbH Arzneimittelabgabevorrichtung mit elektromechanischem antriebsmechanismus
US8908975B2 (en) 2011-07-21 2014-12-09 Yewon Communication Co., Ltd. Apparatus and method for automatically recognizing a QR code
KR101200378B1 (ko) 2011-08-30 2012-11-12 인하대학교 산학협력단 국소 각 위상을 이용한 강건한 텍스처 특징 추출 방법
US9111186B2 (en) 2011-10-12 2015-08-18 University Of Rochester Color barcodes for mobile applications: a per channel framework
US8915440B2 (en) 2011-12-23 2014-12-23 Konica Minolta Laboratory U.S.A., Inc. Four dimensional (4D) color barcode for high capacity data encoding and decoding
US8931700B2 (en) 2011-12-23 2015-01-13 Konica Minolta Laboratory U.S.A., Inc. Four dimensional (4D) color barcode for high capacity data encoding and decoding
JP5904889B2 (ja) * 2012-06-29 2016-04-20 シャープ株式会社 情報処理装置
JP5907823B2 (ja) * 2012-06-29 2016-04-26 シャープ株式会社 加熱調理器
SG11201503190RA (en) 2012-10-26 2015-05-28 Baxter Corp Englewood Improved image acquisition for medical dose preparation system
EP3453377A1 (de) 2012-10-26 2019-03-13 Baxter Corporation Englewood Verbesserte arbeitsstation für medizinische dosiszubereitung
JP5822411B2 (ja) * 2013-08-12 2015-11-24 株式会社アポロジャパン 画像情報のコード変換装置、画像情報のコード変換方法、画像コードを用いた画像関連情報提供システム、画像情報のコード変換プログラム、及びそのプログラムを記録した記録媒体
GB2518443A (en) * 2013-09-24 2015-03-25 Ibm Method for detecting phishing of a matrix barcode
US10235596B2 (en) * 2013-11-06 2019-03-19 Research & Business Foundation Sungkyunkwan University System and method for transferring data using image code, outputting image code on display device, and decoding image code
AU2015284368A1 (en) 2014-06-30 2017-01-12 Baxter Corporation Englewood Managed medical information exchange
US11575673B2 (en) 2014-09-30 2023-02-07 Baxter Corporation Englewood Central user management in a distributed healthcare information management system
US11107574B2 (en) 2014-09-30 2021-08-31 Baxter Corporation Englewood Management of medication preparation with formulary management
CN104361381A (zh) * 2014-11-17 2015-02-18 深圳市华鑫精工机械技术有限公司 一种双界面卡和双界面卡的封装方法
EP3227851A4 (de) 2014-12-05 2018-07-11 Baxter Corporation Englewood Datenanalyse für dosiszubereitung
TWI533227B (zh) * 2015-02-26 2016-05-11 楊東華 色彩編解碼方法與系統
JP2018507487A (ja) 2015-03-03 2018-03-15 バクスター・コーポレーション・イングルウッドBaxter Corporation Englewood アラート統合を伴う薬局ワークフロー管理
US9805662B2 (en) * 2015-03-23 2017-10-31 Intel Corporation Content adaptive backlight power saving technology
USD790727S1 (en) 2015-04-24 2017-06-27 Baxter Corporation Englewood Platform for medical dose preparation
US10628736B2 (en) * 2015-09-24 2020-04-21 Huron Technologies International Inc. Systems and methods for barcode annotations for digital images
WO2017082607A1 (en) 2015-11-09 2017-05-18 Samsung Electronics Co., Ltd. Electronic device and operating method of the same
KR20170054900A (ko) * 2015-11-10 2017-05-18 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
KR20170121915A (ko) * 2016-04-26 2017-11-03 예스튜디오 주식회사 스마트 펜을 이용한 그림 그리기 방법 및 시스템
MA39233B1 (fr) * 2016-07-27 2018-11-30 Univ Abdelmalek Essaadi Tetouan Procédé d'identification à distance du code qr au moyen d'une caméra.
US9959586B1 (en) * 2016-12-13 2018-05-01 GoAnimate, Inc. System, method, and computer program for encoding and decoding a unique signature in a video file as a set of watermarks
JP2018136903A (ja) * 2017-02-21 2018-08-30 エンゼルプレイングカード株式会社 遊戯用代用貨幣の枚数計測システム
WO2020093152A1 (en) 2018-11-05 2020-05-14 Hamid Reza Tizhoosh Systems and methods of managing medical images
US10896306B2 (en) * 2019-04-29 2021-01-19 Ncr Corporation Barcode scanner optimization
CN111046996B (zh) * 2019-11-27 2023-08-04 湖南省科腾信安智能科技有限公司 一种彩色qr码生成和识别方法
KR102214421B1 (ko) * 2020-04-20 2021-02-09 조영근 절대 시간을 이용한 영상 편집 시스템 및 그 방법
EP4252190A1 (de) 2020-11-24 2023-10-04 Huron Technologies International Inc. Systeme und verfahren zur erzeugung codierter darstellungen für mehrfache vergrösserungen von bilddaten
KR102490756B1 (ko) * 2022-08-08 2023-01-27 미러 주식회사 암호화된 문서 컨텐츠를 제공하는 서버와 그 문서 컨텐츠의 뷰어 디바이스
CN116778195B (zh) * 2023-08-16 2023-11-24 北京华源技术有限公司 一种基于颜色码的设备识别方法和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3894217A (en) * 1973-12-27 1975-07-08 Nippon Electric Co Device for discriminating color coded articles
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
US5352878A (en) * 1993-01-29 1994-10-04 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using independent bar and space analysis
CN1179752A (zh) * 1995-03-31 1998-04-22 基维软件程序有限公司 机器可读的标签
JP3676887B2 (ja) * 1996-08-08 2005-07-27 理想科学工業株式会社 カラー2次元コード及びカラー2次元コードの作成装置
JP4015753B2 (ja) * 1998-06-11 2007-11-28 株式会社東芝 画像情報処理方法
JPH11168616A (ja) * 1997-12-03 1999-06-22 Toshiba Corp 画像情報処理方法および画像情報処理装置
GB9806767D0 (en) * 1998-03-31 1998-05-27 Philips Electronics Nv Pixel colour valve encoding and decoding
JP3459770B2 (ja) * 1998-04-10 2003-10-27 キヤノン株式会社 画像読取装置および方法、記録媒体
US6081739A (en) * 1998-05-21 2000-06-27 Lemchen; Marc S. Scanning device or methodology to produce an image incorporating correlated superficial, three dimensional surface and x-ray images and measurements of an object
US7023587B2 (en) * 1999-11-12 2006-04-04 Nikon Corporation Image scanning apparatus, recording medium which stores image scanning programs, and data structure
US20020015536A1 (en) * 2000-04-24 2002-02-07 Warren Penny G. Apparatus and method for color image fusion

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11934554B2 (en) 2021-05-17 2024-03-19 Bank Of America Corporation Information security by preventing unauthorized data access

Also Published As

Publication number Publication date
ES2303566T3 (es) 2008-08-16
EP1456816A1 (de) 2004-09-15
US20050001033A1 (en) 2005-01-06
EP1456816B1 (de) 2008-02-27
JP4016342B2 (ja) 2007-12-05
WO2003041014A1 (en) 2003-05-15
HK1072826A1 (en) 2005-09-09
CN1310187C (zh) 2007-04-11
US6981644B2 (en) 2006-01-03
CN1578969A (zh) 2005-02-09
DE60225329D1 (de) 2008-04-10
JP2005509223A (ja) 2005-04-07
ATE387676T1 (de) 2008-03-15
EP1456816A4 (de) 2005-02-02
KR20010113578A (ko) 2001-12-28
KR100339691B1 (ko) 2002-06-07

Similar Documents

Publication Publication Date Title
DE60225329T2 (de) Vorrichtung und verfahren zur erkennung von code
US7133565B2 (en) Image processing apparatus and method
US6307962B1 (en) Document data compression system which automatically segments documents and generates compressed smart documents therefrom
US7433535B2 (en) Enhancing text-like edges in digital images
DE60118240T2 (de) Methode zur bildanalyse
DE69432585T2 (de) Verfahren und Gerät zur Auswahl von Text und/oder Non-Text-Blöcken in einem gespeicherten Dokument
CN100446540C (zh) 彩色图像压缩方法和装置
US7376267B2 (en) Image processing apparatus, image processing method, and program and storage medium therefor
DE69735083T2 (de) Bildverarbeitungssystem und -verfahren
CA2239850C (en) Method and apparatus for extracting a foreground image and a background image from a color document image
US7346211B2 (en) Image type classification using color discreteness features
Greenfield et al. Image recoloring induced by palette color associations
US8395813B2 (en) Subtractive color method, subtractive color processing apparatus, image forming apparatus, and computer-readable storage medium for computer program
US20040096102A1 (en) Methodology for scanned color document segmentation
JP4366003B2 (ja) 画像処理装置及び画像処理方法
US6985628B2 (en) Image type classification using edge features
JP2003228712A (ja) イメージからテキスト状のピクセルを識別する方法
DE69532025T2 (de) Farbbildverarbeitungsverfahren und -Vorrichtung
DE19904997A1 (de) Automatische Farbausfällung unter Verwendung von Luminanz/Chrominanz-Zwischenraumverarbeitung
US8472716B2 (en) Block-based noise detection and reduction method with pixel level classification granularity
US6826309B2 (en) Prefiltering for segmented image compression
DE69937871T2 (de) Verfahren und Vorrichtung zur Bildsegmentierung
JP4228905B2 (ja) 画像処理装置及びプログラム
AU2007249099B2 (en) Block-based noise detection and reduction method with pixel level classification granularity
JP2004242075A (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: KUDLEK & GRUNERT PATENTANWAELTE PARTNERSCHAFT, 803