DE102013112040A1 - System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus - Google Patents

System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus Download PDF

Info

Publication number
DE102013112040A1
DE102013112040A1 DE102013112040.7A DE102013112040A DE102013112040A1 DE 102013112040 A1 DE102013112040 A1 DE 102013112040A1 DE 102013112040 A DE102013112040 A DE 102013112040A DE 102013112040 A1 DE102013112040 A1 DE 102013112040A1
Authority
DE
Germany
Prior art keywords
saddle
point
image
structures
correlation
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.)
Granted
Application number
DE102013112040.7A
Other languages
English (en)
Other versions
DE102013112040B4 (de
Inventor
Earle B. Stokes
Fenghua JIN
William M. Silver
Xiangyun Ye
Ivan A. Bachelder
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.)
Cognex Corp
Original Assignee
Cognex Corp
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 Cognex Corp filed Critical Cognex Corp
Publication of DE102013112040A1 publication Critical patent/DE102013112040A1/de
Application granted granted Critical
Publication of DE102013112040B4 publication Critical patent/DE102013112040B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10861Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10861Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
    • G06K7/10871Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels randomly oriented data-fields, code-marks therefore, e.g. concentric circles-code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes

Landscapes

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

Abstract

Diese Erfindung sieht ein System und ein Verfahren zur Auffindung von Merkmalen in Bildern vor, die sattelpunktartige Strukturen aufweisen; dazu werden rechnerisch relativ nieder-intensive Prozesse angewandt, beispielsweise bestehend aus einem Antikorrelations-Prozess und damit verbundenem Antikorrelations-Kernel, der auf einer Vielzahl von Pixel-Nachbarschaften innerhalb des Bilds arbeitet. Dieser Prozess ermöglicht die schnelle Analyse eines Gesamtbildes auf jede Art von Merkmalen, die sattelpunktartige Strukturen aufweist, durch Bestimmen, ob der Antikorrelations-Kernel eine schwache oder starke Reaktion an verschiedenen Positionen innerhalb des Bildes erzeugt. Der Antikorrelations-Kernel soll eine starke Reaktion unabhängig von der Ausrichtung von sattelpunktartigen Strukturen erzeugen. Der Antikorrelations-Prozess untersucht eine Vielzahl von Pixel-Nachbarschaften im Bild und findet auf diese Weise alle sattelpunktartigen Strukturen unabhängig von deren Orientierung auf, da der Prozess winkelunabhängig ist. Die Strukturen werden dann gruppiert und verfeinert (zum Beispiel in einem Raster) in einer Bemühung, ID-Topologien innerhalb des Bildes zu finden und zu decodieren.

