DE112021004030T5 - Automatische identifizierung und darstellung von kanten, formen und eindeutigen objekten in einem bild, das zur einstellung eines bildverarbeitungsauftrags verwendet wird - Google Patents

Automatische identifizierung und darstellung von kanten, formen und eindeutigen objekten in einem bild, das zur einstellung eines bildverarbeitungsauftrags verwendet wird Download PDF

Info

Publication number
DE112021004030T5
DE112021004030T5 DE112021004030.8T DE112021004030T DE112021004030T5 DE 112021004030 T5 DE112021004030 T5 DE 112021004030T5 DE 112021004030 T DE112021004030 T DE 112021004030T DE 112021004030 T5 DE112021004030 T5 DE 112021004030T5
Authority
DE
Germany
Prior art keywords
interest
item
tool
processors
image
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.)
Pending
Application number
DE112021004030.8T
Other languages
English (en)
Inventor
Thomas Conticello
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.)
Zebra Technologies Corp
Original Assignee
Zebra Technologies 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 Zebra Technologies Corp filed Critical Zebra Technologies Corp
Publication of DE112021004030T5 publication Critical patent/DE112021004030T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • G06V30/2247Characters composed of bars, e.g. CMC-7
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • G06K19/06028Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

Systeme und Verfahren zur automatischen Identifizierung und Darstellung von Kanten, Formen und eindeutigen Objekten in einem Bild, das für die Einrichtung eines Bildverarbeitungsauftrags verwendet wird, werden hier offenbart. Ein Beispielverfahren umfasst den Empfang einer Bilddatei durch einen oder mehrere Prozessoren. Das Verfahren umfasst ferner die automatische Bestimmung eines Gegenstands von Interesse in der Bilddatei durch den einen oder die mehreren Prozessoren. Das Verfahren umfasst ferner das Analysieren des Gegenstands von Interesse durch den einen oder die mehreren Prozessoren, um ein geeignetes Werkzeug zur Verarbeitung des Gegenstands von Interesse zu bestimmen. Das Verfahren umfasst ferner die Anzeige durch den einen oder die mehreren Prozessoren auf einer Anzeige: (i) eines Bildes, das mit der Bilddatei korrespondiert, (ii) einer Anzeige des Gegenstands von Interesse und (iii) einer Anzeige des geeigneten Werkzeugs.

Description

  • HINTERGRUND
  • Die derzeitigen Bildverarbeitungssysteme erfordern viele Benutzereingaben, um erfolgreich zu funktionieren. So ist es bei den derzeitigen Systemen beispielsweise erforderlich, dass der Benutzer vor der Durchführung bestimmter Bildverarbeitungsaufgaben mit verschiedenen Techniken einen Gegenstand von Interesse definiert. Dies kann manchmal umständlich sein, insbesondere wenn ein Benutzer eine große Anzahl von Bildverarbeitungsaufgaben durchführen möchte.
  • Es besteht also ein Bedarf an verbesserten und rationalisierten Bildverarbeitungsaufgaben.
  • BESCHREIBUNG
  • In einem Aspekt gibt es ein Verfahren zur Erleichterung einer Erstellung eines Bildanalyseauftrags, wobei das Verfahren umfasst: Empfangen einer Bilddatei durch einen oder mehrere Prozessoren; und automatisches Bestimmen eines Gegenstands von Interesse innerhalb der Bilddatei durch den einen oder die mehreren Prozessoren. Das Verfahren kann ferner das Analysieren des Gegenstands von Interesse durch den einen oder die mehreren Prozessoren umfassen, um ein geeignetes Werkzeug zur Verarbeitung des Gegenstands von Interesse zu bestimmen. Das Verfahren kann weiterhin beinhalten, dass durch den einen oder die mehreren Prozessoren auf einem Bildschirm angezeigt wird: (i) ein Bild, das mit der Bilddatei korrespondiert, (ii) eine Anzeige des Gegenstands von Interesse und (iii) eine Anzeige des geeigneten Werkzeugs.
  • In einer Variation dieser Ausführungsform umfasst die Anzeige des Gegenstands von Interesse einen Rahmen, der den Gegenstand von Interesse umschließt.
  • In einer anderen Variation umfasst das Anzeigen der Anzeige des Gegenstands von Interesse das Anzeigen einer Linie oder einer Reihe von Linien um den Gegenstand von Interesse in einer ersten Farbe. Das Verfahren kann ferner das Bestimmen umfassen, dass der Gegenstand von Interesse nicht mehr innerhalb der Linie oder der Reihe von Linien gefunden werden kann; und als Reaktion auf das Bestimmen, dass der Gegenstand von Interesse nicht mehr innerhalb der Linie oder der Reihe von Linien gefunden werden kann, das Ändern der ersten Farbe in eine zweite Farbe, wobei die erste Farbe sich von der zweiten Farbe unterscheidet.
  • In einer anderen Variation umfasst das geeignete Werkzeug einen Strichcode-Scanner, ein Mustervergleichswerkzeug, ein Kantenerkennungswerkzeug oder ein Messwerkzeug.
  • In einer weiteren Variation umfasst der Gegenstand von Interesse ein physisches Objekt. In einer anderen Implementierung umfasst das Objekt von Interesse einen Strichcode oder einen Quick Response (QR)-Code.
  • In einer weiteren Variation kann das Verfahren ferner umfassen: Bestimmen, durch den einen oder die mehreren Prozessoren, dass der Gegenstand von Interesse einen Strichcode umfasst; und als Reaktion auf die Bestimmung, dass der Gegenstand von Interesse einen Strichcode umfasst, Bestimmen, durch den einen oder die mehreren Prozessoren, dass das geeignete Werkzeug einem Strichcode-Scanwerkzeug entspricht.
  • In einer weiteren Variation kann das Verfahren ferner umfassen: Bestimmen, durch den einen oder die mehreren Prozessoren, dass der Gegenstand von Interesse keinen Strichcode umfasst; und als Reaktion auf die Bestimmung, dass der Gegenstand von Interesse keinen Strichcode umfasst, Bestimmen, durch den einen oder die mehreren Prozessoren, dass das geeignete Werkzeug einem Mustervergleichswerkzeug oder einem Kantenerkennungswerkzeug entspricht.
  • In einer weiteren Variation kann das Verfahren ferner umfassen: Bestimmen, durch den einen oder die mehreren Prozessoren, dass der Gegenstand von Interesse ein physisches Objekt umfasst; und als Reaktion auf die Bestimmung, dass der Gegenstand von Interesse ein physisches Objekt umfasst, Bestimmen, durch den einen oder die mehreren Prozessoren, dass das geeignete Werkzeug einem Messwerkzeug entspricht.
  • In einer Implementierung erhalten der eine oder die mehreren Prozessoren das Bild von einer Kamera. In einer anderen Implementierung erhalten der eine oder die mehreren Prozessoren das Bild aus einer Datenbank.
  • In einer weiteren Variation erfolgt die automatische Bestimmung des Gegenstands von Interesse in der Bilddatei durch Analyse der Bilddatei mittels Pixelanalyse.
  • In einigen Implementierungen erfolgt die automatische Bestimmung des Gegenstands von Interesse durch die Durchführung einer Kantendetektion an der Bilddatei; die Kantendetektion zeigt an, dass der Gegenstand von Interesse ein zweidimensionales Objekt umfasst; und als Reaktion auf die Anzeige, dass der Gegenstand von Interesse ein zweidimensionales Objekt umfasst, bestimmen der eine oder die mehreren Prozessoren, dass das geeignete Werkzeug einem Kantendetektionswerkzeug entspricht.
  • In einigen Implementierungen erfolgt die automatische Bestimmung des Gegenstands von Interesse durch die Durchführung einer Kantenerkennung an der Bilddatei; die Kantenerkennung zeigt an, dass der Gegenstand von Interesse ein dreidimensionales Objekt umfasst; und als Reaktion auf die Anzeige, dass der Gegenstand von Interesse ein dreidimensionales Objekt umfasst, bestimmen der eine oder die mehreren Prozessoren, dass das geeignete Werkzeug einem Mustervergleichswerkzeug entspricht.
  • In einem anderen Aspekt gibt es ein Computersystem zur Erleichterung der Erstellung eines Bildanalyseauftrags, wobei das Computersystem einen oder mehrere Prozessoren umfasst. Das Computersystem kann ferner einen nichttransitorischen Programmspeicher umfassen, der kommunikativ mit dem einen oder den mehreren Prozessoren gekoppelt ist und ausführbare Befehle speichert, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, das Computersystem veranlassen: eine Bilddatei zu empfangen; automatisch einen Gegenstand von Interesse in der Bilddatei zu bestimmen; den Gegenstand von Interesse zu analysieren, um ein geeignetes Werkzeug zur Verarbeitung des Gegenstands von Interesse zu bestimmen; und auf einem Bildschirm anzuzeigen: (i) ein mit der Bilddatei korrespondierendes Bild, (ii) eine Anzeige des Gegenstands von Interesse und (iii) eine Anzeige des geeigneten Werkzeugs.
  • In einem weiteren Aspekt gibt es ein zugreifbares, nichttransitorisches, computerlesbares Medium, das ausführbare Anweisungen zum Erzeugen eines Bildverarbeitungsauftrags speichert, die, wenn sie von mindestens einem Prozessor eines Computersystems ausgeführt werden, das Computersystem veranlassen: eine Bilddatei zu empfangen; automatisch einen Gegenstand von Interesse in der Bilddatei zu bestimmen; den Gegenstand von Interesse zu analysieren, um ein geeignetes Werkzeug zum Verarbeiten des Gegenstands von Interesse zu bestimmen; und auf einem Bildschirm anzuzeigen: (i) ein Bild, das mit der Bilddatei korrespondiert, (ii) eine Anzeige des Gegenstands von Interesse und (iii) eine Anzeige des geeigneten Werkzeugs.
  • Figurenliste
  • Die beigefügten Figuren, in denen gleiche Bezugszeichen identische oder funktional ähnliche Elemente in den einzelnen Ansichten bezeichnen, sind zusammen mit der nachfolgenden detaillierten Beschreibung in die Offenbarung inkorporiert und bilden einen Bestandteil der Offenbarung und dienen dazu, hierin beschriebene Ausführungsformen von Konzepten, die die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
    • 1 ist ein Beispielsystem zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag gemäß den hier beschriebenen Ausführungsformen.
    • 2 ist eine perspektivische Ansicht der Bildgebungsvorrichtung von 1, gemäß den hier beschriebenen Ausführungsformen.
    • 3 zeigt ein Beispiel für eine Anwendungsschnittstelle, die zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag verwendet wird, gemäß den hier beschriebenen Ausführungsformen.
    • 4A und 4B zeigen zusätzliche Anwendungsschnittstellen, die zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag verwendet werden, gemäß den hier beschriebenen Ausführungsformen.
    • 5 zeigt eine zusätzliche Anwendungsschnittstelle zur automatischen Identifizierung eines Gegenstands von Interesse und zum Vorschlagen eines entsprechenden Werkzeugs.
    • 6 zeigt eine zusätzliche Anwendungsschnittstelle zur automatischen Identifizierung eines Gegenstands von Interesse und zum Vorschlagen erster und zweiter empfohlener Werkzeuge.
    • 7 ist ein Flussdiagramm eines Beispielverfahrens zur Erstellung eines Bildanalyseauftrags gemäß den hier beschriebenen Ausführungsformen.
  • Fachleute werden erkennen, dass Elemente in den Figuren der Einfachheit und Klarheit halber dargestellt sind und nicht notwendigerweise maßstabsgetreu gezeichnet wurden. Zum Beispiel können die Dimensionen einiger der Elemente in den Figuren relativ zu anderen Elementen übertrieben sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu verbessern.
  • Die Vorrichtungs- und Verfahrenskomponenten wurden, wo es angemessen ist, durch herkömmliche Symbole in den Zeichnungen dargestellt, die nur jene spezifischen Details zeigen, die zum Verständnis der Ausführungsformen der vorliegenden Erfindung relevant sind, um somit die Offenbarung nicht mit Einzelheiten zu verdecken, die für die Fachleute auf dem Gebiet, die auf die vorliegende Beschreibung zurückgreifen, ohne weiteres ersichtlich sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Offenbarung bietet Techniken zur Erleichterung von Bildverarbeitungs- und Bildanalyseaufträgen. Insbesondere wird in einigen Ausführungsformen ein Gegenstand von Interesse aus Bilddaten bestimmt und ein Werkzeug für den Bildverarbeitungs- oder Bildanalyseauftrag wird dann auf der Grundlage des bestimmten Gegenstands von Interesse ausgewählt. Vorteilhafterweise spart die automatische Identifizierung des Gegenstands von Interesse und die anschließende Nutzung des identifizierten Gegenstands von Interesse zur Bestimmung eines geeigneten Werkzeugs für den Bildverarbeitungsauftrag oder den Bildanalyseauftrag dem Benutzer Zeit und führt zu weniger erforderlichen Interaktionen zwischen dem Benutzer und dem System. Darüber hinaus erleichtert dies die Empfehlung eines Werkzeugs, ohne dass übermäßige menschliche Eingaben erforderlich sind. Mehr noch, die Techniken der vorliegenden Offenbarung verringern die Wahrscheinlichkeit, dass ein ungeeignetes Werkzeug zu einem Bildverarbeitungsauftrag hinzugefügt wird, wodurch Kosten und Ineffizienzen bei der Implementierung der Bildverarbeitung reduziert werden.
  • 1 zeigt ein Beispiel für ein intelligentes Bildgebungssystem 100, das so konfiguriert ist, dass es Pixeldaten eines Bildes eines Zielobjekts analysiert, um eine oder mehrere Bildgebungseinstellungen für einen Bildverarbeitungsauftrag zu optimieren, gemäß verschiedenen hierin offenbarten Ausführungsformen. In dem Ausführungsbeispiel von 1 umfasst das intelligente Bildgebungssystem 100 eine Benutzer-Computervorrichtung 102 und eine Bildgebungsvorrichtung 104, die über ein Netzwerk 106 mit der Benutzer-Computervorrichtung 102 kommunikativ gekoppelt ist. Im Allgemeinen ist die Benutzer-Computervorrichtung 102 so konfiguriert, dass ein Benutzer/Bediener einen Bildverarbeitungsauftrag zur Ausführung auf der Bildgebungsvorrichtung 104 erstellen kann. Nach der Erstellung kann der Benutzer/Bediener dann den Bildverarbeitungsauftrag über das Netzwerk 106 an die Bildgebungsvorrichtung 104 übertragen/hochladen, wo der Bildverarbeitungsauftrag dann interpretiert und ausgeführt wird. Die Benutzer-Computervorrichtung 102 kann eine oder mehrere Bediener-Arbeitsstationen umfassen und einen oder mehrere Prozessoren 108, einen oder mehrere Speicher 110, eine Netzwerkschnittstelle 112, eine Eingabe-/Ausgabeschnittstelle 114 und eine intelligente Bildgebungsanwendung 116 enthalten.
  • Die Bildgebungsvorrichtung 104 ist über ein Netzwerk 106 mit der Benutzer-Computervorrichtung 102 verbunden und ist so konfiguriert, dass sie von der Benutzer-Computervorrichtung 102 empfangene Bildverarbeitungsaufträge interpretiert und ausführt. Im Allgemeinen kann die Bildgebungsvorrichtung 104 eine Auftragsdatei, die ein oder mehrere Auftragsskripte enthält, von der Benutzer-Computervorrichtung 102 über das Netzwerk 106 erhalten, die den Bildverarbeitungsauftrag definieren und die Bildgebungsvorrichtung 104 so konfigurieren können, dass sie Bilder gemäß dem Bildverarbeitungsauftrag erfasst und/oder analysiert. Beispielsweise kann die Bildgebungsvorrichtung 104 einen Flash-Speicher enthalten, der zum Ermitteln, Speichern oder anderweitigen Verarbeiten von Bilddaten/Datensätzen und/oder Post-Bildgebungsdaten verwendet wird. Die Bildgebungsvorrichtung 104 kann dann einen Auslöser empfangen, erkennen und/oder anderweitig interpretieren, der die Bildgebungsvorrichtung 104 veranlasst, ein Bild des Zielobjekts gemäß der über das eine oder die mehreren Auftragsskripte festgelegten Konfiguration zu erfassen. Nach der Erfassung und/oder Analyse kann die Bildgebungsvorrichtung 104 die Bilder und alle zugehörigen Daten über das Netzwerk 106 an die Benutzer-Computervorrichtung 102 zur weiteren Analyse und/oder Speicherung übertragen. In verschiedenen Ausführungsformen kann die Bildgebungsvorrichtung 104 eine „intelligente“ Kamera sein und/oder anderweitig so konfiguriert sein, dass sie automatisch ausreichende Funktionen der Bildgebungsvorrichtung 104 ausführt, um Auftragsskripte zu erhalten, zu interpretieren und auszuführen, die Bildverarbeitungsaufträge definieren, wie beispielsweise ein oder mehrere Auftragsskripte, die in einer oder mehreren Auftragsdateien enthalten sind, die beispielsweise von der Benutzer-Computervorrichtung 102 erhalten wurden.
  • Im Großen und Ganzen kann es sich bei der Auftragsdatei um eine JSON-Darstellung/ein Datenformat des einen oder der mehreren Auftragsskripte handeln, die von der Benutzer-Computervorrichtung 102 an die Bildgebungsvorrichtung 104 übertragen werden können. Die Auftragsdatei kann außerdem von einer C++-Laufzeit-Maschine oder einer anderen geeigneten Laufzeit-Maschine geladen/gelesen werden, die auf der Bildgebungsvorrichtung 104 ausgeführt wird. Darüber hinaus kann auf der Bildgebungsvorrichtung 104 ein Server (nicht dargestellt) laufen, der so konfiguriert ist, dass er über das Netzwerk 106 Auftragsdateien von der Benutzer-Computervorrichtung 102 abhört und empfängt. Zusätzlich oder alternativ kann der Server, der zum Abhören und Empfangen von Auftragsdateien konfiguriert ist, als ein oder mehrere Cloud-basierte Server implementiert werden, wie z. B. eine Cloud-basierte Rechenplattform. Beispielsweise kann es sich bei dem Server um eine oder mehrere Cloud-basierte Plattform(en) wie MICROSOFT AZURE, AMAZON AWS oder dergleichen handeln.
  • In jedem Fall kann die Bildgebungsvorrichtung 104 einen oder mehrere Prozessoren 118, einen oder mehrere Speicher 120, eine Netzwerkschnittstelle 122, eine Eingabe-/Ausgabeschnittstelle 124 und eine Bildgebungsbaugruppe 126 umfassen. Die Bildgebungsbaugruppe 126 kann eine Digitalkamera und/oder eine digitale Videokamera zum Erfassen oder Aufnehmen von digitalen Bildern und/oder Einzelbildern (Frames) umfassen. Jedes digitale Bild kann Pixeldaten enthalten, die von einem oder mehreren Werkzeugen analysiert werden können, die jeweils so konfiguriert sind, dass sie eine Bildanalyseaufgabe durchführen, wie hier beschrieben. Die Digitalkamera und/oder die digitale Videokamera, z. B. der Bildgebungsbaugruppe 126, kann so konfiguriert sein, dass sie digitale Bilder aufnimmt, erfasst oder anderweitig erzeugt, und zumindest in einigen Ausführungsformen kann sie solche Bilder in einem Speicher (z. B. einem oder mehreren Speichern 110, 120) einer entsprechenden Vorrichtung (z. B. Benutzer-Computervorrichtung 102, Bildgebungsvorrichtung 104) speichern.
  • Beispielsweise kann die Bildgebungsbaugruppe 126 eine fotorealistische Kamera (nicht abgebildet) zum Erfassen, Abtasten oder Scannen von 2D-Bilddaten enthalten. Die fotorealistische Kamera kann eine auf RGB (Rot, Grün, Blau) basierende Kamera zum Erfassen von 2D-Bildern mit RGB-basierten Pixeldaten sein. In verschiedenen Ausführungsformen kann die Bildgebungsbaugruppe zusätzlich eine dreidimensionale (3D) Kamera (nicht abgebildet) zum Erfassen, Abtasten oder Scannen von 3D-Bilddaten enthalten. Die 3D-Kamera kann einen Infrarot (IR)-Projektor und eine zugehörige IR-Kamera zum Erfassen, Abtasten oder Scannen von 3D-Bilddaten/Datensätzen umfassen. In einigen Ausführungsformen kann die fotorealistische Kamera der Bildgebungsbaugruppe 126 2D-Bilder und zugehörige 2D-Bilddaten zum gleichen oder einem ähnlichen Zeitpunkt wie die 3D-Kamera der Bildgebungsbaugruppe 126 erfassen, so dass der Bildgebungsvorrichtung 104 beide Sätze von 3D-Bilddaten und 2D-Bilddaten für eine bestimmte Oberfläche, ein Objekt, einen Bereich oder eine Szene zum gleichen oder einem ähnlichen Zeitpunkt zur Verfügung stehen. In verschiedenen Ausführungsformen kann die Bildgebungsbaugruppe 126 die 3D-Kamera und die fotorealistische Kamera als eine einzige Bildgebungsvorrichtung umfassen, die so konfiguriert ist, dass sie 3D-Tiefenbilddaten gleichzeitig mit 2D-Bilddaten erfasst. Folglich können die erfassten 2D-Bilder und die entsprechenden 2D-Bilddaten mit den 3D-Bildern und 3D-Bilddaten tiefenangepasst sein.
  • In bestimmten Ausführungsformen kann die Bildgebungsbaugruppe 126 so konfiguriert sein, dass sie Bilder von Oberflächen oder Bereichen eines vordefinierten Suchraums oder von Zielobjekten innerhalb des vordefinierten Suchraums erfasst. Beispielsweise kann jedes in einem Auftragsskript enthaltene Werkzeug zusätzlich einen Bereich von Interesse (ROI) enthalten, der einem bestimmten Bereich oder einem Zielobjekt entspricht, das von der Bildgebungsbaugruppe 126 abgebildet wird. Der zusammengesetzte Bereich, der durch die ROls für alle in einem bestimmten Auftragsskript enthaltenen Werkzeuge definiert ist, kann dadurch den vordefinierten Suchraum definieren, den die Bildgebungsbaugruppe 126 erfassen kann, um die Ausführung des Auftragsskripts zu erleichtern. Der vordefinierte Suchraum kann jedoch vom Benutzer so festgelegt werden, dass er ein Sichtfeld (FOV) umfasst, das größer oder kleiner ist als der zusammengesetzte Bereich, der durch die ROls aller im jeweiligen Auftragsskript enthaltenen Werkzeuge definiert ist. Es sei darauf hingewiesen, dass die Bildgebungsbaugruppe 126 2D- und/oder 3D-Bilddaten/Datensätze einer Vielzahl von Bereichen erfassen kann, so dass neben den vordefinierten Suchräumen weitere Bereiche in Betracht gezogen werden können. Darüber hinaus kann die Bildgebungsbaugruppe 126 in verschiedenen Ausführungsformen so konfiguriert sein, dass sie neben den 2D/3D-Bilddaten auch andere Bilddatensätze erfasst, wie z. B. Graustufenbilddaten oder Amplitudenbilddaten, die jeweils mit den 2D/3D-Bilddaten tiefenangepasst sein können.
  • Die Bildgebungsvorrichtung 104 kann auch die 2D-Bilddaten/Datensätze und/oder 3D-Bilddatensätze für die Verwendung durch andere Vorrichtungen (z. B. die Benutzer-Computervorrichtung 102, einen externen Server) verarbeiten. Beispielsweise können der eine oder die mehreren Prozessoren 118 die von der Bildgebungsbaugruppe 126 erfassten, gescannten oder abgetasteten Bilddaten oder Datensätze verarbeiten. Die Verarbeitung der Bilddaten kann Post-Bildgebungsdaten erzeugen, die Metadaten, vereinfachte Daten, normalisierte Daten, Ergebnisdaten, Statusdaten oder Alarmdaten enthalten können, die aus den ursprünglichen gescannten oder erfassten Bilddaten ermittelt wurden. Die Bilddaten und/oder die Post-Bildgebungsdaten können zur Ansicht, Bearbeitung und/oder anderweitigen Interaktion an die Benutzer-Computervorrichtung 102 gesendet werden, die die intelligente Bildgebungsanwendung 116 ausführt. In anderen Ausführungsformen können die Bilddaten und/oder die Post-Bildgebungsdaten zur Speicherung oder zur weiteren Bearbeitung an einen Server gesendet werden. Wie hierin beschrieben, können das Benutzer-Computervorrichtung 102, die Bildgebungsvorrichtung 104 und/oder ein externer Server oder eine andere zentralisierte Verarbeitungseinheit und/oder ein Speicher solche Daten speichern und auch die Bilddaten und/oder die Post-Bildgebungsdaten an eine andere Anwendung senden, die auf einem Benutzergerät implementiert ist, wie z. B. ein Mobilgerät, ein Tablet, ein handgehaltenes Gerät oder ein Desktop-Gerät.
  • Jeder der ein oder mehreren Speicher 110, 120 kann eine oder mehrere Formen von flüchtigem und/oder nichtflüchtigem, festem und/oder entfernbarem Speicher umfassen, wie Festwertspeicher (ROM), elektronischer programmierbarer Festwertspeicher (EPROM), Direktzugriffsspeicher (RAM), löschbarer elektronischer programmierbarer Festwertspeicher (EEPROM) und/oder andere Festplatten, Flash-Speicher, MicroSD-Karten und andere. Im Allgemeinen kann ein Computerprogramm oder ein computergestütztes Produkt, eine Anwendung oder ein Code (z. B. die intelligente Bildgebungsanwendung 116 oder andere hier beschriebene Computeranweisungen) auf einem computerverwendbaren Speichermedium oder einem zugreifbaren, nichttransitorischen computerlesbaren Medium (z.B. Standard-Direktzugriffsspeicher (RAM), eine optische Disk, ein USB-Laufwerk (Universal Serial Bus) oder ähnliches) gespeichert werden, in dem ein solcher computerlesbarer Programmcode oder Computeranweisungen verkörpert sind, wobei der computerlesbare Programmcode oder die Computeranweisungen auf dem einen oder den mehreren Prozessoren 108, 118 installiert oder anderweitig angepasst werden können, um von diesen ausgeführt zu werden (z. B. in Verbindung mit dem jeweiligen Betriebssystem in dem einen oder den mehreren Speichern 110, 120), um die maschinenlesbaren Anweisungen, Verfahren, Prozesse, Elemente oder Beschränkungen zu erleichtern, zu implementieren oder auszuführen, wie sie in den verschiedenen Flussdiagrammen, Illustrationen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben werden. In dieser Hinsicht kann der Programmcode in jeder gewünschten Programmiersprache implementiert werden und kann als Maschinencode, Assemblercode, Bytecode, interpretierbarer Quellcode oder dergleichen implementiert werden (z. B. über Golang, Python, C, C++, C#, Objective-C, Java, Scala, ActionScript, JavaScript, HTML, CSS, XML usw.).
  • In dem einen oder den mehreren Speichern 110, 120 kann ein Betriebssystem (OS) (z. B. Microsoft Windows, Linux, Unix usw.) gespeichert sein, das in der Lage ist, die hier beschriebenen Funktionalitäten, Anwendungen, Verfahren oder andere Software zu unterstützen. In dem einen oder den mehreren Speichern 110 kann auch die intelligente Bildgebungsanwendung 116 gespeichert sein, die so konfiguriert sein kann, dass sie die Konstruktion von Bildverarbeitungsaufträgen ermöglicht, wie hierin weiter beschrieben. Zusätzlich oder alternativ kann die intelligente Bildgebungsanwendung 116 auch in dem einen oder den mehreren Speichern 120 der Bildgebungsvorrichtung 104 und/oder in einer externen Datenbank (nicht dargestellt) gespeichert sein, die über das Netzwerk 106 zugänglich oder anderweitig kommunikativ mit der Benutzer-Computervorrichtung 102 verbunden ist. Der eine oder die mehreren Speicher 110, 120 können auch maschinenlesbare Anweisungen speichern, einschließlich einer oder mehrerer Anwendungen, einer oder mehrerer Softwarekomponenten und/oder einer oder mehrerer Anwendungsprogrammierschnittstellen (APIs), die implementiert werden können, um die hierin beschriebenen Merkmale, Funktionen oder andere Offenbarungen zu erleichtern oder auszuführen, wie etwa Verfahren, Prozesse, Elemente oder Beschränkungen, wie sie in den verschiedenen Flussdiagrammen, Illustrationen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben sind. Zum Beispiel können zumindest einige der Anwendungen, Softwarekomponenten oder APIs Teil einer auf maschinellem Sehen basierenden Bildgebungsanwendung sein, wie z. B. der intelligenten Bildgebungsanwendung 116, wobei jede so konfiguriert sein kann, dass sie ihre verschiedenen hierin beschriebenen Funktionen erleichtert. Es sollte verstanden werden, dass eine oder mehrere andere Anwendungen denkbar sind, die von dem einen oder mehreren Prozessoren 108, 118 ausgeführt werden.
  • Der eine oder die mehreren Prozessoren 108, 118 können mit dem einen oder den mehreren Speichern 110, 120 über einen Computerbus verbunden sein, der für die Übertragung von elektronischen Daten, Datenpaketen oder anderen elektronischen Signalen zu und von dem einen oder den mehreren Prozessoren 108, 118 und dem einen oder den mehreren Speichern 110, 120 verantwortlich ist, um die maschinenlesbaren Anweisungen, Verfahren, Prozesse, Elemente oder Beschränkungen zu implementieren oder auszuführen, wie sie in den verschiedenen Flussdiagrammen, Illustrationen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben sind.
  • Der eine oder die mehreren Prozessoren 108, 118 können mit dem einen oder den mehreren Speichern 110, 120 über den Computerbus verbunden sein, um das Betriebssystem (OS) auszuführen. Der eine oder die mehreren Prozessoren 108, 118 können auch mit dem einen oder den mehreren Speichern 110, 120 über den Computerbus verbunden sein, um Daten zu erstellen, zu lesen, zu aktualisieren, zu löschen oder anderweitig auf die Daten zuzugreifen oder mit ihnen zu interagieren, die in dem einen oder den mehreren Speichern 110, 120 und/oder externen Datenbanken (z. B. einer relationalen Datenbank, wie Oracle, DB2, MySQL oder einer NoSQL-basierten Datenbank, wie MongoDB) gespeichert sind. Die in dem einen oder den mehreren Speichern 110, 120 und/oder einer externen Datenbank gespeicherten Daten können alle oder einen Teil der hierin beschriebenen Daten oder Informationen enthalten, einschließlich beispielsweise Bilder von Bildverarbeitungsaufträgen (z. B. Bilder, die von der Bildgebungsvorrichtung 104 als Reaktion auf die Ausführung eines Auftragsskripts erfasst wurden) und/oder andere geeignete Informationen.
  • Die Netzwerkschnittstellen 112, 122 können so konfiguriert sein, dass sie Daten über einen oder mehrere externe/Netzwerkanschlüsse mit einem oder mehreren Netzwerken oder lokalen Endgeräten, wie dem hier beschriebenen Netzwerk 106, kommunizieren (z. B. senden und empfangen). In einigen Ausführungsformen können die Netzwerkschnittstellen 112, 122 eine Client-Server-Plattformtechnologie wie ASP.NET, Java J2EE, Ruby on Rails, Node.js, einen Webservice oder eine Online-API umfassen, die auf elektronische Anfragen reagieren und diese beantworten. Die Netzwerkschnittstellen 112, 122 können die Client-Server-Plattformtechnologie implementieren, die über den Computerbus mit dem einen oder den mehreren Speichern 110, 120 (einschließlich der darin gespeicherten Anwendungen, Komponenten, APIs, Daten usw.) interagieren kann, um die maschinenlesbaren Anweisungen, Verfahren, Prozesse, Elemente oder Beschränkungen zu implementieren oder durchzuführen, wie sie in den verschiedenen Flussdiagrammen, Illustrationen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben sind.
  • Gemäß einigen Ausführungsformen können die Netzwerkschnittstellen 112, 122 einen oder mehrere Sende-/Empfangsvorrichtungen (z. B. WWAN-, WLAN- und/oder WPAN-Sende-/Empfangsvorrichtungen) umfassen oder mit diesen interagieren, die gemäß IEEE-Standards, 3GPP-Standards oder anderen Standards funktionieren und für den Empfang und die Übertragung von Daten über externe/Netzwerkanschlüsse verwendet werden können, die mit dem Netzwerk 106 verbunden sind. In einigen Ausführungsformen kann das Netzwerk 106 ein privates Netzwerk oder ein lokales Netzwerk (LAN) umfassen. Zusätzlich oder alternativ kann das Netz 106 ein öffentliches Netz wie das Internet umfassen. In einigen Ausführungsformen kann das Netzwerk 106 Router, drahtlose Switches oder andere derartige drahtlose Verbindungspunkte umfassen, die mit der Benutzer-Computervorrichtung 102 und der Bildgebungsvorrichtung 104 über drahtlose Kommunikation auf der Grundlage eines oder mehrerer verschiedener drahtloser Standards kommunizieren, einschließlich - als nicht einschränkendes Beispiel - IEEE 802.11a/b/c/g (WIFI), dem BLUETOOTH-Standard oder dergleichen.
  • Die Eingabe-/Ausgabeschnittstellen 114, 124 können Bedienerschnittstellen enthalten oder implementieren, die so konfiguriert sind, dass sie einem Verwalter oder Bediener Informationen präsentieren und/oder Eingaben von dem Verwalter oder Bediener empfangen. Eine Bedienerschnittstelle kann einen Anzeigebildschirm bereitstellen (z. B. über die Benutzer-Computervorrichtung 102 und/oder die Bildgebungsvorrichtung 104), den ein Benutzer/Bediener verwenden kann, um beliebige Bilder, Grafiken, Texte, Daten, Merkmale, Pixel und/oder andere geeignete Visualisierungen oder Informationen zu visualisieren. Beispielsweise kann die Benutzer-Computervorrichtung 102 und/oder die Bildgebungsvorrichtung 104 zumindest teilweise eine grafische Benutzerschnittstelle (GUI) zur Anzeige von Bildern, Grafiken, Text, Daten, Merkmalen, Pixeln und/oder anderen geeigneten Visualisierungen oder Informationen auf dem Bildschirm umfassen, implementieren, darauf zugreifen, sie wiedergeben oder anderweitig zugänglich machen. Die Eingabe-/Ausgabeschnittstellen 114, 124 können auch Eingabe-/Ausgabekomponenten (z. B. Anschlüsse, kapazitive oder resistive berührungsempfindliche Eingabefelder, Tasten, Knöpfe, Lichter, LEDs) umfassen, auf die direkt/indirekt über die Benutzer-Computervorrichtung 102 und/oder die Bildgebungsvorrichtung 104 zugegriffen werden kann oder die an dieser angebracht sind. Gemäß einigen Ausführungsformen kann ein Administrator oder Benutzer/Bediener auf die Benutzer-Computervorrichtung 102 und/oder die Bildgebungsvorrichtung 104 zugreifen, um Aufträge zu erstellen, Bilder oder andere Informationen zu prüfen, Änderungen vorzunehmen, Antworten und/oder Auswahlen einzugeben und/oder andere Funktionen auszuführen.
  • Wie oben beschrieben, kann die Benutzer-Computervorrichtung 102 in einigen Ausführungsformen die hier beschriebenen Funktionen als Teil eines „Cloud“-Netzwerks ausführen oder anderweitig mit anderen Hardware- oder Softwarekomponenten innerhalb der Cloud kommunizieren, um hier beschriebene Daten oder Informationen zu senden, abzurufen oder anderweitig zu analysieren.
  • 2 ist eine perspektivische Ansicht der Bildgebungsvorrichtung 104 aus 1 gemäß den hier beschriebenen Ausführungsformen. Die Bildgebungsvorrichtung 104 umfasst ein Gehäuse 202, eine Bildgebungsapertur 204, ein Benutzerschnittstellenetikett 206, einen Kuppelschalter/eine Taste 208, eine oder mehrere Leuchtdioden (LEDs) 210 und einen oder mehrere Befestigungspunkte 212. Wie bereits erwähnt, kann die Bildgebungsvorrichtung 104 Auftragsdateien von einer Benutzer-Computervorrichtung (z. B. der Benutzer-Computervorrichtung 102) erhalten, die die Bildgebungsvorrichtung 104 anschließend interpretiert und ausführt. Die in der Auftragsdatei enthaltenen Anweisungen können Vorrichtungskonfigurationseinstellungen (hier auch als „Bildgebungseinstellungen“ bezeichnet) enthalten, die dazu dienen, die Konfiguration der Bildgebungsvorrichtung 104 vor der Erfassung von Bildern eines Zielobjekts anzupassen.
  • Beispielsweise können die Vorrichtungskonfigurationseinstellungen Anweisungen zur Anpassung einer oder mehrerer Einstellungen in Bezug auf die Bildgebungsapertur 204 enthalten. Es sei zum Beispiel angenommen, dass zumindest ein Teil der beabsichtigten Analyse, die einem Bildverarbeitungsauftrag entspricht, erfordert, dass die Bildgebungsvorrichtung 104 die Helligkeit jedes erfassten Bildes maximiert. Um dieser Anforderung gerecht zu werden, kann die Auftragsdatei Vorrichtungskonfigurationseinstellungen zur Vergrößerung der Apertur der Bildgebungsapertur 204 enthalten. Die Bildgebungsvorrichtung 104 kann diese Anweisungen (z. B. über einen oder mehrere Prozessoren 118) interpretieren und die Aperturgröße der Bildgebungsapertur 204 entsprechend vergrößern. Auf diese Weise kann die Bildgebungsvorrichtung 104 so konfiguriert werden, dass sie ihre eigene Konfiguration automatisch anpasst, um einem bestimmten Bildverarbeitungsauftrag optimal zu entsprechen. Darüber hinaus kann die Bildgebungsvorrichtung 104 beispielsweise einen oder mehrere Bandpassfilter, einen oder mehrere Polarisatoren, einen oder mehrere DPM-Diffusoren, eine oder mehrere C-Mount-Linsen und/oder eine oder mehrere C-Mount-Flüssigkeitslinsen über der Bildgebungsapertur 204 enthalten oder anderweitig auf die empfangene Beleuchtung einwirken oder anpassbar sein.
  • Das Benutzerschnittstellenetikett 206 kann den Kuppelschalter/die Taste 208 und eine oder mehrere LEDs 210 enthalten und dadurch eine Vielzahl von interaktiven und/oder anzeigenden Funktionen ermöglichen. Im Allgemeinen kann das Benutzerschnittstellenetikett 206 es einem Benutzer ermöglichen, die Bildgebungsvorrichtung 104 auszulösen und/oder einzustellen (z. B. über den Kuppelschalter/die Taste 208) und zu erkennen, wenn eine oder mehrere Funktionen, Fehler und/oder andere Aktionen in Bezug auf die Bildgebungsvorrichtung 104 ausgeführt wurden oder stattgefunden haben (z. B. über die eine oder mehrere LEDs 210). Beispielsweise kann die Auslösefunktion eines Kuppelschalters/einerTaste (z. B. Kuppel/Schalttaste 208) es einem Benutzer ermöglichen, ein Bild mit der Bildgebungsvorrichtung 104 zu erfassen und/oder einen Auslösekonfigurationsbildschirm einer Benutzeranwendung (z. B. intelligente Bildgebungsanwendung 116) anzuzeigen. Der Auslösekonfigurationsbildschirm kann es dem Benutzer ermöglichen, einen oder mehrere Auslöser für die Bildgebungsvorrichtung 104 zu konfigurieren, die im Speicher (z. B. in einem oder mehreren Speichern 110, 120) zur Verwendung in später entwickelten Bildverarbeitungsaufträgen, wie hierin beschrieben, gespeichert werden können.
  • Als weiteres Beispiel kann die Einstellungsfunktion eines Kuppelschalters/einer Taste (z. B. Kuppel/Schalttaste 208) es einem Benutzer ermöglichen, die Konfiguration der Bildgebungsvorrichtung 104 automatisch und/oder manuell gemäß einer bevorzugten/bestimmten Konfiguration anzupassen und/oder einen Bildgebungskonfigurationsbildschirm einer Benutzeranwendung (z. B. intelligente Bildgebungsanwendung 116) anzuzeigen. Der Bildkonfigurationsbildschirm kann es dem Benutzer ermöglichen, eine oder mehrere Konfigurationen der Bildgebungsvorrichtung 104 (z. B. Aperturgröße, Belichtungslänge usw.) zu konfigurieren, die im Speicher (z. B. in einem oder mehreren Speichern 110, 120) zur Verwendung in später entwickelten Bildverarbeitungsaufträgen, wie hierin beschrieben, gespeichert werden können.
  • Um dieses Beispiel zu vertiefen und wie hier weiter ausgeführt, kann ein Benutzer den Konfigurationsbildschirm für die Bildgebung (oder allgemeiner die intelligente Bildgebungsanwendung 116) verwenden, um zwei oder mehr Konfigurationen von Bildgebungseinstellungen für die Bildgebungsvorrichtung 104 festzulegen. Der Benutzer kann dann diese zwei oder mehr Konfigurationen der Bildgebungseinstellungen als Teil eines Bildverarbeitungsauftrags speichern, der dann in einer Auftragsdatei, die ein oder mehrere Auftragsskripte enthält, an das Bildgebungsgerät 104 übertragen wird. Das eine oder die mehreren Auftragsskripte können dann die Prozessoren der Bildgebungsvorrichtung 104 (z. B. einen oder mehrere Prozessoren 118) anweisen, die Bildgebungseinstellungen der Bildgebungsvorrichtung automatisch und nacheinander gemäß einer oder mehreren der zwei oder mehreren Konfigurationen der Bildgebungseinstellungen nach jeder aufeinanderfolgenden Bilderfassung anzupassen.
  • Der/die Befestigungspunkt(e) 212 kann/können es einem Benutzer ermöglichen, die Bildgebungsvorrichtung 104 mit einer Befestigungsvorrichtung (z. B. einem Bildgebungsstativ, einer Kamerahalterung usw.), einer strukturellen Oberfläche (z. B. einer Lagerhauswand, einer Lagerhausdecke, einem strukturellen Stützbalken usw.), anderen Zubehörelementen und/oder anderen geeigneten Verbindungsvorrichtungen, Strukturen oder Oberflächen zu verbinden und/oder lösbar zu befestigen. Beispielsweise kann die Bildgebungsvorrichtung 104 optimal auf einer Bildgebungsvorrichtung in einem Verteilerzentrum, einer Produktionsanlage, einem Lager und/oder einer anderen Einrichtung platziert werden, um die Qualität/Konsistenz von Produkten, Paketen und/oder anderen Gegenständen abzubilden und zu überwachen, während sie das Sichtfeld der Bildgebungsvorrichtung 104 passieren. Darüber hinaus können die Befestigungspunkte 212 es dem Benutzer ermöglichen, die Bildgebungsvorrichtung 104 mit einer Vielzahl von Zubehörteilen zu verbinden, einschließlich, aber nicht beschränkt auf eine oder mehrere externe Beleuchtungsvorrichtungen, eine oder mehrere Befestigungsvorrichtungen/Halterungen und dergleichen.
  • Darüber hinaus kann die Bildgebungsvorrichtung 104 mehrere Hardwarekomponenten im Gehäuse 202 enthalten, die eine Verbindung zu einem Computernetzwerk (z. B. Netzwerk 106) ermöglichen. Zum Beispiel kann die Bildgebungsvorrichtung 104 eine Netzwerkschnittstelle (z. B. Netzwerkschnittstelle 122) enthalten, die es der Bildgebungsvorrichtung 104 ermöglicht, sich mit einem Netzwerk zu verbinden, wie z. B. eine Gigabit-Ethernet-Verbindung und/oder eine Dual-Gigabit-Ethernet-Verbindung. Darüber hinaus kann die Bildgebungsvorrichtung 104 Sendeempfänger und/oder andere Kommunikationskomponenten als Teil der Netzwerkschnittstelle enthalten, um mit anderen Vorrichtungen (z. B. der Benutzer-Computervorrichtung 102) zu kommunizieren, z. B. über Ethernet/IP, PROFINET, Modbus TCP, CC-Link, USB 3.0, RS-232 und/oder jedes andere geeignete Kommunikationsprotokoll oder Kombinationen davon.
  • 3 zeigt eine Beispielanwendungsschnittstelle 300, die zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag verwendet wird, gemäß den hier beschriebenen Ausführungsformen. Im Allgemeinen kann die Beispielanwendungsschnittstelle 300 eine Schnittstelle einer intelligenten Bildgebungsanwendung (z. B. intelligente Bildgebungsanwendung 116) darstellen, auf die ein Benutzer über eine Benutzer-Computervorrichtung (z. B. Benutzer-Computervorrichtung 102) zugreifen kann. Insbesondere kann die Beispielanwendungsschnittstelle 300 einem Benutzer eine Liste aller verfügbaren Vorrichtungen (z. B. Bildgebungsvorrichtung 104) präsentieren, mit denen ein Benutzer Bildverarbeitungsaufträge verbinden und/oder erstellen kann, wenn der Benutzer die Vorrichtungsanzeigeregisterkarte 302 auswählt. Von hier aus kann der Benutzer die Vorrichtungsauswahlliste 304 einsehen, in der jede angeschlossene Vorrichtung angezeigt wird, auf die der Benutzer zugreifen kann, und die außerdem Informationen wie beispielsweise einen Vorrichtungsnamen, eine Vorrichtungsmodellnummer, eine der Vorrichtung entsprechende IP-Adresse, eine Vorrichtungsseriennummer, ein Vorrichtungsherstellungsdatum, einen Vorrichtungs-Firmwarestatus, einen Vorrichtung-Onlinestatus und/oder jede andere geeignete Anzeige enthalten kann.
  • Der Benutzer kann dann eine Vorrichtung aus der Vorrichtungsauswahlliste 304 auswählen, die durch die ausgewählte Vorrichtungsanzeige 306 gekennzeichnet ist, und beabsichtigt, einige Einstellungen der Vorrichtung zu konfigurieren und/oder anderweitig anzuzeigen. Die ausgewählte Vorrichtungsanzeige 306 kann den Vorrichtungsnamen und den Vorrichtungs-Onlinestatus anzeigen und kann zusätzlich oder alternativ andere Informationen zu der Vorrichtung enthalten. Bei Auswahl des in der ausgewählten Vorrichtungsanzeige 306 angegebenen Vorrichtung kann die intelligente Bildgebungsanwendung 116 zusätzlich eine ausgewählte Vorrichtungskonfigurationsliste 308 innerhalb der Beispielanwendungsschnittstelle 300 anzeigen. Die ausgewählte Vorrichtungskonfigurationsliste 308 kann eine Vielzahl von Informationen über die ausgewählte Vorrichtung enthalten, wie z. B. eine allgemeine Übersicht über die ausgewählte Vorrichtung (z. B. Firmware-Updates, Bibliotheks-Updates usw.), eine Übersicht über die ausgewählten Vorrichtungslizenzen (z. B. DHCP-Auszeit(en)), IP-Adress-Rückgriff usw.), eine Übersicht über die ausgewählte Vorrichtungskommunikation (z. B. verfügbare Verbindungstypen, aktueller Verbindungstyp usw.), eine Übersicht über den ausgewählten Vorrichtungsstatus (z. B. Linsentyp, Beleuchtungstyp usw.) und/oder andere geeignete Informationen oder Kombinationen davon.
  • Darüber hinaus kann die ausgewählte Vorrichtungskonfigurationsliste 308 einen Hinweis auf die ausgeführten, gespeicherten und/oder anderweitig mit der ausgewählten Vorrichtung verbundenen Bildverarbeitungsaufträge enthalten. Zum Beispiel kann die ausgewählte Vorrichtungskonfigurationsliste 308 anzeigen, dass die ausgewählte Vorrichtung so konfiguriert ist, dass sie gemäß einem ersten Bildverarbeitungsauftrag arbeitet, der zu einem ersten Zeitpunkt auf die ausgewählte Vorrichtung hochgeladen wurde (z. B. „Hochgeladen um 10:00 Uhr am 10.10.18“). Die ausgewählte Vorrichtungskonfigurationsliste 308 kann zusätzlich angeben, dass der erste Bildverarbeitungsauftrag eine erste Konfiguration von einer oder mehreren Bildeinstellungen, die der ausgewählten Vorrichtung entsprechen, und eine zweite Konfiguration der einen oder mehreren Bildeinstellungen, die der ausgewählten Vorrichtung entsprechen, enthält. Jede der einen oder mehreren Bildeinstellungen, die in der ersten und zweiten Konfiguration enthalten sind, kann zusätzlich in der ausgewählten Vorrichtungskonfigurationsliste 308 angezeigt werden.
  • Die Beispielanwendungsschnittstelle 300 kann zusätzlich eine Vorrichtungs-Hinzufügefunktion 310 enthalten, mit der ein Benutzer zusätzliche Vorrichtungen hinzufügen kann, die beispielsweise nicht in der Vorrichtungsauswahlliste 304 enthalten sind. Wenn ein Benutzer eine neue Vorrichtung erwirbt, wie z. B. eine Bildgebungsvorrichtung (z. B. Bildgebungsvorrichtung 104), kann der Benutzer auf die Vorrichtungs-Hinzufügefunktion 310 klicken, streichen und/oder auf andere Weise mit ihr interagieren, um die neue Vorrichtung zur Vorrichtungsauswahlliste 304 hinzuzufügen. Darüber hinaus kann der Benutzer, sobald die neue Vorrichtung hinzugefügt wurde, mit den Vorrichtungseinrichtungsfunktionen 312A/B interagieren, um die der neuen Vorrichtung entsprechenden Einstellungen zu konfigurieren und/oder anderweitig anzuzeigen. Dementsprechend kann der Benutzer jederzeit, nachdem eine Vorrichtung zur Vorrichtungsauswahlliste 304 hinzugefügt wurde, mit den Vorrichtungseinrichtungsfunktionen 312A/B interagieren, um die Vorrichtungseinstellungen anzupassen, anzuzeigen oder anderweitig zu verwalten.
  • Zusätzlich oder alternativ kann die intelligente Bildgebungsanwendung 116, wenn der Benutzer mit den Vorrichtungseinrichtungsfunktionen 312A/B interagiert, eine neue Schnittstelle generieren/rendern, die es dem Benutzer ermöglicht, einen Bildverarbeitungsauftrag für die ausgewählte Vorrichtung zu konfigurieren (z. B. wie durch die Anzeige der ausgewählten Vorrichtung 306 angezeigt). Der Benutzer kann die intelligente Bildgebungsanwendung 116 zusätzlich veranlassen, die neue Schnittstelle zu erzeugen/anzuzeigen, indem er mit der Auftragserstellungsregisterkarte 314 interagiert. Auf diese Weise kann der Benutzer die Beispielanwendungsschnittstelle 300 verlassen, um einen Bildverarbeitungsauftrag zu konfigurieren, der der ausgewählten Vorrichtung entspricht, indem er entweder mit der Vorrichtungseinrichtungsfunktion 312A/B oder mit der Auftragserstellungsregisterkarte 314 interagiert.
  • 4 zeigt zusätzliche Anwendungsschnittstellen, die zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag verwendet werden, gemäß den hier beschriebenen Ausführungsformen. Beispielsweise kann die intelligente Bildgebungsanwendung (z. B. die intelligente Bildgebungsanwendung 116) nach der Interaktion mit der Auftragserstellungsregisterkarte (z. B. die Auftragserstellungsregisterkarte 314) und/oder der Vorrichtungseinrichtungsfunktion (z. B. die Vorrichtungseinrichtungsfunktion 312A/B) den Benutzer zu einer Auftragskonstruktions-Anwendungsschnittstelle 400 weiterleiten. Im Allgemeinen kann der Benutzer die Auftragskonstruktions-Anwendungsschnittstelle 400 nutzen, um Bildverarbeitungswerkzeuge in einer bestimmten Reihenfolge zu organisieren und zu konfigurieren, die einen entsprechenden Bildverarbeitungsauftrag definiert. Der Benutzer kann die Auftragskonstruktions-Anwendungsschnittstelle 400 außerdem dazu verwenden, den jeweiligen Bildverarbeitungsauftrag zur Auswertung und Ausführung auf eine Bildgebungsvorrichtung (z. B. das Bildgebungsvorrichtung 104) hochzuladen.
  • Um einen Bildverarbeitungsauftrag zu erstellen, kann der Benutzer Werkzeuge auswählen, die für die Ausführung von Bildverarbeitungsfunktionen konfiguriert sind. Der Benutzer kann ein Werkzeug auswählen, indem er klickt, wischt, zieht und/oder auf andere Weise mit der verfügbaren Werkzeugliste 402 interagiert. Jedes Werkzeug kann in einer Dropdown-Liste (wie abgebildet) der verfügbaren Werkzeugliste 402 enthalten sein, oder es kann für den Benutzer in der verfügbaren Werkzeugliste 402 deutlich sichtbar sein. In jedem Fall kann der Benutzer ein gewünschtes Werkzeug auswählen und in den Auftragsablaufaufbauabschnitt 404 verschieben, um mit der Erstellung eines Bildverarbeitungsauftrags zu beginnen. Im Auftragsablaufaufbauabschnitt 404 zu kann der Benutzer jedes ausgewählte Werkzeug in eine optimale/präferenzielle Reihenfolge bringen, die auf den Anforderungen des Bildverarbeitungsauftrags basiert. Außerdem kann der Benutzer jedes Werkzeug so konfigurieren, dass es die Anforderungen des Bildverarbeitungsauftrags besser erfüllt. So kann der Benutzer beispielsweise ein aus der verfügbaren Werkzeugliste 402 ausgewähltes Strichcode-Scanwerkzeug so konfigurieren, dass es einen größeren/kleineren Bereich der von der ausgewählten Vorrichtung (z. B. der Bildgebungsvorrichtung 104) erfassten Bilder scannt.
  • Der Benutzer kann auch ein repräsentatives Bild aus dem Auftragsfilmstreifen 406 auswählen, um die Konfiguration der ausgewählten Werkzeuge abzuschließen. Der Auftragsfilmstreifen 406 kann Echtzeitbilder von der ausgewählten Vorrichtung enthalten, oder es kann sich um gespeicherte Bilder handeln (z. B. in einem oder mehreren Speichern 110, 120), die für eine ideale Bilderfassung für den Bildverarbeitungsauftrag repräsentativ sind. Zusätzlich oder alternativ kann die intelligente Bildgebungsanwendung 116 den Auftragsfilmstreifen 406 auf der Grundlage der ausgewählten Werkzeuge im Auftragsablaufaufbauabschnitt 404 automatisch ausfüllen. Nach der Auswahl kann das repräsentative Bild in einem größeren Bereich oberhalb des Auftragsfilmstreifens 406 erscheinen, der es dem Benutzer ermöglicht, Werkzeug-ROls 408 über dem repräsentativen Bild zu platzieren. Eine Werkzeug-ROI 408 zeigt einen Bereich des repräsentativen Bildes an, den das durch die Werkzeug-ROI 408 dargestellte Werkzeug mit einer Bildverarbeitungstechnik analysieren kann. Wenn die Werkzeug-ROI 408 beispielsweise die ROI eines Strichcode-Scanners darstellt, dann scannt das Strichcode-Scanner-Werkzeug nach einem Strichcode innerhalb des Bereichs des repräsentativen Bildes, der durch die Werkzeug-ROI 408 angezeigt wird.
  • Wenn der Benutzer sich nicht für ein geeignetes Werkzeug für einen Bildverarbeitungsauftrag entscheiden kann, kann der Benutzer klicken, wischen und/oder anderweitig mit der Auftragskonstruktions-Anwendungsschnittstelle 400 interagieren, und die intelligente Bildgebungsanwendung 116 kann den Werkzeuginformationsbereich 410 erzeugen/rendern. Die intelligente Bildgebungsanwendung 116 kann dem Benutzer häufig verwendete Werkzeugvorschläge, Werkzeugtypvorschläge, Beschreibungen jedes im Werkzeuginformationsbereich 410 enthaltenen Werkzeugs und/oder andere geeignete Informationen oder Kombinationen davon bereitstellen. Zum Beispiel kann die intelligente Bildgebungsanwendung 116 einem Benutzer eine Option im Werkzeuginformationsbereich 410 bieten, um nach einem bestimmten Werkzeug zu suchen, indem er einen Namen, eine Funktion oder eine andere repräsentative Eigenschaft des Werkzeugs eingibt, spricht und/oder anderweitig angibt.
  • Sobald der Benutzer ein oder mehrere Werkzeuge ausgewählt und/oder bestellt und somit einen Bildverarbeitungsauftrag erstellt hat, ermöglicht der Auftragsbereitstellungsschalter 412 dem Benutzer, den Bildverarbeitungsauftrag auf die ausgewählte Vorrichtung (z. B. die Bildgebungsvorrichtung 104) hochzuladen. Die intelligente Bildverarbeitungsanwendung 116 kann die Benutzerinteraktion mit dem Auftragsbereitstellungsschalter 412 registrieren und den Bildverarbeitungsauftrag in eine Auftragsdatei umwandeln, die dann (z. B. über das Netzwerk 106) an die ausgewählte Vorrichtung übertragen wird. Der Bildverarbeitungsauftrag kann auch im Speicher (z. B. in einem oder mehreren Speichern 110, 120) abgelegt werden. Der Benutzer kann den hochgeladenen Bildverarbeitungsauftrag zusätzlich in den aktiven/inaktiven Zustand versetzen, indem er mit dem Auftragsbereitstellungsschalter 412 interagiert. Danach kann der Benutzer die mit dem Bildverarbeitungsauftrag verbundenen Konfigurationen/Einstellungen anpassen, indem er auf den Bildverarbeitungsauftrag zugreift und mit dem einen oder den mehreren Werkzeugen in der verfügbaren Werkzeugliste 402 und/oder dem Auftragsaufbauablaufabschnitt 404, den Bildern im Auftragsfilmstreifen 406, den Werkzeug-ROls 408 und/oder den Optionen im Werkzeuginformationsbereich 410 interagiert.
  • In verschiedenen Ausführungsformen ermöglicht es die Auftragskonstruktions-Anwendungsschnittstelle 400 einem Benutzer, mehrere Bildverarbeitungsaufträge zu konstruieren, die nacheinander für eine ausgewähltes Vorrichtung (z. B. die Bildverarbeitungsvorrichtung 104) ausgeführt werden. Beispielsweise kann die Auftragskonstruktions-Anwendungsschnittstelle 400 es einem Benutzer ermöglichen, einen ersten Bildverarbeitungsauftrag zu konstruieren, der einen ersten Satz von Werkzeugen umfasst, die die Konfiguration der ausgewählten Vorrichtung an eine erste Konfiguration anpassen. Die erste Konfiguration kann eine oder mehrere Bildgebungseinstellungen der ausgewählten Vorrichtung umfassen, wie z. B. eine Aperturgröße, eine Belichtungslänge, einen ISO-Wert und/oder jeden anderen geeigneten Wert oder Kombinationen davon. Die Auftragskonstruktions-Anwendungsschnittstelle 400 kann es dem Benutzer auch ermöglichen, einen zweiten Bildverarbeitungsauftrag zu konstruieren, der einen zweiten Satz von Werkzeugen umfasst, die die Konfiguration der ausgewählten Vorrichtung an eine zweite Konfiguration anpassen. Der zweite Satz von Werkzeugen kann derselbe oder ein anderer sein als der erste Satz von Werkzeugen, und die zweite Konfiguration kann dieselbe oder eine andere sein als die erste Konfiguration. In jedem Fall kann die intelligente Bildgebungsanwendung 116 beide Bildverarbeitungsaufträge an die ausgewählte Vorrichtung übertragen und beide Bildverarbeitungsaufträge im Speicher (z. B. in einem oder mehreren Speichern 110, 120) speichern. Danach kann die ausgewählte Vorrichtung nacheinander den ersten Bildverarbeitungsauftrag und den zweiten Bildverarbeitungsauftrag automatisch ausführen, z. B. mindestens ein Bild gemäß der ersten Konfiguration erfassen, sich automatisch an die zweite Konfiguration anpassen und mindestens ein Bild gemäß der zweiten Konfiguration erfassen.
  • Der Benutzer kann jedoch den Wunsch haben, die spezifische Funktionalität jedes Werkzeugs zu konfigurieren, das in den Auftragsaufbauablaufabschnitt 404 eingebunden ist. So kann der Benutzer mit einem Werkzeug im Auftragsaufbauablaufabschnitt 404 oder einem anderen Bereich der Auftragskonstruktions-Anwendungsschnittstelle 400 interagieren, und die intelligente Bildgebungsanwendung 116 kann die Werkzeugkonfigurations-Anwendungsschnittstelle 420 generieren/rendern. Die Werkzeugkonfigurations-Anwendungsschnittstelle 420 kann es einem Benutzer ermöglichen, die spezifische Funktionalität jedes in einem Bildverarbeitungsauftrag enthaltenen Werkzeugs über die vom Benutzer auswählbaren Optionen im Werkzeugkonfigurationsbereich 422 anzupassen. Der Werkzeugkonfigurationsbereich 422 kann beispielsweise Werkzeugkonfigurationsoptionen enthalten, wie z. B. einen Werkzeugmodellbereichstyp, einen Werkzeugnamen, eine Werkzeugbefestigung, einen Werkzeugbildtyp, einen Werkzeugakzeptanzschwellenwert, einen Werkzeugrotationsschwellenwert, eine Werkzeugzeitüberschreitung und/oder jede andere geeignete Werkzeugkonfigurationsoption. Auf diese Weise ermöglicht es die intelligente Bildgebungsanwendung 116 dem Benutzer, die Auswahl, die Reihenfolge und die individuelle Konfiguration jedes in einem Bildverarbeitungsauftrag enthaltenen Werkzeugs vollständig anzupassen.
  • 5 zeigt eine zusätzliche Anwendungsschnittstelle, die zur automatischen Identifizierung eines Objekts von Interesse verwendet wird und ein geeignetes Werkzeug zur Analyse eines Bildes vorschlägt, gemäß den hier beschriebenen Ausführungsformen. Eine Auftragskonstruktions-Anwendungsschnittstelle 500 kann im Allgemeinen der Auftragskonstruktions-Anwendungsschnittstelle 400 ähneln und kann von der intelligenten Bildgebungsanwendung 116 angezeigt werden, wenn die intelligente Bildgebungsanwendung 116 in einem Auftragskonstruktionsmodus arbeitet. Die Auftragskonstruktions-Anwendungsschnittstelle 500 kann eine verfügbaren Werkzeugliste 502, einen Auftragsablaufaufbauabschnitt 504, einen Auftragsfilmstreifen 506 und einen Auftragsbereitstellungsschalter 512 enthalten, ähnlich wie die verfügbaren Werkzeugliste 402, der Auftragsablaufaufbauabschnitt 404, der Auftragsfilmstreifen 406 und der Auftragsbereitstellungsschalter 412. Wie in 4 erläutert, kann der Benutzer in einigen Ausführungsformen ein repräsentatives Bild aus dem Auftragsfilmstreifen 506 auswählen, wodurch das repräsentative Bild in einem größeren Bereich oberhalb des Auftragsfilmstreifens 506 erscheint.
  • In einigen Ausführungsformen bestimmt die intelligente Bildgebungsanwendung 116 automatisch einen Gegenstand von Interesse. Im Beispiel von 5 kann der automatisch ermittelte Gegenstand von Interesse unter anderem ein physisches Objekt sein, wie z. B. ein Flaschenverschluss 520, oder eine Anzeige auf Informationen, wie z. B. ein Strichcode 524, ein QR-Code oder Text usw. In einigen Ausführungsformen identifiziert die intelligente Bildgebungsanwendung 116 den Gegenstand von Interesse automatisch beim Empfang einer Bilddatei. In anderen Ausführungsformen finden zwischen dem Empfang der Bilddatei und der automatischen Identifizierung andere Schritte statt; beispielsweise kann der Benutzer vor der automatischen Identifizierung des Gegenstands von Interesse einen ROI festlegen, so dass die intelligente Bildgebungsanwendung 116 nur einen Gegenstand von Interesse innerhalb des vom Benutzerfestgelegten ROI identifiziert. In diesem Zusammenhang kann der Benutzer den ROI durch Klicken und Ziehen oder Zeichnen eines Rahmens um einen Teil des repräsentativen Bildes unter Verwendung der Auftragskonstruktions-Anwendungsschnittstelle 500 oder durch Wischen oder andere Interaktion mit der Auftragskonstruktions-Anwendungsschnittstelle 500 angeben. In dieser Hinsicht zeigt der ROI der intelligenten Bildgebungsanwendung 116 einen Teil des Bildes an, den der Benutzer mit einem Werkzeug der intelligenten Bildgebungsanwendung 116 analysieren möchte.
  • Um den Gegenstand von Interesse zu identifizieren, kann die intelligente Bildgebungsanwendung 116 eine Anzeige auf den Gegenstand von Interesse anzeigen. Im Beispiel von 5 kann die intelligente Bildgebungsanwendung 116 beispielsweise den Flaschenverschluss 520 mit der Anzeige auf den Gegenstand von Interesse 522 anzeigen. Und die intelligente Bildgebungsanwendung 116 kann den Strichcode 524 mit der Anzeige auf den Gegenstand von Interesse 526 anzeigen.
  • In einigen Ausführungsformen ist die Anzeige des Gegenstands von Interesse ein Rahmen, der den Gegenstand von Interesse umschließt oder teilweise umschließt. In einigen Ausführungsformen ist die Anzeige des Elements von Interesse eine Reihe gerader und/oder gekrümmter Linien, die den Gegenstand von Interesse umschließen oder teilweise umschließen.
  • In einigen Implementierungen wird die Anzeige auf den Gegenstand von Interesse in einer ersten Farbe (z. B. grün) angezeigt. Wenn die intelligente Bildgebungsanwendung 116 anschließend feststellt, dass der Gegenstand von Interesse nicht mehr im Bereich der Anzeige des Gegenstands von Interesse gefunden werden kann, kann die Anzeige des Gegenstands von Interesse in eine zweite Farbe (z. B. rot) wechseln.
  • Im Anschluss an die Bestimmung des Gegenstands von Interesse kann der Gegenstand von Interesse verwendet werden, um ein entsprechendes Werkzeug zu bestimmen. Alternativ kann das entsprechende Werkzeug aus dem vom Benutzer angegebenen ROI bestimmt werden. Ein entsprechendes Werkzeug ist ein Werkzeug, das die intelligente Bildgebungsanwendung 116 für die Verarbeitung des Bildes empfiehlt (z. B. das entsprechende Werkzeug „entspricht“ dem Bild), wie im Folgenden anhand mehrerer Beispiele erläutert wird. Ein solches Werkzeug kann „entsprechend“ sein, wenn es im Vergleich zu anderen verfügbaren Werkzeugen mit hoher Wahrscheinlichkeit für die Analyse des Bildes geeignet ist. Die intelligente Bildgebungsanwendung 116 kann den Gegenstand von Interesse identifizieren oder den Teil des repräsentativen Bildes mit einer geeigneten Bildanalysetechnik analysieren, z. B. mit der weiter unten erläuterten Pixelanalyse. Auf der Grundlage der im Bild identifizierten Merkmale kann die intelligente Bildgebungsanwendung 116 ein Werkzeug empfehlen, das für die Analyse dieser Merkmale geeignet ist. Zum Beispiel kann ein Strichcode-Scanner ein entsprechendes Werkzeug sein, wenn das Bild einen Strichcode oder Quick Response (QR)-Code enthält (z. B. wenn der Gegenstand von Interesse ein Strichcode oder QR-Code ist). Ein Werkzeug zur Kantenerkennung kann ein entsprechendes Werkzeug sein, das auf der Anzahl der im Bild enthaltenen Kanten basiert (z. B. wenn das Bild eine oder zwei Kanten enthält) oder wenn das Bild ein zweidimensionales Objekt darstellt (z. B. wenn der Gegenstand von Interesse ein zweidimensionales Objekt ist). Ein Werkzeug zum Mustervergleich kann ein entsprechendes Werkzeug sein, wenn das Bild ein erkennbares Muster enthält, ein dreidimensionales Objekt darstellt (z. B. wenn es sich bei dem Gegenstand von Interesse um ein dreidimensionales Objekt handelt) und/oder wenn mehr als zwei Kanten in dem Bild erkannt werden.
  • Die Pixelanalyse umfasst die Analyse der Pixeldaten des Teils des repräsentativen Bildes. Zu den Pixeldaten gehören einzelne Punkte oder Datenquadrate innerhalb eines Bildes, wobei jeder Punkt oder jedes Quadrat ein einzelnes Pixel innerhalb eines Bildes darstellt. Jedes Pixel kann ein bestimmter Ort innerhalb eines Bildes sein. Darüber hinaus kann jedes Pixel eine bestimmte Farbe (oder deren Fehlen) aufweisen. Die Farbe eines Pixels kann durch ein Farbformat und entsprechende Kanaldaten bestimmt werden, die einem bestimmten Pixel zugeordnet sind. Ein gängiges Farbformat ist zum Beispiel das Rot-Grün-Blau (RGB) -Format mit roten, grünen und blauen Kanälen. Das heißt, im RGB-Format werden die Daten eines Pixels durch drei numerische RGB-Komponenten (Rot, Grün, Blau) dargestellt, die als Kanaldaten bezeichnet werden können, um die Farbe des Pixelbereichs innerhalb des Bildes zu manipulieren. In einigen Implementierungen können die drei RGB-Komponenten als drei 8-Bit-Zahlen für jedes Pixel dargestellt werden. Drei 8-Bit-Bytes (ein Byte für jede RGB-Komponente) werden verwendet, um eine 24-Bit-Farbe zu erzeugen. Jede 8-Bit-RGB-Komponente kann 256 mögliche Werte haben, die von 0 bis 255 reichen (d. h. im Basis-2-Binärsystem kann ein 8-Bit-Byte einen von 256 numerischen Werten enthalten, die von 0 bis 255 reichen). Diesen Kanaldaten (R, G und B) kann ein Wert zwischen 0 und 255 zugewiesen werden, um die Farbe des Pixels festzulegen. So können beispielsweise drei Werte wie (250, 165, 0), d. h. (Rot=250, Grün=165, Blau=0) ein orangefarbenes Pixel bezeichnen. Das weitere Beispiel (Rot=255, Grün=255, Blau=0) bedeutet, dass Rot und Grün jeweils voll gesättigt sind (255 ist so hell, wie 8 Bits sein können) und kein Blau (Null) enthalten ist, so dass die resultierende Farbe Gelb ist. Als weiteres Beispiel hat die Farbe Schwarz einen RGB-Wert von (Rot=0, Grün=0, Blau=0) und Weiß hat einen RGB-Wert von (Rot=255, Grün=255, Blau=255). Grau hat die Eigenschaft, gleiche oder ähnliche RGB-Werte zu haben. So ist (Rot=220, Grün=220, Blau=220) ein helles Grau (fast weiß) und (Rot=40, Grün=40, Blau=40) ein dunkles Grau (fast schwarz).
  • Auf diese Weise entsteht aus der Zusammensetzung der drei RGB-Werte die endgültige Farbe für ein bestimmtes Pixel. Bei einem 24-Bit-RGB-Farbbild mit 3 Bytes kann es 256 Rottöne, 256 Grüntöne und 256 Blautöne geben. Dies ergibt 256x256x256, d. h. 16,7 Millionen mögliche Kombinationen oder Farben für 24-Bit-RGB-Farbbilder. Auf diese Weise zeigt der RGB-Datenwert des Pixels an, „wie viel“ von jedem der Farben Rot, Grün und Blau in dem Pixel enthalten ist. Die drei Farben und Intensitätsstufen werden an diesem Bildpixel, d. h. an dieser Pixelposition auf einem Bildschirm, kombiniert, um einen Bildschirm an dieser Position mit dieser Farbe zu beleuchten. Es sei jedoch verstanden, dass andere Bitgrößen mit weniger oder mehr Bits, z. B. 10 Bits, verwendet werden können, um weniger oder mehr Gesamtfarben und -bereiche zu erhalten. Ferner können die Pixeldaten zusätzliche oder alternative Farbformate und Kanaldaten enthalten. So können die Pixeldaten beispielsweise Farbdaten enthalten, die in einem Farbton-Sättigungswert-Format (HSV) oder einem Farbton-Sättigungs-Helligkeits-Format (HSL) ausgedrückt sind.
  • Die Analyse des Teils des repräsentativen Bildes kann ferner die Durchführung von Kantenerkennung, Mustererkennung, Objekterkennung oder dergleichen umfassen, die mit Hilfe der Pixelanalyse durchgeführt werden kann.
  • Als ein Beispiel dafür, wie die intelligente Bildgebungsanwendung 116 ein entsprechendes Werkzeug bestimmen kann, kann die Analyse des Teils des repräsentativen Bildes die Bestimmung beinhalten, ob der Teil des repräsentativen Bildes einen Strichcode oder QR-Code enthält. Wenn dies der Fall ist, kann die intelligente Bildgebungsanwendung 116 bestimmen, dass das entsprechende Werkzeug, das für die Analyse des Teils des repräsentativen Bildes geeignet ist, einem Strichcode-Scanwerkzeug entspricht. Andernfalls kann die intelligente Bildgebungsanwendung 116 bestimmen, dass das entsprechende Werkzeug einem anderen Werkzeug entspricht, wie z. B. einem Mustervergleichswerkzeug, einem Kantenerkennungswerkzeug, einem semantischen Segmentierungswerkzeug, einem Objekterkennungswerkzeug, einem Binarisierungsfilter oder einem Objektverfolgungswerkzeug.
  • Als weiteres Beispiel kann das Analysieren des Teils des repräsentativen Bildes das Erkennen von mindestens einer Kante innerhalb des Teils des repräsentativen Bildes und, als Reaktion darauf, das Bestimmen, dass das entsprechende Werkzeug einem Kantenerkennungswerkzeug entspricht, beinhalten. Allgemeiner ausgedrückt, kann das Analysieren des repräsentativen Bildausschnitts die Durchführung einer Kantenerkennung beinhalten. Auf der Grundlage der Kantendetektion kann die intelligente Bildgebungsanwendung 116 bestimmen, ob der Bildausschnitt ein zweidimensionales Objekt oder ein dreidimensionales Objekt darstellt. In einigen Ausführungsformen kann die intelligente Bildgebungsanwendung 116 bestimmen, ob der Bildausschnitt ein zweidimensionales oder ein dreidimensionales Objekt darstellt, indem sie zusätzlich oder anstelle der Kantenerkennung eine geeignete Bildanalysetechnik verwendet. Wenn der Bildausschnitt ein zweidimensionales Objekt darstellt, kann die intelligente Bildgebungsanwendung 116 feststellen, dass das entsprechende Werkzeug einem Kantenerkennungswerkzeug entspricht. Wenn der Bildausschnitt ein dreidimensionales Objekt darstellt, kann die intelligente Bildgebungsanwendung 116 bestimmen, dass das entsprechende Werkzeug einem Werkzeug zum Mustervergleich entspricht.
  • Als weiteres Beispiel kann die Analyse des Teils des repräsentativen Bildes die Erkennung von Farben beinhalten, die in dem Bildteil enthalten sind, und, als Reaktion auf die Erkennung von mehr als zwei Farben, die Bestimmung, dass das entsprechende Werkzeug einem Binarisierungsfilter entspricht, der ein mehrfarbiges oder Graustufenbild in Schwarzweiß umwandeln kann.
  • Wenn die intelligente Bildgebungsanwendung 116 nicht in der Lage ist, ein entsprechendes Werkzeug zu bestimmen (z. B. weil mehrere Werkzeuge ähnliche Wahrscheinlichkeiten haben, ein geeignetes Werkzeug zu sein, oder weil kein Werkzeug für die Analyse der Merkmale des Bildes am geeignetsten erscheint), dann kann die intelligente Bildgebungsanwendung 116 ein Standardwerkzeug, wie z. B. ein Mustervergleichswerkzeug, als das entsprechende Werkzeug empfehlen. In einigen Ausführungsformen kann ein Benutzer ein Standardwerkzeug bestimmen, indem er mit einer Anwendungsschnittstelle der intelligente Bildgebungsanwendung 116 interagiert.
  • Wie im Beispiel von 6 dargestellt, kann die intelligente Bildgebungsanwendung 116 einen Werkzeuginformationsbereich 510 darstellen, der eine Liste von vorgeschlagenen oder empfohlenen Werkzeugen enthalten kann. Das „geeignetste“ Werkzeug (z. B. ein Werkzeug, von dem die intelligente Bildgebungsanwendung 116 bestimmt, dass es im Vergleich zu den anderen verfügbaren Werkzeugen die höchste Wahrscheinlichkeit hat, ein entsprechendes Werkzeug für das in der Anzeige des Gegenstands von Interesse 508 angezeigten Gegenstands von Interesse oder für die Analyse eines vom Benutzer angegebenen ROI im Bild zu sein) kann am oder nahe dem oberen Rand des Werkzeuginformationsbereichs 510 als empfohlenes Werkzeug 514 aufgeführt werden. Im Beispiel von 6 ist das empfohlene Werkzeug 514 ein Binarisierungsfilter. Zusätzlich zu oder anstelle der Platzierung des empfohlenen Werkzeugs 514 am oder in der Nähe des oberen Teils des Werkzeuginformationsbereichs 510 kann die Auftragskonstruktions-Anwendungsschnittstelle 500 den Benutzer hervorheben oder auf andere Weise darauf hinweisen, dass das empfohlene Werkzeug 514 das „geeignetste“ Werkzeug ist. Beispielsweise kann die Auftragskonstruktions-Anwendungsschnittstelle 500 das empfohlene Werkzeug 514 mit einer textlichen Anmerkung als empfohlenes Werkzeug kennzeichnen, das empfohlene Werkzeug 514 mit einer Farbe oder grafischen Anmerkung hervorheben oder das empfohlene Werkzeug 514 mit einer anderen Schriftfarbe darstellen.
  • Zusätzlich zur Bestimmung des „geeignetsten“ Werkzeugs kann die intelligente Bildgebungsanwendung 116 auf der Grundlage des Gegenstands von Interesse oder auf der Grundlage der Analyse des in einem benutzerdefinierten ROI dargestellten Bildteils andere empfohlene Werkzeuge für die Verarbeitung des Bildteils bestimmen. Beispielsweise kann die intelligente Bildgebungsanwendung 116 ein zweites empfohlenes Werkzeug 516 bestimmen, das ebenfalls dem Bild entspricht und für die Verarbeitung des Bildes geeignet ist, und das zweite empfohlene Werkzeug 516 unterhalb des empfohlenen Werkzeugs 514 anzeigen. Das zweite empfohlene Werkzeug 516 kann ein „zweitbestes“ geeignetes Werkzeug für die Verarbeitung des Bildteils sein (z. B. kann es eine zweithöchste Wahrscheinlichkeit im Vergleich zu den anderen verfügbaren Werkzeugen haben, ein geeignetes Werkzeug zu sein). Darüber hinaus kann die intelligente Bildgebungsanwendung 116 neben dem empfohlenen Werkzeug 514 ein oder mehrere häufig verwendete Werkzeuge 518 anzeigen. Das/die häufig verwendete(n) Werkzeug(e) 518 kann/können auf der Analyse des Bildausschnitts basieren und kann/können Werkzeuge sein, die der Benutzer der intelligenten Bildgebungsanwendung 116 üblicherweise verwendet, oder die Benutzer der intelligenten Bildgebungsanwendung 116 oder der intelligenten Bildgebungsanwendungen im Allgemeinen üblicherweise verwenden.
  • Das empfohlene Werkzeug 514 kann auf der Auftragskonstruktions-Anwendungsschnittstelle 500 als eine vom Benutzer auswählbare Option angezeigt werden. Der Benutzer kann die vom Benutzer auswählbare Option, die dem empfohlenen Werkzeug 514 entspricht, auswählen, um das empfohlene Werkzeug 514 zu einem Auftragsablauf eines Bildverarbeitungsauftrags hinzuzufügen. Nachdem der Benutzer beispielsweise das empfohlene Werkzeug 514 ausgewählt hat, kann das empfohlene Werkzeug 514 im Auftragsablaufaufbauabschnitt 504 erscheinen. Nachdem die intelligente Bildgebungsanwendung 116 die Auswahl des empfohlenen Werkzeugs 514 erkannt hat, kann die Auftragskonstruktions-Anwendungsschnittstelle 500 Optionen zur Konfiguration des empfohlenen Werkzeugs 514 anzeigen. Der Benutzer kann mit diesen Optionen interagieren, um die Einstellungen des empfohlenen Werkzeugs 514 für den jeweiligen Bildverarbeitungsauftrag des Benutzers anzupassen. In ähnlicher Weise können auch das zweite empfohlene Werkzeug 516 und/oder das/die häufig verwendete(n) Werkzeug(e) 518 als ähnliche, vom Benutzer auswählbare Optionen angezeigt werden, wenn sie auf der Auftragskonstruktions-Anwendungsschnittstelle 500 ermittelt und dargestellt werden.
  • Nachdem der Benutzer ein oder mehrere Werkzeuge ausgewählt und/oder bestellt hat, zu denen eines oder mehrere der empfohlenen Werkzeuge 514, das zweite empfohlene Werkzeug 516 oder eines oder mehrere der allgemein verwendeten Werkzeuge 518 gehören können, kann der Benutzer den Auftragsbereitstellungsschalter 512 auswählen, um den Bildverarbeitungsauftrag auf eine ausgewählte Vorrichtung (z. B. die Bildgebungsvorrichtung 104) hochzuladen oder anderweitig bereitzustellen. Nach der Erkennung der Auswahl des Auftragsbereitstellungsschalters 512 kann die intelligente Bildgebungsanwendung 116 den Bildverarbeitungsauftrag in eine Auftragsdatei konvertieren, die dann (z. B. über das Netzwerk 106) an den ausgewählten Auftrag übertragen wird, wie oben beschrieben. Die Umwandlung des Bildverarbeitungsauftrags kann die Erstellung eines Auftragsskripts umfassen, das die ausgewählte Bildgebungsvorrichtung ausführen kann, um den Bildverarbeitungsauftrag auszuführen. Das Auftragsskript enthält Anweisungen, die den Werkzeugen innerhalb des Auftragsablaufs entsprechen, einschließlich des empfohlenen Werkzeugs 514, wenn der Benutzer zuvor das empfohlene Werkzeug 514 ausgewählt hat.
  • 7 ist ein Flussdiagramm eines Beispielverfahrens 700 zur Erleichterung einer Erstellung eines Bildverarbeitungsauftrags. Das Verfahren 700 kann von einem oder mehreren Prozessoren implementiert werden (z. B. dem einen oder den mehreren Prozessoren 108 der Benutzer-Computervorrichtung 102).
  • In Block 702 kann der eine oder mehrere Prozessoren eine Bilddatei empfangen. Die Bilddatei kann von der Bildgebungsvorrichtung 104 (z. B. einer Kamera), von einer Datenbank mit Bilddateien oder von einer anderen geeigneten Quelle empfangen werden.
  • In Block 704 kann der eine oder mehrere Prozessoren automatisch einen Gegenstand von Interesse in der Bilddatei bestimmen. In Block 706 analysieren der eine oder die mehreren Prozessoren den Gegenstand von Interesse, um ein geeignetes Werkzeug für die Verarbeitung des Gegenstands von Interesse zu bestimmen. Handelt es sich bei dem Gegenstand von Interesse beispielsweise um ein physisches Objekt, kann das geeignete Werkzeug ein Messwerkzeug sein. Darüber hinaus kann die Analyse des Gegenstands von Interesse oder eines Teils des Bildes die Durchführung einer Kantenerkennung beinhalten. Die Analyse des Gegenstands von Interesse oder des Bildausschnitts kann beispielsweise die Erkennung mindestens einer Kante innerhalb des Gegenstands von Interesse oder des Bildausschnitts und als Reaktion darauf die Bestimmung, dass das entsprechende Werkzeug ein Kantenerkennungswerkzeug ist, umfassen. Als weiteres Beispiel kann die Analyse des Gegenstands von Interesse das Bestimmen beinhalten, dass es sich bei dem Gegenstand von Interesse um ein zwei- oder dreidimensionales Objekt handelt (z. B. durch Durchführung einer Kantenerkennung oder einer anderen geeigneten Bildanalysetechnik). Als Reaktion auf das Bestimmen, dass es sich bei dem Gegenstand von Interesse um ein zweidimensionales Objekt handelt, kann das Verfahren das Bestimmen beinhalten, dass das entsprechende Werkzeug ein Kantenerkennungswerkzeug ist. Als Reaktion auf das Bestimmen, dass es sich bei dem Gegenstand von Interesse um ein dreidimensionales Objekt handelt, kann das Verfahren das Bestimmen beinhalten, dass es sich bei dem entsprechenden Werkzeug um ein Werkzeug zur Mustererkennung handelt.
  • Als Nächstes, in Block 708, kann der eine oder mehrere Prozessoren auf einem Bildschirm oder einer interaktiven grafischen Benutzerschnittstelle (GUI) anzeigen: (i) ein der Bilddatei entsprechendes Bild, (ii) eine Anzeige des Gegenstands von Interesse und (iii) eine Anzeige des geeigneten Werkzeugs. In Block 708 können der eine oder die mehreren Prozessoren innerhalb der interaktiven grafischen Benutzerschnittstelle eine vom Benutzer auswählbare Option zum Hinzufügen des entsprechenden Werkzeugs zu einem Bildverarbeitungsauftrag anzeigen (z. B. eine vom Benutzer auswählbare Option für das empfohlene Werkzeug 514). Wenn der eine oder die mehreren Prozessoren eine Auswahl der vom Benutzer auswählbaren Option erkennen, dann können der eine oder die mehreren Prozessoren das entsprechende Werkzeug zu einem Auftragsablauf des Bildverarbeitungsauftrags hinzufügen und das entsprechende Werkzeug innerhalb des Auftragsablaufs anzeigen (z. B. innerhalb des Auftragsablaufaufbauabschnitts 504 der Auftragskonstruktions-Anwendungsschnittstelle 500). Darüber hinaus kann die interaktive grafische Benutzerschnittstelle eine vom Benutzer auswählbare Option für die Bereitstellung des Bildverarbeitungsauftrags enthalten (z. B. der Auftragsbereitstellungsschalter 512). Wenn der eine oder die mehreren Prozessoren eine Auswahl der vom Benutzer auswählbaren Option zur Bereitstellung des Bildverarbeitungsauftrags erkennen, können der eine oder die mehreren Prozessoren ein Auftragsskript erzeugen, das eine Bildgebungsvorrichtung (z. B. die Bildgebungsvorrichtung 104) ausführen kann, um den Bildverarbeitungsauftrag auszuführen. Das Auftragsskript kann computerlesbare Anweisungen enthalten, die den Werkzeugen innerhalb des Auftragsablaufs entsprechen, einschließlich des entsprechenden Werkzeugs.
  • Darüber hinaus kann jede der in dem Verfahren 700 beschriebenen Aktionen in beliebiger Reihenfolge, Anzahl oder in jeder anderen Kombination durchgeführt werden, die geeignet ist, die Auswahl von Bildanalysewerkzeugen für eine Bildverarbeitungsaufgabe zu erleichtern. Beispielsweise können einige oder alle Blöcke des Verfahrens 700 einmal, mehrmals oder überhaupt nicht vollständig ausgeführt werden.
  • Die obige Beschreibung bezieht sich auf ein Blockdiagramm in den beigefügten Zeichnungen. Alternative Ausführungsformen des im Blockdiagramm dargestellten Beispiels umfassen ein oder mehrere zusätzliche oder alternative Elemente, Verfahren und/oder Vorrichtungen. Zusätzlich oder alternativ können einer oder mehrere der Beispielblöcke des Diagramms kombiniert, geteilt, neu angeordnet oder weggelassen werden. Die durch die Blöcke des Diagramms dargestellten Komponenten werden durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert. In einigen Beispielen wird mindestens eine der durch die Blöcke dargestellten Komponenten durch eine Logikschaltung implementiert. Wie hierin verwendet, ist der Begriff „Logikschaltung“ ausdrücklich als eine physische Vorrichtung definiert, die mindestens eine Hardwarekomponente enthält, die so konfiguriert ist (z. B. durch Betrieb gemäß einer vorbestimmten Konfiguration und/oder durch Ausführung gespeicherter maschinenlesbarer Anweisungen), dass sie eine oder mehrere Maschinen steuert und/oder Operationen einer oder mehrerer Maschinen durchführt. Beispiele für Logikschaltungen sind ein oder mehrere Prozessoren, ein oder mehrere Ko-Prozessoren, ein oder mehrere Mikroprozessoren, eine oder mehrere Steuerungen, ein oder mehrere digitale Signalprozessoren (DSPs), eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), ein oder mehrere feldprogrammierbare Gate-Arrays (FPGAs), ein oder mehrere Mikrocontroller-Einheiten (MCUs), ein oder mehrere Hardware-Beschleuniger, ein oder mehrere Spezial-Computerchips und ein oder mehrere System-on-Chip-Bauteile (SoC). Einige Beispiel-Logikschaltungen, wie ASICs oder FPGAs, sind speziell konfigurierte Hardware zur Durchführung von Operationen (z. B. eine oder mehrere der hierin beschriebenen und in den Flussdiagrammen dieser Offenbarung dargestellten Operationen, falls solche vorhanden sind). Einige Beispiel-Logikschaltungen sind Hardware, die maschinenlesbare Befehle ausführt, um Operationen durchzuführen (z. B. eine oder mehrere der hierin beschriebenen und durch die Flussdiagramme dieser Offenbarung dargestellten Operationen, falls solche vorhanden sind). Einige Beispiel-Logikschaltungen umfassen eine Kombination aus speziell konfigurierter Hardware und Hardware, die maschinenlesbare Befehle ausführt. Die obige Beschreibung bezieht sich auf verschiedene hierin beschriebene Operationen und Flussdiagramme, die zur Veranschaulichung des Ablaufs dieser Operationen angehängt sein können. Alle derartigen Flussdiagramme sind repräsentativ für die hier offenbarten Beispielverfahren. In einigen Beispielen implementieren die durch die Flussdiagramme dargestellten Verfahren die durch die Blockdiagramme dargestellten Vorrichtungen. Alternative Implementierungen der hier offenbarten Beispielverfahren können zusätzliche oder alternative Operationen umfassen. Darüber hinaus können Operationen alternativer Implementierungen der hier offenbarten Verfahren kombiniert, aufgeteilt, neu angeordnet oder weggelassen werden. In einigen Beispielen werden die hier beschriebenen Operationen durch maschinenlesbare Anweisungen (z. B. Software und/oder Firmware) implementiert, die auf einem Medium (z. B. einem zugreifbaren maschinenlesbaren Medium) zur Ausführung durch eine oder mehrere Logikschaltungen (z. B. Prozessor(en)) gespeichert sind. In einigen Beispielen werden die hier beschriebenen Operationen durch eine oder mehrere Konfigurationen einer oder mehrerer speziell entwickelter Logikschaltungen (z. B. ASIC(s)) implementiert. In einigen Beispielen werden die hier beschriebenen Operationen durch eine Kombination aus speziell entwickelten Logikschaltungen und maschinenlesbaren Anweisungen, die auf einem Medium (z. B. einem zugreifbaren maschinenlesbaren Medium) zur Ausführung durch Logikschaltungen gespeichert sind, implementiert.
  • Wie hierin verwendet, ist jeder der Begriffe „zugreifbares maschinenlesbares Medium“, „nichttransitorisches maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“ ausdrücklich definiert als ein Speichermedium (z. B. eine Platte eines Festplattenlaufwerks, eine Digital Versatile Disc, eine Compact Disc, ein Flash-Speicher, ein Festwertspeicher, ein Speicher mit wahlfreiem Zugriff usw.), auf dem maschinenlesbare Anweisungen (z. B. Programmcode in Form von z. B. Software und/oder Firmware) für eine beliebige geeignete Zeitdauer (z. B. dauerhaft, für einen längeren Zeitraum (z. B. während der Ausführung eines mit den maschinenlesbaren Anweisungen verbundenen Programms) und/oder für einen kurzen Zeitraum (z. B. während der Zwischenspeicherung der maschinenlesbaren Anweisungen und/oder während eines Pufferprozesses)) gespeichert werden. Darüber hinaus sind die Begriffe „zugreifbares, maschinenlesbares Medium“, „nichttransitorisches, maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“ hier ausdrücklich so definiert, dass sie die Übertragung von Signalen ausschließen. Das heißt, dass keiner der Begriffe „zugreifbares maschinenlesbares Medium“, „nichttransitorisches maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“, wie sie in den Ansprüchen dieses Patents verwendet werden, so gelesen werden kann, dass sie durch ein sich ausbreitendes Signal implementiert werden.
  • In der vorstehenden Beschreibung sind bestimmte Ausführungsformen beschrieben worden. Der Fachmann erkennt jedoch, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne vom Anwendungsbereich der Erfindung, wie er in den nachstehenden Ansprüchen dargelegt ist, abzuweichen. Dementsprechend sind die Beschreibung und die Figuren eher illustrativ als einschränkend zu verstehen, und alle derartigen Modifikationen sollen in den Anwendungsbereich der vorliegenden Lehre einbezogen werden. Darüber hinaus sind die beschriebenen Ausführungsformen/Beispiele/Implementierungen nicht als sich gegenseitig ausschließend zu verstehen, sondern vielmehr als potenziell kombinierbar, wenn solche Kombinationen in irgendeiner Weise permissiv sind. Mit anderen Worten kann jedes Merkmal, das in einer der vorgenannten Ausführungsformen/Beispiele/Implementierungen offenbart wird, in jeder der anderen vorgenannten Ausführungsformen/Beispiele/Implementierungen enthalten sein.
  • Die Nutzen, Vorteile, Lösungen für Probleme und alle Elemente, die zum Auftreten oder einer Verstärkung eines Nutzens, eines Vorteils, oder einer Lösung führen können, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente in einigen oder sämtlichen Ansprüchen zu verstehen. Die Erfindung ist lediglich durch die angehängten Ansprüche definiert, einschließlich jeglicher Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden und aller Äquivalente der erteilten Ansprüche.
  • Darüber hinaus können in diesem Dokument relationale Begriffe wie erster und zweiter, oberer und unterer und dergleichen lediglich verwendet sein, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Entitäten oder Aktionen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „hat“, „haben“, „aufweist“, „aufweisend“, „enthält“, „enthaltend“ oder jede andere Variation davon sollen eine nicht-ausschließliche Einbeziehung abdecken, derart, dass ein Prozess, Verfahren, Produkt oder Vorrichtung, das eine Liste von Elementen umfasst, hat, aufweist, enthält, nicht nur diese Elemente aufweist, sondern auch andere Elemente aufweisen kann, die nicht ausdrücklich aufgelistet sind oder einem solchen Prozess, Verfahren, Produkt oder Vorrichtung inhärent sind. Ein Element, dem „umfasst ... ein“, „hat ... ein“, „aufweist ... ein“ oder „enthält ...ein“ vorausgeht, schließt ohne weitere Einschränkungen die Existenz zusätzlicher identischer Elemente in dem Prozess, dem Verfahren, dem Produkt oder der Vorrichtung, die das Element umfasst, hat, aufweist oder enthält, nicht aus. Die Begriffe „ein“ und „eine“ sind als eine oder mehrere definiert, sofern es hierin nicht ausdrücklich anders angegeben wird. Die Begriffe „im Wesentlichen“, „im Allgemeinen“, „ungefähr“, „etwa“ oder jede andere Version davon sind so definiert, dass sie von einem Fachmann auf diesem Gebiet nahekommend verstanden werden, und in einer nicht-einschränkenden Ausführungsform ist der Ausdruck definiert als innerhalb von 10%, in einer weiteren Ausführungsform als innerhalb von 5%, in einer weiteren Ausführungsform als innerhalb von 1% und in einer weiteren Ausführungsform als innerhalb von 0,5%. Der Ausdruck „gekoppelt“, wie er hierin verwendet wird, ist als verbunden definiert, jedoch nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder eine Struktur, die auf eine bestimmte Art „konfiguriert“ ist, ist zumindest auch so konfiguriert, kann aber auch auf Arten konfiguriert sein, die nicht aufgeführt sind.
  • Die Zusammenfassung der Offenbarung wird bereitgestellt, um es dem Leser zu ermöglichen, schnell das Wesen der technischen Offenbarung zu ermitteln. Sie wird mit dem Verständnis bereitgestellt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Ferner kann der vorangehenden detaillierten Beschreibung entnommen werden, dass verschiedene Merkmale in verschiedenen Ausführungsformen zum Zwecke der Verschlankung der Offenbarung zusammengefasst sind. Diese Art der Offenbarung ist nicht so auszulegen, dass sie die Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr ist es so, wie die folgenden Ansprüche zeigen, dass der erfinderische Gegenstand in weniger als allen Merkmalen einer einzigen offenbarten Ausführungsform liegt. Somit werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung inkorporiert, wobei jeder Anspruch für sich als ein separat beanspruchter Gegenstand steht.