Description

  • VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht den Vorteil der am 31.10.2012 eingereichten vorläufigen United States Anmeldung mit der Seriennummer 61/721,012 mit dem Titel SYSTEM UND VERFAHREN ZUM AUFFINDEN VON SATTELPUNKTARTIGEN STRUKTUREN IN EINEM BILD UND BESTIMMEN VON INFORMATIONEN DARAUS, deren gesamte Offenbarung hierin durch Verweis integriert ist.
  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft ein maschinelles Bildverarbeitungssystem und genauer eine Bildverarbeitung die dazu verwendete wird Symbol-basierte ID-Informationen in einem erfassten Bild zu finden und zu decodieren.
  • HINTERGRUND DER ERFINDUNG
  • Bildverarbeitungssysteme, die Messungen, Kontrollen, Ausrichtungen von Objekten und/oder Decodieren von Symbolcodes oder Markierungen (z. B. eindimensionale (1D) und zwei-dimensionale (2D) Datenmatrix-Barcodes, QR-Codes, DotCodes, usw. – auch „IDs” genannt) werden in einem breiten Anwendungsbereich und in vielen Industrien verwendet. Diese Systeme basieren auf der Anwendung von Bildsensoren (auch „Imager” genannt), welche Bilder (in der Regel Graustufen- oder Farbbilder, und in ein, zwei oder drei Dimensionen) des Gegenstands oder Objekts erfassen, und diese erfassten Bilder mittels eines internen oder verbundenen Bildverarbeitungsprozessors verarbeiten. Typisch sind im Prozessor sowohl die Verarbeitungs-Hardware als auch die nicht flüchtigen Computer-lesbaren Programmanweisungen, welche einen oder mehrere Bildverarbeitungsprozesse durchführen, um eine gewünschte Ausgabe auf Grundlage der verarbeiteten Bildinformation zu erzeugen, enthalten. Diese Bildinformation wird in der Regel innerhalb einer Anordnung von Bildpunkten mit jeweils unterschiedlichen Farb- und/oder Graustufen-Intensitäten vorgesehen. In dem Beispiel eines ID-Lesegerätes (hier auch „Kamera” genannt) erfasst der Benutzer oder automatisierte Prozess ein Bild eines Objekts von dem angenommen wird, dass es ein oder mehrere Barcodes, 2D-Codes oder andere ID-Typen enthält. Das Bild wird verarbeitet, um Code-Merkmale zu identifizieren, die dann durch einen Decodiervorgang und/oder Prozessor decodiert werden, um die enthaltenen und durch den Code repräsentierten Daten zu erhalten. Diese Daten können alphanumerische und/oder andere Datenarten sein
  • Beim Decodieren von IDs besteh eine Aufgabe darin, Regionen des Gesamtbildes schnell aufzufinden, bei denen eine große Wahrscheinlichkeit besteht, dass sie solche ID-artigen Merkmale enthalten. Dieser Vorgang der „ID-Auffindung” erlaubt für zusätzliche Verfahren wie beispielsweise ID-Decodieren, die rechnerisch intensive sind, um die Konzentration auf jene Regionen zu richten, die wahrscheinliche ID-Ziele enthalten. Dadurch wird im Allgemeinen die Zeit zur Verarbeitung von IDs reduziert, was wiederum zu schnellerer und genauerer Ergebnisgeneration führt. Für den Fall verschiedener Formen von 2D-ID-Codes, wie DataMatrix, QR und DotCode kann das Auffinden von Code-Merkmalen zeitweise eine Herausfindung darstellen. In größeren Bildverarbeitungs-Anwendungen ist eine häufige Aufgabe das Aufsuchen und Analysieren bestimmter Bildmerkmale, um verschiedene Informationen, wie die relative Position dieses Merkmales innerhalb einer Szene und/oder Bewegung dieses Merkmals durch eine Szene abzuleiten.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Diese Erfindung überwindet Nachteile des Standes der Technik durch das Bereitstellen eines Systems und eines Verfahrens zur Auffindung von Merkmalen in Bildern, die sattelpunktartige Strukturen aufweisen, mittels rechnerisch relativ nieder-intensiver Prozesse, beispielsweise bestehend aus einem Antikorrelations-Prozess und damit verbundenem Antikorrelations-Kernel, der auf einer Vielzahl von Pixel-Nachbarschaften innerhalb einer interessierenden Region des Bilds arbeitet. Dieser Prozess ermöglicht die schnelle Analyse eines Gesamtbildes auf jede Art von Merkmalen, die sattelpunktartige Strukturen aufweist durch Bestimmen, ob der Antikorrelations-Kernel eine schwache oder starke Reaktion an verschiedenen Positionen innerhalb des Bildes erzeugt. Der Antikorrelations-Kernel soll eine starke Reaktion unabhängig von der Ausrichtung von sattelpunktartigen Strukturen erzeugen. Der Antikorrelations-Prozess untersucht eine Vielzahl an Pixel-Nachbarschaften im Bild und findet auf diese Weise alle sattelpunktartigen Strukturen unabhängig von deren Orientierung auf, da der Prozess winkelunabhängig ist. In verschiedenen Ausführungsformen sind die Strukturen dann gruppiert und verfeinert (zum Beispiel indem man sie in ein Raster platziert) in einer Bemühung, ID-Topologien innerhalb des Bildes zu finden. Aufgefundene ID-Informationen können direkt aus den Angaben von den gruppierten sattelpunktartigen Strukturen decodiert werden, oder in den meisten Fällen die ID-Merkmale aus dem Bild entlang etablierter Rasterlinien werden abgetastet und die Graustufen-Daten werden letztendlich decodiert.
  • In einer beispielhaften Ausführungsform enthält ein System und Verfahren zur Bestimmung der sattelpunktartigen Strukturen in einem Bild mit einem Bildverarbeitungsprozessor einen Antikorrelations-Prozess. Dieser Prozess ist so aufgebaut und angeordnet, dass er auf Nachbarschaften von Pixel innerhalb des Bildes arbeitet und dabei Sattelpunktkandidaten innerhalb der Nachbarschaften identifiziert. In jeder dieser Nachbarschaften wird ein gewisses Maß an Antikorrelation zwischen der Nachbarschaft und ihrer um 90 Grad gedrehten Kopie berechnet. Sattelpunktstrukturen neigen zu einer starken Antikorrelation mit sich selbst um 90 Grad gedreht, unabhängig von ihrer Ausrichtung relativ zum Pixelraster. Ein Sattelpunkt wird beispielsweise identifiziert, wenn die Reaktion des Antikorrelations-Kernels stärker als ein bestimmter Schwellwert, stärker als die Reaktion an benachbarte Positionen oder beides ist. Ein Bestätigungsprozess kann für jede der Nachbarschaften einen Kernel anwenden, der eine 180-Grad gedrehte Version jeder dieser diese Nachbarschaften definiert. Jeder Kernel kann ein Null-Zentrum mit einer Größe von mindestens ein oder mehr Pixeln enthalten. Beispielsweise arbeitet die Antikorrelation mit mindestens eine der normalisierten Korrelationsformeln und einer Summe der absoluten Differenzenformeln, unter anderen Formeln. Ein Prozess der Verfeinerung weist dann die sattelpunktartigen Strukturen im Bild durch Bestimmung der dominierenden Winkel in Bezug auf sattelpunktartige Kandidaten sowie der Abstände zwischen angrenzenden sattelpunktartigen Kandidaten nach. Der Prozess der Verfeinerung gruppiert auch die sattelpunktartigen Strukturen auf der Grundlage der jeweiligen dominanten Winkel und der Abstände zwischen den angrenzenden Sattelpunkt-Strukturen. Ein Raster-Anpassungsprozess erstellt dann ein etwa geradliniges Raster, das die gruppierten Sattelpunkt-Strukturen enthält. Dazu kann die Beseitigung von Strukturen, die sich außerhalb der Rasterlinien befinden und/oder ein Widerherstellen des Rasters über aussichtsreichere Strukturen gehören, wenn der vorherige Raster-Anpassungsprozess keine gewünschte Topologie generieren konnte. Diese Topologie kann auf einer 2D-ID und ganz besonders auf einem DotCode-ID-Format basieren. Ein ID-Bestimmungsprozess generiert ID-Informationen für den Einsatz bei der Decodierung, basierend auf den Sattelpunkt-Strukturen im Raster.
  • In einer anderen Ausführungsform werden ein System und ein Verfahren für das Decodieren einer ID in einem Bild mittels Bildverarbeitungsprozessor bereitgestellt. Dieses System und Verfahren beinhaltet einen Bestimmungsprozess für eine sattelpunktartige Struktur der gruppierte sattelpunktartige Strukturen in Bezug auf das Bild erzeugt. Ein ID-Bestimmungsprozess generiert ID-Informationen basierend auf den gruppierten sattelpunktartigen Strukturen. Ein ID-Decodierprozess decodiert die ID-Information, um Daten bereitzustellen, die an ein Datenverarbeitungssystem übertragen werden können. Der Bestimmungsprozess für die sattelpunktartige Struktur arbeitet beispielsweise mit einem Antikorrelations-Prozess. Dieser Prozess arbeitet an einer Vielzahl von Pixel-Nachbarschaften innerhalb (mindestens) einer interessierenden Region im Bild und identifiziert Sattelpunkt-Kandidaten in den Nachbarschaften, die gefiltert werden, um die sattelpunktartigen Strukturen zu generieren, die im ID-Bestimmungsprozess verwendet werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die nachfolgende Beschreibung der Erfindung bezieht sich auf die beigefügten Zeichnungen, von denen
  • 1 entsprechend eines Ausführungsbeispiels ein Diagramm einer Bildverarbeitungsanordnung beim Erfassen von Bildern von Objekten, die IDs enthalten, welche sich durch eine abgebildete Szene bewegen, zeigt
  • 2 ein Diagramm eines eine Sattelpunktstruktur enthaltendes beispielhaftes Schachbrettmuster zeigt;
  • 3 entsprechend eines Ausführungsbeispiels ein Diagramm von zwei benachbarten Dot-Merkmalen in einer beispielhaften DotCode-Matrix zeigt, für welche Sattelpunktstrukturen bestimmt werden können;
  • 4 entsprechend eines Ausführungsbeispiels ein Flussidagramm des Gesamtvorgangs für das Auffinden von sattelpunktartigen Strukturen in einem Bild und das Bestimmen der Information, wie darin enthaltener DotCode-IDs zeigt;
  • 5 eine Bildschirmanzeige eines Teils eines sattelpunktartige Strukturen enthaltendes Bildes mit der ersten Identifizierung von Sattelpunktkandidaten entsprechend dem Vorgang in 4 zeigt, wobei ein Antikorrelationsprozess verwendet wird;
  • 6 ein Diagramm mit der Anwendung eines um 90 Grad gedrehten Antikorrelations-Kernels bei einer Nachbarschaft von Pixeln in einem Gesamtbild zur Erzeugung von Informationen in Bezug auf mögliche Sattelpunktkandidaten innerhalbe eines Bildes entsprechend dem Vorgang in 4 zeigt;
  • 7 ein Diagramm mit der Anwendung von Kernel zeigt, welche eine um 180 Grad gedrehte Version der Originalnachbarschaft der Pixel im Gesamtbild zur Originalnachbarschaft der Pixel in 6 zeigt, um optional ein Sattelpunktverhalten innerhalb der Nachbarschaft zu bestätigen;
  • 8 eine Bildschirmanzeige mit der Bestimmung dominanter Winkel in den Sattelpunktkandidaten entsprechend dem Vorgang in 4 zeigt
  • 8A und 8B jeweils graphische Repräsentationen eines Kernelpaares zeigen, die dazu verwendet werden können, an der Original-Pixelnachbarschaft zu arbeiten, um einen dominanten Winkel für ein darin enthaltenes sattelpunktartiges Merkmal zu bestimmen.
  • 9 eine Bildschirmanzeige mit der Bestimmung einer endgültigen Sattelpunktgruppe innerhalb des Bildteiles entsprechend dem Vorgang in 4 zeigt;
  • 10 eine Bildschirmanzeige mit der Anordnung von Sattelpunkten in Paaren und das Messen relativer Abstände und Winkel entsprechend dem Vorgang in 4 zeigt;
  • 11 eine Bildschirmanzeige mit der Projektion von gepaarten Sattelpunkten entlang gemeinsamer Linien und Winkel entsprechend einem Vorgang in 4 zeigt;
  • 12 eine Bildschirmanzeige mit der Ausglättung von Punktgruppen, die entlang gemeinsamer Linien und Winkel anwesend sind, entsprechend einem Vorgang in 4 zeigt;
  • 13 eine Bildschirmanzeige mit der Anpassung eines Rasters an die Sattelpunkte entsprechend dem Vorgang in 4 zeigt;
  • 14 eine Bildschirmanzeige mit der Bestimmung des Umfangs der Gruppe oder „Zeichenbox” für die Verwendung im Vorgang der 4 zeigt;
  • 15 eine Bildschirmanzeige mit der Abfrage von Sattelpunkten in Bezug auf eine erwartete Geometrie einer ID zeigt;
  • 16 eine Bildschirmanzeige mit einer Abfrage und Erzeugung einer Graustufenversion der ID von dem auf dem bestätigten Ort von verwandten Sattelpunkten basierendem Bild entsprechend dem Vorgang von 4 zeigt;
  • 17 eine Bildschirmanzeige einer binären Schwellwertversion des ID-Bildes von 17[Gw1] zeigt;
  • 18 eine Bildschirmanzeige einer abgeschnittenen Negativversion des binären Bildes von 17 zeigt;
  • 19 eine Bildschirmanzeige eines Teiles eines beispielhafte ID-Merkmale sowie ähnliche Abdrucke und falsche Sattelpunkte enthaltenden Bildes zeigt;
  • 20 eine schematische Darstellung einer Reihe beispielhafter Bildrahmen zeigt, jeweils enthaltend einen gleitenden Bezugspunkt mit Sattelpunkt-Eigenschaften, dazu fähig, gemäß den Techniken der beispielhaften Ausführungsform aufgefunden und verfolgt zu werden; und
  • 21 eine schematische Darstellung einer Reihe beispielhafter Bildrahmen zeigt, jeweils enthaltend ein gleitendes Muster mit Sattelpunkt-Eigenschaften, dazu fähig, gemäß den Techniken der beispielhaften Ausführungsform aufgefunden und verfolgt zu werden.
  • DETAILLIERTE BESCHREIBUNG
  • I. Bildverarbeitungssystem – Übersicht
  • 1 zeigt im Detail eine typische Realisierung eines maschinellen Bildverarbeitungssystems 100 (hierin auch „Bildverarbeitungssystem” oder grundlegender „System” bezeichnet), das als feste Halterungsanordnung gezeigt ist, welche Bilder einer durch das Sichtfeld 110 definierten Szene erfasst. Alternativ kann das System als bewegliches Gerät implementiert werden, entweder mit einer beweglichen Halterung oder einer tragbaren Anordnung. In dieser Ausführungsform und durch ein nicht beschränkendes Beispiel, ist das System zum Scannen von Objekten (z. B. Objekt 120) angepasst, die relative zum System 100 in Bewegung sind. Beispielsweise kann sich das Objekt durch die abgebildete Szene entlang eines Förderbandes und/oder Fließbandes bewegen (Pfeil 122). Als solches erfasst das System 100 einen oder mehrere Bildrahmen des Objekts, wenn es sich innerhalb des Sichtfeldes 110 befindet. Diese Erfassung kann durch einen visuellen Erkennungsprozess, einem Teil-Detektor, einem Encoder am Förderband oder irgendeine andere akzeptable Technik, die einem Fachmann klar sein sollte, ausgelöst werden.
  • Das illustrative System 100 beinhaltet eine Kamera-Baugruppe 130 mit zugehörigem Objektiv 132, das jede akzeptable Bildverarbeitungs-Kameraanordnung (auch ganz allgemein als „Kamera” bezeichnet) sein kann. Die Kamera enthält einen Bildsensor (auch „Imager” genannt) 134, der Licht von der Linse 132 empfängt, die auf das Pixelarray des Sensors 134 fokussiert ist, welche auch die Bildebene senkrecht zur optischen Achse der Kamera definiert. Der Sensor kann ein Farbsensor oder in der Regel ein Graustufensensor sein, und kann einen CMOS- oder jeden anderen akzeptablen Schaltkreis enthalten (z. B. CCD). In dieser Ausführungsform ist der Sensor betriebsmäßig mit einem on-Board Bildverarbeitungsprozessor 136 verbunden, der entsprechende, konventionelle maschinelle Bildverarbeitungsprozesse 138, wie Kantendetektion, Blob-Analyse, etc. durchführt. Der Prozessor 136 führt auch spezifische ID Aufsuch- und Decodier-Prozesse 140 entsprechend der beispielhaften Ausführungsform durch. Andere Prozesse, wie Beleuchtungssteuerung, Autofokus, Auto-Regelung der Helligkeit, Belichtung, usw. können auch nach Bedarf bereitgestellt werden. Eine Beleuchtung der Szene (optional) kann durch einen externen Illuminator 142 wie gezeigt bzw. durch interne Beleuchtung (nicht gezeigt) verbunden mit der Kamera bereitgestellt werden. Eine solche interne Beleuchtung kann beispielsweise an Stellen auf der Vorderseite der Kamera in der Nähe des Objektivs montiert werden. Die Beleuchtung kann durch den Prozessor 136 oder eine zugehörige Schaltung, wie durch die gestrichelte Linie 144 gezeigt, ausgelöst werden. Dekodierte Daten (z. B. decodierte ID-Informationen in alphanumerischer und/oder sonstiger Form) 146 werden durch einen Link 148 zu einem Datenverarbeitungs- und Speichersystem 150 (z. B. ein Bestandskontrollsystem), dargestellt als Computer oder Server, übertragen. Je nach Bedarf kann der Link kabelgebunden oder drahtlos sein.
  • Es sollte dabei klar sein, dass das abgebildete System 100 beispielhaft für einer Vielzahl von Systemen, die wie weiter unten beschrieben an andere Bildverarbeitungs-Systemanwendungen als ID lesen, wie beispielsweise Videoanalyse, Roboter-Manipulation und dergleichen angepasst werden kann. Die Beschreibung der beispielhaften Ausführungsform in Verbindung mit einer ID-Lesegerät-Anordnung soll daher lediglich als ein Beispiel für Systeme und Prozesse gelten, die ein Fachmann auf dem Gebiet auf andere Bildverarbeitungs-Anwendungen anwenden kann. Wie hierin verwendet sollten die Begriffe ”Prozess” und/oder ”Prozessor” ganz allgemein großzügig verstanden werden und eine Vielfalt elektronischer hardware- und/oder softwarebasierender Funktionen und Komponenten einschließen. Darüber hinaus kann ein dargestellter Prozess oder Prozessor mit anderen Prozessen bzw. Prozessoren kombiniert werden oder auf verschiedenen Unterkategorien oder Prozessoren aufgeteilt werden. Entsprechend hierin enthaltener Ausführungsformen können solche Unterkategorien und/oder Sub-Prozessoren kombiniert werden. Ebenso ist ausdrücklich beabsichtigt, dass jede Funktion, jeder Prozess und/oder jeder Prozessor hierin mit elektronischer Hardware, Software, bestehend aus einem nicht vergänglichen Computerlesbaren Datenträger mit Programmanweisungen oder einer Kombination von Hardware und Software umgesetzt werden.
  • II. Sattelpunktmerkmale
  • In der beispielhaften Ausführungsform enthält das Objekt 120 in der Szene 110 eine oder mehrere interessierende Merkmale, die beispielsweise eine gedruckte DotCode Struktur 160 bilden. Ein DotCode-ID sowie bestimmte andere 2D-ID-Codes, einschließlich (aber nicht beschränkt auf) DataMatrix und QR. Diese Codes sind allgemein durch ein regelmäßiges zweidimensionales Raster gedruckter Kreise oder Rechtecke gekennzeichnet. Die Region zwischen solchen gedruckten Merkmalen kann als „Sattelpunkt” charakterisiert werden. Ein Sattelpunkt ist beispielsweise eine Position im Bild, wo die Intensität entlang einer Richtung lokal am größten und entlang einer dazu rechtwinkeligen (um 90 Grad gedrehten) Richtung lokal am kleinsten ist.
  • Mit Bezug auf 2 werden vier Quadrate in einem hellen und dunklen Schachbrettmuster 200 dargestellt. Der Punkt 210 an dem die vier Quadrate zusammentreffen (der Eckpunkt) kann als ein starker Sattelpunkt charakterisiert werden. Das heißt, die Intensität beim Sattelpunkt 210 ist lokal am kleinsten entlang der Richtung 212 durch die Ecken der hellen Quadrate, während die Intensität an der gleichen Stelle 210 lokal am größten in der dazu rechtwinkligen Richtung (Winkel AP) 214 durch die Ecken der dunklen Quadrate ist. In diesem Zusammenhang wird helle Intensität als Maximalwert definiert, während dunkle Intensität als Minimalwert definiert wird; das Gegenteil kann jedoch ebenfalls der Fall sein, wo dunkel als maximale Intensität und hell als minimale Intensität definiert ist. Darüber hinaus kann jeder beliebige numerische Wert, egal ob aus heller Intensität oder einem anderen physischen oder berechneten Prozess hervorgehend, als definierter Sattelpunkt verwendet werden. Hier bedeutet „lokal” in Nachbarschaft des Sattelpunktes, und nicht unbedingt maximal oder minimal im Vergleich zu irgendwo anders im Bild.
  • Mit der Erkenntnis, dass ein Sattelpunkt zwischen zwei Merkmalen vorhanden sein kann wird auf 3 verwiesen, die ein Paar beispielhafte DotCode dunkel-gedruckte Dot Merkmale 310 und 320 zeigt, die innerhalb eines umgebenden hellen Feldes 330 angeordnet sind, und die eine Sattelpunkt-Reaktion generieren. Alternativ können die Punkte hell und das Feld dunkel sein, oder die Punkte können durch eine gehämmerte Oberfläche, die von einer glatten und/oder spiegelnden Oberfläche umgeben ist, dargestellt werden. Im Allgemeinen repräsentieren die Punkte und das Feld erkennbare Strukturen im Bild unter Verwendung von sichtbarem Licht und/oder nahe dem sichtbare Licht, z. B. IR. Wie gezeigt, und wie unten beschrieben, kann ein Antikorrelationsprozess in Bezug auf solche Punktpaare so eingesetzt werden, dass die Punkte 310, 320 effektive eine Richtung 340 minimaler Intensität definieren, mit einer maximalen Intensität typisch in einer dazu rechtwinkeligen (Winkel AP1) Richtung 342.
  • Da eine DotCode-ID (und bestimmte andere 2D-IDs) regelmäßige Platzierung/regelmäßigen Abstand und regelmäßige Ausrichtung der Punkte bietet, eignet sie sich für Techniken zur ID-Auffindung basierend auf dem Ort der sattelpunktartigen Merkmale wie unten beschrieben. Zu beachten ist dabei, dass der Einfachheit halber der Begriff „Sattelpunkt” auch für Merkmale angewendet werden soll, die bei Definition sattelpunktartige Merkmale sind. Diese Technik verwendet die Sattelpunkte selbst um das Vorhandensein einer DotCode-Matrix bestimmen und somit das beispielhafte System und Verfahren relativ agnostische in Bezug auf die Größe der Punkte ist, die in der Praxis je nach Zustand des Druckers variieren kann (in der Regel ein Nadeldrucker, der von einem Objekt durchlaufen wird) und basierend auf die zu bedruckende Oberfläche.
  • III. Sattelpunkt-Bestimmungsprozess
  • Es wird auf 4 verwiesen, die ein allgemeines Verfahren 400 zur Auffindung von Sattelpunktstrukturen innerhalb eines Bildes und Bestimmung des Vorhandenseins oder Fehlens von interessierenden Merkmalen, wie z. B. DotCode-IDs basierend auf der Anordnung der Sattelpunktmerkmale in einem Teil des Bildes zeigt. Der Vorgang 400 beginnt mit dem Erfassen eines Bildes des Objektes, oder eines anderen Subjektes in der Szene, in Schritt 410. Basierend auf diesem erfassten Bild sucht der Vorgang in Schritt 420 nach Kandidaten für sattelpunktartige Strukturen. Die Ergebnisse dieser Suche werden in 5 beispielhaft gezeigt, in der eine Bildschirmanzeige 500 einen Teil des gesamten Bildes zeigt, das eine beispielhafte ID (eine DotCode-ID in diesem Beispiel) 510 enthält. Während des Betriebs scannt das Verfahren das gesamte Bild oder einen kleiner Teil davon – zum Beispiel einen Teil von dem angenommen wird, dass er die Kanten des Objekts enthält – um eventuelle sattelpunktartige Kandidaten aufzufinden. Wie in 5 dargestellt, werden solche Kandidaten durch die Kreuzung der Linien (Xs), wie z. B. die gekreuzten Linien 520 symbolisiert. Beispielhaft und mit Bezug auch auf 6, werden sattelpunktartige Kandidaten mit Hilfe eines Antikorrelations-Kernels 610 bestimmt. Der Vorgang 400 scrollt durch jede Pixelposition im Gesamtbild (oder einer interessierenden Region im Gesamtbild) und arbeitet an jedem Pixelort auf einer M×N (wo M = N) Nachbarschaft 620 von Pixel-Intensitätswerten (1–25). In dieser Ausführungsform wird eine 5 × 5 Nachbarschaft definiert. Obwohl jede Nachbarschaftsgröße eingesetzt werden kann, ist in den verschiedenen Ausführungsformen eine Nachbarschaftsgröße zwischen 4 × 4 und 6 × 6 wünschenswert, um einen guten Kompromiss zwischen einer ausreichenden Stichprobegröße (für eine zuverlässige Messung) und Verarbeitungsgeschwindigkeit zu erzielen. Darüber hinaus kann die Größe der Nachbarschaft bestimmen wie körnig der „Filter” sein wird, um sattelpunktartige Kandidaten zu finden oder nicht zu finden. Die Größe des Filters kann auch von der relativen Größe des Merkmals (z. B. der Punktgröße) abhängen. Die Bestimmung der Filtergröße kann voreingestellt (während einer Setup-Einstellung) oder basierend auf einem iterativen Vorgang des Verfahrens gelernt werden. Beispielsweise ist der Antikorrelations-Kernel die gleiche um 90 Grad gedrehte Pixelnachbarschaft (Intensität) wie gezeigt. Im Vergleich mit einer konventionellen normalisierte Korrelationsformel sollte der um 90 Grad gedrehte Antikorrelations-Kemel 610 große Intensitätsschwankungen gegenüber der ursprünglichen Pixelnachbarschaft, wo eine Sattelpunktstruktur vorhanden ist, angeben, und solche Positionen werden beachtet. Insbesondere sollte auf einer Skala von –1 bis +1 die normalisierte Korrelation zwischen den durch die Zahlen 1–25 identifizierten Pixel im ursprünglichen Kernel der Pixelnachbarschaft 610 und den gleich nummerierten Pixeln im gedrehten Kernel 620 sich an den Wert –1 annähern. Wo diese Korrelation nicht unter einen Schwellenwert in der Regel zwischen –1 und 0 fällt, oder den von benachbarten Positionen unterschreitet, kann diese jeweilige Pixel-Nachbarschaft aus der Analyse entfernt werden, da sie keine ausreichenden sattelpunktartigen Merkmale erkennen lässt. Zu beachten ist dabei, dass für den Fachmann auf dem Gebiet eine Vielzahl von Formeln zur Verfügung stehen, um die Stärke der Antikorrelation zwischen Pixel-Paaren in jeder der beiden Matrizen zu berechnen. Beispielsweise kann eine Formel zur Summe der absoluten Differenzen in alternativen Ausführungsformen mit Anpassungen an die erwarteten Bereiche und Schwellenwerten verwendet werden, die für einen allgemeinen Fachmann auf dem Gebiet offensichtlich sein werden.
  • Wie bereits erwähnt, ist die Größe der M×N Pixel-Nachbarschaften sehr unterschiedlich. Insbesondere wird im Falle eines ungeraden Wertes für M und N das Center-Pixel (d. h. Pixel 13) ignoriert, wie durch den durchgestrichenen Wert angedeutet. Dadurch wird ein Vergleich des Pixels mit sich selbst vermieden. Es sollte beachtet werden, dass der Antikorrelations-Kernel 610, obwohl gegen den Uhrzeigersinn gedreht gezeigt, in alternativen Ausführungsformen auch im Uhrzeigersinn um 90 Grad gedreht sein kann. [0044] Der Antikorrelations-Prozess bewegt sich durch das Bild und verschiebt dabei jeweils eine Spalte (oder Zeile) von Pixeln, bis alle M×N Nachbarschaften verglichen worden sind. Insbesondere durch Scrollen durch jedes Pixel im Bild, kann mit dem Verfahren eine Antikorrelation unabhängig vom tatsächlichen Winkel im Bild an dem die Sattelpunktkandidaten ausgerichtet sind bestimmt werden – wodurch es praktisch winkelagnostisch wird.
  • Obwohl in verschiedenen Ausführungsformen optional, kann zur Verbesserung der Genauigkeit der Antikorrelations-Prozess (im Schritt 424) auch die Nachbarschaft 620 mit einer um 180 Grad gedrehten Version von sich selbst (710), wie in dargestellt, verglichen werden. Das kann eine Bestimmung ermöglichen, wenn die 180-Grad-Berechnung der ursprünglichen Nachbarschaft relativ ähnlich ist, und somit weiter sattelpunktartige Eigenschaften für die ursprüngliche Pixel-Nachbarschaft anzeigt. In einer generalisierten Ausführungsform kann die Verarbeitung von Pixel-Nachbarschaften mit Hilfe eines einfachen um 90 Grad gedrehten Antikorrelations-Kernel eingesetzt werden, um akzeptable Ergebnisse frei von zusätzlicher Überprüfung mit der um 180 Grad gedrehten Nachbarschaft zu erzielen.
  • Es sollte dabei klar sein, dass die Verwendung eines Antikorrelations-Prozesses zur Bestimmung von sattelpunktartigen Kandidaten vorteilhaft ist, da nur relativ geringe Prozessressourcen aufgewendet werden müssen, und dieser somit über ein ganzes Bild schnell durchgeführt werden kann. Das heißt, der rechnerische Aufwand für eine Drehung einer Pixel-Nachbarschaft um 90 Grad ist relativ gering, da die individuellen Pixelintensitätswerte einfach von einer Organisation zur anderen umgeordnet werden. Dies ermöglicht, dass intensivere Prozesse auf Regionen des Gesamtbildes konzentriert werden können, die eine bestimmte Sattelpunkt-Eigenschaft, wie z. B. eine Region mit einem großen Cluster von solchen sattelpunktartigen Kandidaten enthalten – ein Anzeichen für das Vorhandensein einer ID in dieser Region.
  • In verschiedenen Ausführungsformen ist beabsichtigt, dass die um 90 Grad und um 180 Grad gedrehten Antikorrelations-Kernel ein Null-Zentrum bereitstellen können, das größer ist als ein (1) Pixel. Beispielsweise kann ein Null-Zentrum, das neun (9) Pixel (oder eine andere Zahl) ausschließt, bereitgestellt werden.
  • In verschiedenen Anwendungen kann die Bestimmung von sattelpunktartigen Kandidaten in einem Gesamtbild dann dazu angewendet werden, um ein bestimmtes Bildverarbeitungsproblem zu lösen, wie z. B. die Überwachung eines Schachbrett-Bezugspunktes beim Durchlaufen eine Reihe von Bildrahmen, zum Beispiel in einem Hochgeschwindigkeitsvideo eines Crashtests, in einem gedruckten Halbtonbild, oder am Ende eines verfolgten Roboterarms.
  • IV. ID-Decodierprozess mit Hilfe sattelpunktartiger Kandidaten
  • Durch das Identifizieren von Regionen, die Sattelpunkte enthalten wird der interessierende Bereich innerhalb des Gesamtbildes, das auf ID-Informationen analysiert wird, erheblich reduziert. Dies beschleunigt den Decodierprozess. Darüber hinaus wird durch das Ausführen zusätzlicher Schritte zur Beseitigung zufälliger Sattelpunktmerkmale innerhalb des Gesamtbildes, die keine ID-Merkmale enthalten, der interessierende Bereich weiter reduziert, und die Geschwindigkeit des zugehörigen Decodier-Prozesses zusätzlich erhöht.
  • Mit erneutem Bezug auf den Vorgang 400 der 4 kann der Vorgang, sobald die Antikorrelationspunkte aus dem Prozess (wie in 5 gezeigt) ermittelt wurden, diese Informationen dazu verwenden, eine 2D-ID, z. B. den abgebildeten, exemplarischen DotCode aufzufinden und eventuell zu decodieren. Es ist dabei anzumerken, dass DotCode-Punkte sattelartige Merkmale haben, im Gegensatz zu wahren Sattelpunkten wie denen die in einem „Schachbrettmuster” aufgefunden werden. Allerdings findet der oben beschriebene Antikorrelationsprozess effektiv solche Merkmale. Zusätzliche Filtertechniken können eingesetzt werden, um die Existenz eines hellen (oder kontrastierenden) Hintergrundfeldes zwischen nicht berührenden Punkten ansprechen. In Schritt 430 bestimmt das Verfahren 400 den dominanten Winkel der verbleibenden sattelpunktartigen Kandidaten. Dies wird durch die verschiedenen gekreuzten Linien 810 im Bild 800 angegeben. Dazu gehört die Bestimmung der wirksamen Richtung der Antikorrelations-Ergebnisse in angrenzenden Gruppen von Pixeln in Bereiche, die bereits als Kandidaten identifiziert worden sind. Es ist zu beachten, dass die Linien zweifach und dreifach auftreten können (z. B. Linien 820) und dabei mehrere Pixel vertreten, die auf ein ähnliches sattelartiges Verhalten hinweisen.
  • Nach einer Ausführungsform erfolgt die Berechnung des dominanten Winkels dadurch, dass die Nachbarschaft von Pixeln mit einem mittigen Sattelpunkt 850 zwei Kerneln unterworfen ist, die in 8A und 8B als X und X' grafisch dargestellt werden, wobei X' in Bezug auf X um 45 Grad gedreht ist. Durch Anwenden der Formel 1/2·arctan2(R(X)', R(X)), wo die Funktion R die Reaktion eines Kernels darstellt, kann der ungefähre Winkel ermittelt werden. Da Sattelpunkte sowohl bei 0 als auch bei 90 Grad erkannt werden können, kann ein Kernelpaar mit einem 45-Grad Bereich (die Hälfte von 90 Grad) verwendet werden, um den dominanten Winkel abzuschätzen. Die Darstellung enthält Zonen 860 in welchen bestimmte Pixel entlang der Grenzlinien ignoriert werden, um eine verbesserte Schätzung des dominanten Winkels zu bieten. Wenn zum Beispiel X eine starke Reaktion bietet, dann ist der Sattelpunkt vertikal ausgerichtet. Wenn X' eine starke Reaktion bringt dann ist der Sattelpunkt bei 45 Grad ausgerichtet. Wenn beide Kernel eine Reaktion abgeben, dann ist der Sattelpunkt proportional zwischen 0 und 45 Grad ausgerichtet und das Ausmaß einer jeden Reaktion erlaubt das Messen des Winkels (zwischen 0 und 45 Grad). Beispielsweise ergibt eine annähernd gleiche Reaktion von jedem X und X' einen dominanten Winkel von etwa 22,5 Grad.
  • Nach einer Ausführungsform definiert der folgende Programm-Befehlssatz jeweils ein Paar den dominanten Winkel bestimmender Kernel für eine Nachbarschaft von 5×5 Pixel.
    Figure DE102013112040A1_0002
  • In dem obigen Programm-Befehlssatz ist die Reaktionsfunktion R weggelassen, und die beispielhafte saddle_angle [Sattelpunkt-]Berechnung berechnet alternativ den Winkel über einen vollen 180 Grad Bereich anstelle des grafisch dargestellten 90-Grad-Bereichs (8A und 8B). Beide Ansätze können eingesetzt werden, um eine akzeptable Abschätzung des dominanten Winkels zu erzielen.
  • In Schritt 434, beseitigt der Vorgang 400 mehrere aufgefunden Sattelpunkte und richtet eine Vielzahl von verbleibenden angrenzenden Sattelpunkten auf eine Linie entlang eines gemeinsamen dominanten Winkels aus, wie durch die Bildschirmanzeige 900 in 9 dargestellt. Die Linien 910 und 920 stellen eine Ausrichtung der Sattelpunkte in jeweils zwei orthogonale Richtungen dar (allgemein entsprechend dem Layout des ID-Rasters). Es ist dabei zu beachten, dass dieser Prozess über das gesamte Bild stattfindet und wie weiter unten beschrieben auch Sattelpunkt-Linien auf „Störsignal”-Merkmalen bilden kann, die sich in zusätzlichen Richtungen ausdehnen. Zusätzliche Techniken wie unten beschrieben werden angewandt, um solche Störsignal-Merkmale herauszufiltern. Es ist beabsichtigt dass die Punkte zum Beispiel einen Bereich zwischen ca. 3 Pixel pro Punkt und 14 Pixel pro Punkt abdecken. Es ist dabei zu beachten, dass das Bild durch Sektoren oder „Kachel”, die durch horizontale bzw. vertikale gestrichelte Linien 930 und 940 abgegrenzt sind, in Sektoren oder „Fliesen” aufgeteilt werden kann. Diese Abgrenzung in Kachel kann in unten beschriebenen nachfolgenden Prozessen verwendet werden. Die Kachel haben beispielsweise ein Größe von 32×32 Pixel, aber andere Dimensionen sind ausdrücklich vorgesehen. Der Vorgang verarbeitet Punkte in Bezug auf jede Kachel. Die Ergebnisse von aneinander angrenzenden Fliesen, die aufgefundene ID-Merkmale enthalten, werden schließlich in einem endgültigen Ergebnis kombiniert.
  • In Schritt 436 werden die ausgerichteten Sattelpunkte auf „Paar”-Beziehungen dadurch analysiert, dass sich der dazwischenliegende Abstand innerhalb eines vorgegebenen Bereichs befindet, wie er auch im Raster einer ID gefunden würde. Wie in der Bildanzeige 1000 der 10 gezeigt, bestimmt das Verfahren, welche Sattelpunkte sich entlang des gleichen dominanten Winkels (Linien 1010 und 1020) befinden und dazwischen relative ähnlich beabstandet erscheinen. Diese ähnlich beabstandeten und kollinearen Punkte werden zusammengefasst und bilden die Grundlage für die Einachtung des ID-Rasters in den nachfolgenden Schritten. Die Beabstandung der Sattelpunkte kann ein Vielfaches des Einheitsabstandes sein. Die Abstände zwischen Punkten werden beispielhaft in ein Histogramm platziert, und das Verfahren sucht nach Peaks. Dies bietet bei der Gruppe der Sattelpunkte Informationen in Bezug auf den kleinsten gemeinsamen Einheitsabstand. Dieser Abstand berücksichtigt Punkte, die zu eng beieinander sind um Teil eines Codes zu sein. Die Winkel können ebenfalls in einem Histogramm eingetragen werden, und die häufigsten Winkel werden identifiziert. Die Eigenschaften der ID dienen dazu einen Schwellwert zu bieten, der dazu verwendet werden kann, zu entscheiden, welche Winkel am ehesten mit dem ID-Raster verbunden sind.
  • Sobald Sattelpunkte ausgerichtet und in entsprechenden Abständen beabstandet wurden, kann das Verfahren 400 in Schritt 438 solche Punkte 1110 wie in der Anzeige 1100 der 11 dargestellt projizieren. Der Vorgang glättet dann die Sattelpunkte (Schritt 440) wie in der Anzeige 1200 der 12 dargestellt aus und verwendet dazu einen Filterprozess der störende Punkte und/oder Merkmale, die sich in einer „ruhigen Zone” befinden, die sich über den Ort hinaus erstreckt, bei welchem die Ansammlung von Sattelpunktmerkmalen eine Abgrenzung zu definieren scheint, entfernt. Die Kachel können zum Beispiel kombiniert werden, um sich mit benachbarten Sattelpunkte-Gruppierungen in einer kontinuierlichen, ausgerichteten Struktur zu verbinden. Zu beachten ist dabei, dass für Zwecke der Genauigkeit eine ruhige Zone einer vorgegebenen Anzahl von Pixeln vom Hersteller für das Verfahren für einen effizienten Betrieb angegeben werden kann.
  • Beispielhaft beseitigt das Verfahren kontinuierlich Sattelpunkte, die nicht zum Modell einer ID zu passen scheinen. Wenn eine ausreichende Menge an Punkten beseitigt ist, kann eine zugrunde liegende Kachel aus der Gruppe der Kachel-Kandidaten entfernt werden. Zu diesem Zeitpunkt im Prozess hat das Verfahrens ermittelt, dass ein Satz von Sattelpunkte die geforderten geometrischen Eigenschaften/Topologie einer ID zu erfüllen scheint – d. h. die Sattelpunkte fallen innerhalbe der erwarteten Orte für die einer ID.
  • Im Verfahrensschritt 442, wird ein regelmäßiges Raster einem Sattelpunkt angepasst. Das wird durch horizontale und vertikale Rasterlinien 1310, 1320 in Anzeige 1300 der 13 symbolisch angedeutet. Dieses Raster ist in etwa geradlinig. Wie dargestellt sollten die Sattelpunkte in die Mitte der Quadrate des Rasters fallen, um eine geeignete Passung und Ausrichtung zu erzielen. Entsprechend Verfahrensschritt 444 werden, soweit Sattelpunkte nicht mit dem bestehenden Raster ausgerichtet sind, solche Sattelpunkte entfernt und das Raster entsprechend neu ausgerichtet. Wenn die Neuausrichtung keine Gruppe von Punkten mit der Größe, der Auflösung und dem allgemeinen Layout (generische Eigenschaften) einer ID-Struktur erzeugt, dann kann das Raster über eine andere Gruppe von Sattelpunkten wiederhergestellt werden, bis eine Struktur ausgerichtet ist, die in Größe, Auflösung und Layout mit einer ID übereinstimmt. Im Allgemeinen kann das Verfahren konventionelle Auffindungs-Algorithmen verwenden, die auf den Sattelpunkten im Raster basieren, um schließlich die ID aufzufinden.
  • 14 zeigt eine Anzeige 1400 des weiteren Schrittes der Bestimmung des Umfangs der Sattelpunktegruppe oder einer „Zeichenbox”. Jeder Sattelpunkt ist entlang jeder Rasterachse projiziert, um einen Schnittpunkt mit der anderen Achse (z. B. Achsen 1410 und 1420) zu finden. Der Minimum- und Maximum-Abschnitt wird angewandt, um das Ausmaß der Gruppe zu bestimmen. Das Verfahren 400 kann sich auf die Verarbeitung in Regionen innerhalb des Ausmaßes/der Zeichenbox konzentrieren.
  • Im Verfahrensschritt 446 werden die Sattelpunkten entlang des Rasters und innerhalb der erwarteten Grenzen einer ID-Struktur abgetastet. Dies wird in der Anzeige 1500 der 15 dargestellt.
  • Sobald die ID bestätigt worden ist, kann das Verfahren in Schritt 450 eine Graustufenversion der Punkte im Bild scannen und generieren und diese in Bezug auf die damit verbundenen Sattelpunkte (wie in der Anzeige 1600 der 16 gezeigt) auffinden. Wie gezeigt erscheinen bestimmte Punkte (1610) hellgrau. In der Regel sind solche Punkte das Ergebniseines ungleichmäßigen Druckvorgangs oder einer ungleichmäßigen Beleuchtung über die abgebildeten ID, oder weil die grauen Pixel in der abgetasteten ID auf Basis ungenaue Rasterplätze aufgefunden wurden, die tatsächlich dazu führen, eine Kante des grauen Punktes abzutasten anstatt eine zentraleren Teil dieser Punkts. Die Graustufen-Version der ID kann in ein binäres Bild (voll hell und voll dunkel) umgewandelt werden, wie in der Anzeige 1700 der 17 abgebildet, zu welcher Zeit Graustufen-Punkte mittels Schwellwertverfahren entweder in einen voll hellen oder voll dunklen Zustand eingeteilt werden. Beispielhaft wird ein adaptiertes Schwellwertverfahren zur Bestimmung der grauen Pixel verwendet. Die ID kann dann wie in der Anzeige 1800 der 18 dargestellt abgeschnitten werden, so dass alle über ihre Grenzen hinausragenden Regionen eliminiert werden. Die ID kann auch wie gezeigt als negatives Bild präsentiert werden. Die ID wird dann an den Decodierprozess (Verfahrensschritt 460) präsentiert von dem die decodierte Information an das Datenverarbeitungssystem übertragen wird. Beim Decodieren der ID kann der Decodierprozess ein konventionelles Abtasten von Graustufen-Pixel an jedem gefundenen Rasterort zum Generieren der gewünschten decodierten Daten durchführen.
  • Wie oben allgemein beschrieben, klären das System und Verfahren Merkmale auf, die wahrscheinlich einer ID aus denen die mit Störwerten und zufällige Merkmalen in der Szene zusammenhängen zugeordnet sind. 19 zeigt durch Beispiel und Illustration ein Display 1900 eines Teils eines Gesamtbildes einer Szene, in welcher ID-Punkten zugeordnete Sattelpunkte 1910 zusätzlich zu den einer Region 1922 eines alphanumerischen (Nadeldrucker) zugeordneten Sattelpunkten 1920 aufgefunden werden. Der Glanz 1930 auf der Oberfläche des abgebildeten Objekts erzeugt darüber hinaus eine Reihe falscher Sattelpunkte entlang einer Linie 1940, die sich über Kachel (abgegrenzt durch horizontale und vertikale gestrichelte Linien 1950 und 1952) erstreckt. Diese zusätzlichen Sattelpunkte stellen Herausforderungen für das Auffinden tatsächlicher ID-Merkmale dar. Durch Paarungs-, Ausricht- und Filtrierprozesse wie oben beschrieben können diese nicht-ID-Merkmale systematisch beseitigt werden. Beispielsweise können falsche Sattelpunkte entlang der Linie 1940 mit einer Technik beseitigt werden, wo die Intensität des mittleren Bereiches ihrer Pixel-Nachbarschaften nicht größer als ein vorgegebener Schwellwert ist. Dieser vorbestimmte Schwellwert kann von der durchschnittlichen Intensität in der Nachbarschaft abgeleitet werden. In einigen Fällen, wo die Beseitigung eine besondere Herausforderung ist, können ausreichend ruhige Zonen (z. B. Region 1960) zwischen der ID und anderen ähnlichen Strukturen eingerichtet werden. Bei verschiedenen Ausführungsformen kann der Benutzer Systemparameter festlegen, um die Leistung basierend auf Größe, Ausrichtung, Auflösung und relativer Position der ID in der Szene zu verbessern, wenn solche Faktoren bekannt und von Objekt zu Objekt konsistent sind.
  • Beispielsweise wird die Bestimmung und Position von Sattelpunkten wie oben beschrieben als primäre Suchfunktion für DotCode-Kandidaten verwendet. Es ist beabsichtigt, dass gelegentlich ein oder mehrere Punkte auf einem gedruckten Code als nicht mit anderen diagonal benachbarten Punkten zusammenhängend erscheinen können, und sich somit in einer „spärlichen” Region des Codes befinden. Dementsprechend kann als weiterer Prozessschritt (470 in 4) beispielsweise ein Punktnachweisprozess. eingesetzt werden, nachdem andere Punkte durch Anwendung von Sattelpunkten über die Region in der festgestellt wurde, dass Sattelpunkte vorhanden sind, aufgefunden worden sind. Eine entsprechende Zeichenbox, basierend auf der erwarteten Größe des Codes verhindert, dass der Punktnachweis/Prozess zu weit außerhalb eines Kandidatenbereichs sucht. Der Punktdetektor kann konventionelle Bildverarbeitungs-Techniken anwenden, um neue punktähnliche Merkmale in dieser Region zu suchen.
  • V. Aufsuchen andere Formen von Sattelpunktmerkmalen in Bildern
  • Es ist ausdrücklich beabsichtigt, dass die oben beschriebenen Techniken zur Sattelpunkt-Bestimmung auf eine Vielzahl von Formen der Bilddaten angewendet werden können, die andere Informationen zu den Sattelpunkten als ID-Codes enthalten können. Durch ein nicht beschränkendes Beispiel zeigt 20 eine Folge von Bildrahmen 2010, 2020, 2030, die Teile einer großen Datei solcher Rahmen sein können – beispielsweise eine Sequenz von Rahmen, die von einem Hochgeschwindigkeits-Kamerasystem erfasst werden. Objekte in solchen Erfassungssequenzen werden oft mit Bezugspunkten versorgt. Eine bekannte Form eines Bezugspunktes (die sogenannte Secchi-Scheibe) 2050 wird in jedem Rahmen an einer anderen Position/in einer anderen Ausrichtung dargestellt. Dieser Bezugspunkt enthält eindeutige Sattelpunkt-Eigenschaften. Das hierin angewandte System und Verfahren können zuverlässig und relativ schnell in jedem Rahmen einen oder mehrere Bezugspunkte auffinden. Dort wo eine umfangreiche Anzahl von Einzelbildern in einem Datensatz vorhanden ist können das System und Verfahren die Zeit für die Analyse des Datensatzes und die Fokusanalyse auf Teile des Bildes die solche Bezugspunkte enthalten verkürzen.
  • In einer anderen beispielhaften Gruppe von Rahmen 2110, 2120, 2130, erscheint ein vertrautes Rollmuster 2150 in jedem Rahmen an einer anderen Stelle und mit einer anderen Ausrichtung. Dieses Muster enthält eine große Anzahl sich wiederholender Sattelpunkte. Das System und Verfahren können wieder jedes Element des Musters einer Pluralität von Bildrahmen effektiv suchen und verfolgen. Es sollte dabei Fachleuten klar sein, dass die Beispiele der 20 und 21 nur einige einer Vielzahl von möglichen Mustern und Anwendungen sind, die unter Anwendung des hierin beschriebenen Systems und Verfahrens analysiert werden können.
  • VI. Fazit
  • Es sollte klar sein, dass das oben beschriebenen System und das Verfahren zur Bestimmung von sattelpunktartigen Merkmalen in einem Bild und das Analysieren solcher Merkmale zur Durchführung von Bildverarbeitungs-Aufgaben wie beispielswiese das Auffinden und Decodieren von IDs eine effiziente und vielseitige Technik bereitstellt. In dem besonderen Fall der DotCode-Decodierung sprechen System und Verfahren die besondere Herausforderung an, dass sich DotCode-Punkte nicht berühren und somit alle benachbarte Punkte Sattelpunkte erzeugen. Die Robustheit der beispielhaften Antikorrelation und des Winkelprozesses positioniert jedoch die ermittelten Sattelpunkte mit hoher Genauigkeit in Bezug auf die Topologie, die sie repräsentieren. Während Such-Algorithmen häufig das Originalbild nach der groben Auffindung oft wieder abtasten, erfolgt eine Verfeinerung der ID-Informationen basierend auf den Sattelpunkten und nicht basierend auf einer rechenintensiveren Analyse der Punkte selbst. Ganz allgemein reduzieren die hierin angeführten Systeme und Verfahren effektiv Prozessoroverhead aufgrund erhöhter Berechnungen und erhöhen die Gesamt-Verarbeitungsgeschwindigkeit beim Auftreten bestimmter 2D-Codes und anderer abgebildeter Merkmale, die sattelpunktartige Strukturen enthalten können.
  • Das Vorhergehende war eine detaillierte Beschreibung von Ausführungsbeispielen der Erfindung. Verschiedene Modifikationen und Zusätze sind möglich, ohne vom Geist und Umfang dieser Erfindung abzuweichen. Merkmale einer jeden der oben beschriebenen Ausführungsform können in geeigneter Weise auch mit Merkmalen anderer beschriebener Ausführungsformen kombiniert werden, um eine Vielzahl von Merkmalskombinationen in zugehörigen neuen Ausführungsformen zu bieten. Darüber hinaus, obwohl das Vorhergehende eine Anzahl getrennter Ausführungsformen des Apparates und Verfahrens der vorliegenden Erfindung beschreibt, ist das hierin Beschriebene lediglich beispielhaft für die Anwendung der Grundsätze der vorliegenden Erfindung. Zum Beispiel, während die beispielhafte Ausführungsform nur Sattelpunkte zur Erzeugung eines decodierten ID-Ergebnisses anwendet, ist ausdrücklich beabsichtigt, dass zusätzliche Prozessschritte zumindest einige Punkte in den Merkmalen der ID-Kandidaten prüfen können, um bei der Decodierung der ID mitzuhelfen. Demgemäß soll diese Beschreibung nur als Beispiel dienen und sonst nicht den Umfang der vorliegenden Erfindung beschränken.
  • Anspruch wird erhoben auf:

Claims (20)

  1. Ein System zur Bestimmung von sattelpunktartigen Strukturen in einem Bild mit einem Bildverarbeitungs-Prozessor bestehend aus: Einem Antikorrelations-Prozess der so aufgebaut und angeordnet ist, dass er auf einer Vielzahl von Nachbarschaften von Pixel innerhalb des Bildes arbeitet und dabei Sattelpunkt-Kandidaten innerhalb der Nachbarschaften identifiziert.
  2. Das System nach Anspruch 1, dadurch gekennzeichnet, dass die Antikorrelation so aufgebaut und angeordnet ist, um bei jeder der Nachbarschaften einen um 90 Grad gedrehten Kernel einer jeden jeweiligen Nachbarschaft anzuwenden.
  3. Das System nach Anspruch 2 zusätzlich enthaltend einen Bestätigungsprozess der so aufgebaut und angeordnet ist, um bei jeder der Nachbarschaften einen um 180 Grad gedrehten Kernel einer jeden jeweiligen Nachbarschaft anzuwenden.
  4. Das System nach Anspruch 3, dadurch gekennzeichnet, dass zumindest einer der um 90 Grad gedrehten Kernel und der um 180 Grad gedrehte Kernel ein Null-Zentrum von mehre als einem Pixel enthält.
  5. Das System nach Anspruch 2 dadurch gekennzeichnet, dass die Antikorrelation mit mindestens einer normalisierten Korrelationsformel und einer Summe der absoluten Differenzenformeln arbeitet.
  6. System nach Anspruch 1 zusätzlich enthaltend einen Prozess der Verfeinerung der so aufgebaut und angeordnet ist, um die sattelpunktartigen Strukturen im Bild durch Bestimmung der dominierenden Winkel in Bezug auf sattelpunktartige Kandidaten sowie der Abstände zwischen angrenzenden sattelpunktartigen Kandidaten zu bestimmen.
  7. System nach Anspruch 1, dadurch gekennzeichnet, dass der Prozess der Verfeinerung zusätzlich so aufgebaut und angeordnet ist, um die sattelpunktartigen Strukturen auf der Grundlage der jeweiligen dominanten Winkel und der Abstände zwischen den angrenzenden Sattelpunkt-Strukturen zu gruppieren.
  8. System nach Anspruch 7, dadurch gekennzeichnet, dass der Prozess der Verfeinerung zusätzlich einen rasteranpassenden Prozess enthält der so aufgebaut und angeordnet ist, um ein etwa geradliniges Raster mit sattelpunktartigen Strukturen zu bestimmen.
  9. System nach Anspruch 8 zusätzlich enthaltend eine Beseitigung sattelpunktartiger Strukturen, die in etwa außerhalb von Linien des Rasters liegen.
  10. System nach Anspruch 9, dadurch gekennzeichnet, dass das Raster basierend auf der Topologie einer ID aufgebaut ist.
  11. System nach Anspruch 10, dadurch gekennzeichnet, dass die ID eine DotCode-ID definiert.
  12. System nach Anspruch 11 zusätzlich enthaltend einen ID-Bestimmungsprozess, der ID-Informationen für den Einsatz bei der Decodierung basierend auf den sattelpunktartigen Strukturen im Raster generiert.
  13. System für das Decodieren einer ID in einem Bild unter Verwendung eines Bildverarbeitungsprozessors bestehend aus: einem Bestimmungsprozess für eine sattelpunktartige Struktur der gruppierte sattelpunktartige Strukturen in Bezug auf das Bild erzeugt; einem ID-Bestimmungsprozess basierend auf den gruppierten sattelpunktartigen Strukturen ID-Informationen erzeugt; und einem ID-Decodierprozess, der die ID-Informationen decodiert.
  14. System nach Anspruch 13, dadurch gekennzeichnet, dass der Bestimmungsprozess für die sattelpunktartige Struktur mit Hilfe eines Antikorrelations-Prozesses arbeitet, der so aufgebaut und angeordnet ist, dass er auf einer Vielzahl von Nachbarschaften von Pixel innerhalb des Bildes arbeitet und dabei Sattelpunkt-Kandidaten innerhalb der Nachbarschaften identifiziert.
  15. System nach Anspruch 14, dadurch gekennzeichnet, dass die ID eine DotCode-ID definiert.
  16. System nach Anspruch 15 zusätzlich enthaltend einen Punktdetektor, der nach punktähnlichen Merkmalen in einer Region des Bildes sucht, welche die ID zum Nachweis dafür enthält, dass alle Punkte in der Region aufgefunden worden sind.
  17. Ein Verfahren zur Bestimmung von sattelpunktartigen Strukturen in einem Bild mit einem Bildverarbeitungs-Prozessor bestehend aus den Schritten: Arbeiten auf einer Vielzahl von Nachbarschaften von Pixel innerhalb des Bildes und identifizieren von Sattelpunkt-Kandidaten innerhalb der Nachbarschaften durch Anwenden eines Antikorrelations-Kernels.
  18. Das Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass der Schritt der Anwendung des Antikorrelations-Kernels für jede der Nachbarschaften die Anwendung eines um 90 Grad gedrehten Kernels einer jeden jeweiligen Nachbarschaft enthält.
  19. Das Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass der Schritt der Anwendung des Antikorrelations-Kernels die Anwendung von mindestens einer normalisierten Korrelationsformel und einer Summe der absoluten Differenzenformeln enthält.
  20. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass zumindest einige der Sattelpunkt-Kandidaten mit einem ID-Code verbunden sind.
DE102013112040.7A 2012-10-31 2013-10-31 System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus Active DE102013112040B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261721012P 2012-10-31 2012-10-31
US61/721,012 2012-10-31
US13/797,910 US9946947B2 (en) 2012-10-31 2013-03-12 System and method for finding saddle point-like structures in an image and determining information from the same
US13/797,910 2013-03-12

Publications (2)

Publication Number Publication Date
DE102013112040A1 true DE102013112040A1 (de) 2014-04-30
DE102013112040B4 DE102013112040B4 (de) 2016-08-18

Family

ID=50479856

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013112040.7A Active DE102013112040B4 (de) 2012-10-31 2013-10-31 System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus

Country Status (4)

Country Link
US (1) US9946947B2 (de)
CN (1) CN103824275B (de)
DE (1) DE102013112040B4 (de)
HK (1) HK1198560A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020130929A1 (de) 2020-07-31 2022-02-03 Technische Universität Dortmund Verfahren und Vorrichtung zur Auswertung von Matrixcodes

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3467700B1 (de) 2014-11-18 2022-05-04 Cognex Corporation Systeme und verfahren zur decodierung von zweidimensionalen matrixsymbolen
DE102016120775A1 (de) * 2015-11-02 2017-05-04 Cognex Corporation System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem
CN105709434B (zh) * 2016-01-26 2017-10-13 上海葡萄纬度科技有限公司 一种教育玩具套件及其反光镜位置检测方法
WO2017139194A1 (en) * 2016-02-11 2017-08-17 3M Innovative Properties Company Population-based surface mesh reconstruction
US10762405B2 (en) * 2017-10-26 2020-09-01 Datalogic Ip Tech S.R.L. System and method for extracting bitstream data in two-dimensional optical codes
US11276031B2 (en) * 2017-12-12 2022-03-15 Dover Europe Sarl Ultraviolet (UV) fluorescing product codes
CN113158704B (zh) * 2021-04-07 2023-06-09 福州符号信息科技有限公司 一种快速定位Dotcode码的方法及其***

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137893A (en) * 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
US6088482A (en) * 1998-10-22 2000-07-11 Symbol Technologies, Inc. Techniques for reading two dimensional code, including maxicode
US6487516B1 (en) 1998-10-29 2002-11-26 Netmor Ltd. System for three dimensional positioning and tracking with dynamic range extension
US6880755B2 (en) * 1999-12-06 2005-04-19 Xerox Coporation Method and apparatus for display of spatially registered information using embedded data
US6601772B1 (en) * 2000-07-14 2003-08-05 Intellidot Corporation Compact matrix code and one-touch device and method for code reading
US6865273B2 (en) * 2002-06-05 2005-03-08 Sony Corporation Method and apparatus to detect watermark that are resistant to resizing, rotation and translation
US6823077B2 (en) 2001-07-30 2004-11-23 Agilent Technologies, Inc. Simplified interpolation for an optical navigation system that correlates images of one bit resolution
US7260259B2 (en) 2002-01-08 2007-08-21 Siemens Medical Solutions Usa, Inc. Image segmentation using statistical clustering with saddle point detection
US6959866B2 (en) 2002-05-30 2005-11-01 Ricoh Company, Ltd. 2-Dimensional code pattern, 2-dimensional code pattern supporting medium, 2-dimensional code pattern generating method, and 2-dimensional code reading apparatus and method
US7619607B2 (en) 2005-06-30 2009-11-17 Microsoft Corporation Embedding a pattern design onto a liquid crystal display
CN1896682A (zh) * 2005-07-12 2007-01-17 北京航空航天大学 一种x型角点亚像素提取方法
US8224018B2 (en) 2006-01-23 2012-07-17 Digimarc Corporation Sensing data from physical objects
US7848571B2 (en) * 2006-06-26 2010-12-07 Keystream Corporation Computer-implemented method for efficient image segmentation using automated saddle-point detection
KR20110002833A (ko) * 2008-01-29 2011-01-10 베리텍 인코포레이티드 이차원 심벌 및 이 심벌의 판독방법
US8011596B2 (en) 2008-02-13 2011-09-06 Hand Held Products, Inc. Machine readable 2D symbology printable on demand
US7980473B2 (en) * 2008-02-28 2011-07-19 Microsoft Corporation Camera based code reading
WO2009145076A1 (ja) * 2008-05-28 2009-12-03 株式会社 日立メディコ 画像処理装置、画像処理方法、及び画像処理プログラム
US20120145779A1 (en) * 2009-04-08 2012-06-14 Continental Teves Ag & Co. Ohg Two-dimensional symbol code and method for reading the symbol code
US8306274B2 (en) 2010-05-25 2012-11-06 The Aerospace Corporation Methods for estimating peak location on a sampled surface with improved accuracy and applications to image correlation and registration
JP5573618B2 (ja) * 2010-11-12 2014-08-20 富士通株式会社 画像処理プログラムおよび画像処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020130929A1 (de) 2020-07-31 2022-02-03 Technische Universität Dortmund Verfahren und Vorrichtung zur Auswertung von Matrixcodes

Also Published As

Publication number Publication date
DE102013112040B4 (de) 2016-08-18
US9946947B2 (en) 2018-04-17
US20140119665A1 (en) 2014-05-01
HK1198560A1 (en) 2015-05-15
CN103824275B (zh) 2018-02-06
CN103824275A (zh) 2014-05-28

Similar Documents

Publication Publication Date Title
DE102013112040B4 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
DE102015005267B4 (de) Informationsverarbeitungsvorrichtung, Verfahren dafür und Messvorrichtung
DE69027616T2 (de) Gerät und Verfahren zum Bestimmen von Konturen und Linien
DE102016120775A1 (de) System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem
DE102006055758B4 (de) Verfahren zur Kalibrierung von Kameras und Projektoren
DE102007035884B4 (de) Linienrauschunterdrückungsvorrichtung, -verfahren und -programm
DE112014006439B4 (de) Kantenerkennungsvorrichtung, Kantenerkennungsverfahren und Programm
DE112009000949T5 (de) Detektion eines freien Fahrpfads für ein Fahrzeug
DE112013000571B4 (de) Verfahren zum Decodieren eines Strichcodes innerhalb eines Bilderzeugungssichtfelds eines Bilderzeugungssystems und Vorrichtung
DE112010004767T5 (de) Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm
DE112015002368T5 (de) Zielmusterform als abstandssensor für barcodescanner
DE102010040518A1 (de) Bildaufnahmegerät, Bilddarstellungsverfahren und Aufnahmemedium sowie darauf aufgenommenes Bilddarstellungsprogramm
DE102015122116A1 (de) System und Verfahren zur Ermittlung von Clutter in einem aufgenommenen Bild
DE102013114996A1 (de) Bildsuperauflösung für dynamischen Rückspiegel
DE102018113589A1 (de) Vorrichtung und Programm zur Positionserfassung
EP3931798B1 (de) Schätzung der bewegung einer bildposition
DE112015006378T5 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsverfahren und Bildverarbeitungsprogramm
DE102016100134B4 (de) Verfahren und Vorrichtung zum Untersuchen eines Objekts unter Verwendung von maschinellem Sehen
EP2887010A1 (de) Verfahren und Vorrichtung zum dreidimensionalen optischen Vermessen von Objekten mit einem topometrischen Messverfahren sowie Computerprogramm hierzu
DE10142457B4 (de) Digitale Bildmessung retroreflektierender Marken
DE102019110076A1 (de) Optimierte strichcode-dekodierung in mehrfachbildgeberstrichcodelesegeräten und bildgebungsmaschinen
DE112011105010B4 (de) Erkennung von Kratzern auf einem Bild
DE4143193A1 (de) System zur mathematischen erfassung dreidimensionaler oberflaechen
EP3214602B1 (de) Verfahren zur dreidimensionalen erfassung von objekten
DE102018105463A1 (de) Codelesegerät mit erweiterter Lesereichweite

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20140905

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: PATENTANWAELTE OLBRICHT, BUCHHOLD, KEULERTZ PA, DE

R082 Change of representative

Representative=s name: PATENTANWAELTE OLBRICHT, BUCHHOLD, KEULERTZ PA, DE