Claims (20)

  1. Verfahren zur Erleichterung einer Erstellung eines Bildanalyseauftrags, wobei das Verfahren umfasst: Empfangen einer Bilddatei durch einen oder mehrere Prozessoren; automatisches Bestimmen eines Gegenstands von Interesse in der Bilddatei durch den einen oder die mehreren Prozessoren; Analysieren des Gegenstands von Interesse durch den einen oder die mehreren Prozessoren, um ein geeignetes Werkzeug zum Verarbeiten des Gegenstands von Interesse zu bestimmen; und Anzeigen, durch den einen oder die mehreren Prozessoren, auf einem Anzeigebildschirm: (i) eines Bildes, das mit der Bilddatei korrespondiert, (ii) einer Anzeige des Gegenstands von Interesse und (iii) einer Anzeige des geeigneten Werkzeugs.
  2. Verfahren nach Anspruch 1, wobei die Anzeige des Gegenstands von Interesse einen Rahmen umfasst, der den Gegenstand von Interesse umschließt.
  3. Verfahren nach Anspruch 1, wobei: das Anzeigen der Anzeige des Gegenstands von Interesse das Anzeigen einer Linie oder einer Reihe von Linien um den Gegenstand von Interesse in einer ersten Farbe umfasst; und wobei das Verfahren ferner umfasst: Bestimmen, dass der Gegenstand von Interesse nicht mehr innerhalb der Linie oder der Reihe von Linien gefunden werden kann; und als Reaktion auf das Bestimmen, dass der Gegenstand von Interesse nicht mehr innerhalb der Linie oder der Reihe von Linien gefunden werden kann, Ändern der ersten Farbe in eine zweite Farbe, wobei die erste Farbe sich von der zweiten Farbe unterscheidet.
  4. Verfahren nach Anspruch 1, wobei das geeignete Werkzeug ein Strichcode-Scanwerkzeug, ein Mustervergleichswerkzeug, ein Kantenerkennungswerkzeug oder ein Messwerkzeug umfasst.
  5. Verfahren nach Anspruch 1, wobei der Gegenstand von Interesse ein physisches Objekt umfasst.
  6. Verfahren nach Anspruch 1, wobei der Gegenstand von Interesse einen Strichcode oder einen Quick-Response-Code (QR) umfasst.
  7. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen durch den einen oder die mehreren Prozessoren, dass der Gegenstand von Interesse einen Strichcode enthält; und als Reaktion auf das Bestimmen, dass der Gegenstand von Interesse einen Strichcode enthält, Bestimmen durch den einen oder die mehreren Prozessoren, dass das geeignete Werkzeug einem Strichcode-Scanwerkzeug entspricht.
  8. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen durch den einen oder die mehreren Prozessoren, dass der Gegenstand von Interesse keinen Strichcode enthält; und als Reaktion auf das Bestimmen, dass der Gegenstand von Interesse keinen Strichcode enthält, Bestimmen durch den einen oder die mehreren Prozessoren, dass das geeignete Werkzeug einem Mustervergleichswerkzeug oder einem Kantenerkennungswerkzeug entspricht.
  9. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen durch den einen oder die mehreren Prozessoren, dass der Gegenstand von Interesse ein physisches Objekt umfasst; und als Reaktion auf das Bestimmen, dass der Gegenstand von Interesse ein physisches Objekt umfasst, Bestimmen durch den einen oder die mehreren Prozessoren, dass das geeignete Werkzeug einem Messwerkzeug entspricht.
  10. Verfahren nach Anspruch 1, wobei der eine oder die mehreren Prozessoren das Bild von einer Kamera empfangen.
  11. Verfahren nach Anspruch 1, wobei der eine oder die mehreren Prozessoren das Bild aus einer Datenbank empfangen.
  12. Verfahren nach Anspruch 1, wobei das automatische Bestimmen des Gegenstands von Interesse in der Bilddatei durch Analysieren der Bilddatei unter Verwendung einer Pixelanalyse erfolgt.
  13. Verfahren nach Anspruch 1, wobei: das automatische Bestimmen des Gegenstands von Interesse durch das Durchführen einer Kantenerkennung in der Bilddatei erfolgt; die Kantenerkennung anzeigt, dass der Gegenstand von Interesse ein zweidimensionales Objekt umfasst; und als Reaktion auf die Anzeige, dass der Gegenstand von Interesse ein zweidimensionales Objekt umfasst, der eine oder die mehreren Prozessoren bestimmen, dass das geeignete Werkzeug einem Kantenerkennungswerkzeug entspricht.
  14. Verfahren nach Anspruch 1, wobei: das automatische Bestimmen des Gegenstands von Interesse durch das Durchführen einer Kantenerkennung in der Bilddatei erfolgt; die Kantenerkennung anzeigt, dass der Gegenstand von Interesse ein dreidimensionales Objekt umfasst; und als Reaktion auf die Anzeige, dass der Gegenstand von Interesse ein dreidimensionales Objekt umfasst, der eine oder die mehreren Prozessoren bestimmen, dass das geeignete Werkzeug einem Mustervergleichswerkzeug entspricht.
  15. Computersystem zur Erleichterung einer Erstellung eines Bildanalyseauftrags, wobei das Computersystem umfasst: einen oder mehrere Prozessoren; und einen nichttransitorischen Programmspeicher, der kommunikativ mit dem einen oder den mehreren Prozessoren gekoppelt ist und ausführbare Anweisungen speichert, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, das Computersystem dazu veranlassen, um: eine Bilddatei zu empfangen; automatisch einen Gegenstand von Interesse in der Bilddatei zu bestimmen; den Gegenstand von Interesse zu analysieren, um ein geeignetes Werkzeug zum Verarbeiten des Gegenstands von Interesse zu bestimmen; und auf einem Anzeigebildschirm anzuzeigen: (i) ein mit der Bilddatei korrespondierendes Bild, (ii) eine Anzeige des Gegenstands von Interesse und (iii) eine Anzeige des geeigneten Werkzeugs.
  16. Computersystem nach Anspruch 15, wobei: die Anweisungen das Computersystem veranlassen, die Anzeige des Gegenstands von Interesse anzuzeigen, indem in einer ersten Farbe eine Linie oder eine Reihe von Linien um den Gegenstand von Interesse herum angezeigt wird; und die Anweisungen das Computersystem ferner dazu veranlassen, um: zu bestimmen, dass der Gegenstand von Interesse nicht mehr innerhalb der Linie oder der Reihe von Linien gefunden werden kann, und als Reaktion auf das Bestimmen, dass der Gegenstand von Interesse nicht mehr innerhalb der Linie oder der Reihe von Linien gefunden werden kann, die erste Farbe in eine zweite Farbe zu ändern, wobei die erste Farbe sich von der zweiten Farbe unterscheidet.
  17. Computersystem nach Anspruch 15, wobei das geeignete Werkzeug ein Strichcode-Scanwerkzeug, ein Mustervergleichswerkzeug, ein Kantenerkennungswerkzeug oder ein Messwerkzeug umfasst.
  18. Zugreifbares, nichttransitorisches, computerlesbares Medium, das ausführbare Anweisungen zum Erstellen eines Bildverarbeitungsauftrags speichert, die, wenn sie von mindestens einem Prozessor eines Computersystems ausgeführt werden, das Computersystem dazu veranlassen, um: eine Bilddatei zu empfangen; automatisch einen Gegenstand von Interesse in der Bilddatei zu bestimmen; den Gegenstand von Interesse zu analysieren, um ein geeignetes Werkzeug zum Verarbeiten des Gegenstands von Interesse zu bestimmen; und auf einem Anzeigebildschirm anzuzeigen: (i) ein mit der Bilddatei korrespondierendes Bild, (ii) eine Anzeige des Gegenstands von Interesse und (iii) eine Anzeige des geeigneten Werkzeugs.
  19. Zugreifbares, nichttransitorisches, computerlesbares Medium nach Anspruch 18, wobei: die Anweisungen das Computersystem veranlassen, die Anzeige des Gegenstands von Interesse anzuzeigen, indem in einer ersten Farbe eine Linie oder eine Reihe von Linien um den Gegenstand von Interesse herum angezeigt wird; und die Anweisungen das Computersystem ferner dazu veranlassen, um: zu bestimmen, dass der Gegenstand von Interesse nicht mehr innerhalb der Linie oder der Reihe von Linien gefunden werden kann, und als Reaktion auf das Bestimmen, dass der Gegenstand von Interesse nicht mehr innerhalb der Linie oder der Reihe von Linien gefunden werden kann, die erste Farbe in eine zweite Farbe zu ändern, wobei die erste Farbe sich von der zweiten Farbe unterscheidet.
  20. Zugreifbares, nichttransitorisches, computerlesbares Medium nach Anspruch 18, wobei das geeignete Werkzeug ein Strichcode-Scanwerkzeug, ein Mustervergleichswerkzeug, ein Kantenerkennungswerkzeug oder ein Messwerkzeug umfasst.
DE112021004030.8T 2020-07-31 2021-06-22 Automatische identifizierung und darstellung von kanten, formen und eindeutigen objekten in einem bild, das zur einstellung eines bildverarbeitungsauftrags verwendet wird Pending DE112021004030T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/945,291 US11625916B2 (en) 2020-07-31 2020-07-31 Automatic identification and presentation of edges, shapes and unique objects in an image used for a machine vision job setup
US16/945,291 2020-07-31
PCT/US2021/038465 WO2022026087A1 (en) 2020-07-31 2021-06-22 Automatic identification and presentation of edges, shapes and unique objects in an image

Publications (1)

Publication Number Publication Date
DE112021004030T5 true DE112021004030T5 (de) 2023-05-17

Family

ID=80004479

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021004030.8T Pending DE112021004030T5 (de) 2020-07-31 2021-06-22 Automatische identifizierung und darstellung von kanten, formen und eindeutigen objekten in einem bild, das zur einstellung eines bildverarbeitungsauftrags verwendet wird

Country Status (4)

Country Link
US (3) US11625916B2 (de)
JP (1) JP2023538818A (de)
DE (1) DE112021004030T5 (de)
WO (1) WO2022026087A1 (de)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7030351B2 (en) 2003-11-24 2006-04-18 Mitutoyo Corporation Systems and methods for rapidly automatically focusing a machine vision inspection system
EP1612509A1 (de) 2004-07-01 2006-01-04 Sick IVP AB Optischer Profilometer
CN102117349B (zh) 2009-12-31 2013-08-28 鸿富锦精密工业(深圳)有限公司 寻边工具命令生成系统及方法
US20180032997A1 (en) * 2012-10-09 2018-02-01 George A. Gordon System, method, and computer program product for determining whether to prompt an action by a platform in connection with a mobile device
US9111164B1 (en) * 2015-01-19 2015-08-18 Snapchat, Inc. Custom functional patterns for optical barcodes
US10148918B1 (en) * 2015-04-06 2018-12-04 Position Imaging, Inc. Modular shelving systems for package tracking
EP3211611A1 (de) * 2016-02-24 2017-08-30 Wincor Nixdorf International GmbH Verfahren zum rechnergestützten leer-erkennen eines transportbehälters und vorrichtung zum rechnergestützten leer-erkennen eines transportbehälters
US11176340B2 (en) * 2016-09-28 2021-11-16 Cognex Corporation System and method for configuring an ID reader using a mobile device
EP3861309A4 (de) * 2018-10-05 2022-06-08 Simbe Robotics, Inc. Verfahren zur verfolgung und charakterisierung von verderblichen gütern in einem laden
US11756291B2 (en) * 2018-12-18 2023-09-12 Slyce Acquisition Inc. Scene and user-input context aided visual search

Also Published As

Publication number Publication date
US20220036072A1 (en) 2022-02-03
US11830250B2 (en) 2023-11-28
WO2022026087A1 (en) 2022-02-03
JP2023538818A (ja) 2023-09-12
US20240193941A1 (en) 2024-06-13
US11625916B2 (en) 2023-04-11
US20230222789A1 (en) 2023-07-13

Similar Documents

Publication Publication Date Title
DE102018102688A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und Bildverarbeitungssystem
DE202015009148U1 (de) Automatische Bearbeitung von Bildern
EP2050023A1 (de) Verfahren zum analysieren und/oder testen zumindest einer benutzeroberfläche, datenverarbeitungseinrichtung und computerprogrammprodukt
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE112022001743T5 (de) Systeme und verfahren zur optimierung der bildgebungseinstellungen und der bilderfassung für einen bildverarbeitungsauftrag
DE102014007023A1 (de) Bildeffektextraktion
BE1029610B1 (de) Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR)
BE1029597B1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
DE102022124537A1 (de) Verfahren zur erstellung eines optimierten/adaptiven bereichs von interesse (roi) basierend auf einer erkennung einer strichcodeposition im sichtfeld (fov)
DE112022001773T5 (de) Systeme und Verfahren zur Bestimmung eines adaptiven Bereichs von Interesse (ROI) für die Berechnung von Bildmetriken
DE112021004030T5 (de) Automatische identifizierung und darstellung von kanten, formen und eindeutigen objekten in einem bild, das zur einstellung eines bildverarbeitungsauftrags verwendet wird
DE112021004035T5 (de) Systeme und verfahren zur erleichterung einer auswahl von werkzeugen für bildverarbeitungsaufträge
DE102021119128A1 (de) Systeme und verfahren zur optimierung von bildgebungseinstellungen für einen bildverarbeitungsauftrag
BE1029306B1 (de) Industrielles ethernet-konfigurationswerkzeug mit vorschaufunktionen
DE102021119123A1 (de) SYSTEME UND VERFAHREN ZUM ERZEUGEN VON BILDVERARBEITUNGSAUFTRÄGEN EINSCHLIEßLICH STRICHCODESCANNEN
BE1029310B1 (de) Systeme und verfahren zum anreichern eines von einer maschinensicht-kamera aufgenommenen bildinhalts
DE102020204761A1 (de) Bewertung der modulationsübertragungsfunktion für rot / klar gefilterte optische geräte
DE112021004038T5 (de) Systeme und verfahren zur optimierung einer leistung eines bildverarbeitungssystems
DE102021119132A1 (de) Systeme und verfahren zur optimierung einer leistung eines bildverarbeitungssystems
DE112022002389T5 (de) Industrielles ethernet-konfigurationswerkzeug mit vorschaufähigkeiten
BE1029311B1 (de) Systeme und verfahren zur interaktion mit überlappenden interessierenden regionen in bildverarbeitungsanwendungen
BE1029309B1 (de) Systeme und verfahren zum optimieren von bilderzeugungseinstellungen und bildaufnahmen für einen maschinensicht-job
US20240144632A1 (en) ROI Image Windowing
US11861134B2 (en) Systems and methods for enhancing image content captured by a machine vision camera
DE112022002403T5 (de) Energieverwalter zur unterstützung von weniger-als-nominalen bedingungen in einem maschinellen bildverarbeitungssystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed