DE102018102705A1 - Bildverarbeitungsvorrichtung, Einstellunterstützungsverfahren und Einstellunterstützungsprogramm - Google Patents

Bildverarbeitungsvorrichtung, Einstellunterstützungsverfahren und Einstellunterstützungsprogramm Download PDF

Info

Publication number
DE102018102705A1
DE102018102705A1 DE102018102705.2A DE102018102705A DE102018102705A1 DE 102018102705 A1 DE102018102705 A1 DE 102018102705A1 DE 102018102705 A DE102018102705 A DE 102018102705A DE 102018102705 A1 DE102018102705 A1 DE 102018102705A1
Authority
DE
Germany
Prior art keywords
image
image processing
group
processing program
synthetic
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
DE102018102705.2A
Other languages
English (en)
Inventor
Yuki Akatsuka
Yutaka Kiuchi
Reiji Takahashi
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE102018102705A1 publication Critical patent/DE102018102705A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4076Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution using the original low-resolution images to iteratively correct the high-resolution images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • 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/52Scale-space analysis, e.g. wavelet analysis
    • 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/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Es wird eine Technik zum Unterstützen eines Einstellens von Parametern (28A, 28B, 28C) für ein Bildverarbeitungsprogramm (20) zum Suchen eines Gegenstands (W) in einem Bild (30, 40) bereitgestellt. Eine Bildverarbeitungsvorrichtung (100) weist Folgendes auf: einen Programmausführungsteil (151), der Parametergruppen (28A, 28B, 28C) bei einem Bildverarbeitungsprogramm (20) anwendet, welches unter Verwendung einer Bildergruppe (32A, 32B, 32C) mit verschiedenen Auflösungen, die aus einem Eingabebild (30, 40) erzeugt wird, ein Suchobjekt (W) sucht, ein Suchergebnis für jede der Parametergruppen (28A, 28B, 28C) und eine Bildergruppe (32A, 32B, 32C), die im Verlauf des Ausführens des Bildverarbeitungsprogramms (20) gewonnen wird, für jede Parametergruppe (28A, 28B, 28C) gewinnt, einen Syntheseteil (152), der aus jeder von mehreren gewonnenen Bildergruppen (32A, 32B, 32C) ein synthetisches Bild (34A, 34B, 34C, 46, 47, 48) erzeugt, einen Anzeigeteil (102), der die mehreren erzeugten synthetischen Bilder (34A, 34B, 34C, 46, 47, 48) und die mehreren gewonnenen Suchergebnisse (33A, 33B, 33C, 47A, 48A) so anzeigt, dass letztere den mehreren synthetischen Bildern (34A, 34B, 34C, 46, 47, 48) überlagert sind, und einen Einstellteil (153), der die Parametergruppe (28A, 28B, 28C) einstellt, die dem synthetischen Bild (34A, 34B, 34C, 46, 47, 48) entspricht, das durch eine Operation im Bildverarbeitungsprogramm (20) unter den mehreren auf dem Anzeigeteil (102) angezeigten synthetischen Bildern (34A, 34B, 34C, 46, 47, 48) ausgewählt wird.

Description

  • STAND DER TECHNIK
  • Technisches Gebiet
  • Diese Offenbarung betrifft eine Technik zum Unterstützen eines Einstellens von Parametern für ein Bildverarbeitungsprogramm zum Suchen eines Gegenstands in einem Bild.
  • Beschreibung der verwandten Technik
  • In letzter Zeit sind verschiedene Bildverarbeitungsprogramme zum Suchen eines Gegenstands in einem Bild entwickelt worden. So offenbart zum Beispiel die offengelegte japanische Patentanmeldung Nr. 2017-041190 (Patentdokument 1) ein Verfahren zum Erkennen eines Werkstücks in einem Bild unter Verwendung eines Bildverarbeitungsprogramms, das ein Grob-bis-Fein-Suchverfahren einsetzt. Bei dem Grob-bis-Fein-Suchverfahren handelt es sich um einen Algorithmus zum Erzeugen einer Bildergruppe mit unterschiedlichen Auflösungen aus einem Eingabebild, nacheinander erfolgenden Suchen eines Suchobjekts in einem Bild mit einer geringsten Auflösung und Suchen eines Gegenstands bei gleichzeitiger Einschränkung eines Suchbereichs in einem Bild mit einer nächsthöheren Auflösung auf der Grundlage der Suchergebnisse für die Bilder.
  • Patentdokumente
  • Patentdokument 1: offengelegte japanische Patentanmeldung Nr. 2017-041190
  • KURZE BESCHREIBUNG DER ERFINDUNG
  • Ein Benutzer muss zwecks Anpassens der Suchgenauigkeit, einer Verarbeitungsdauer oder dergleichen verschiedene Parameter für ein Bildverarbeitungsprogramm einstellen, das ein Grob-bis-Fein-Suchverfahren einsetzt. Zu diesem Zeitpunkt muss der Benutzer Einzelheiten zum Bildverarbeitungsprogramm kennen. Da interne Prozesse durch eine „Block“ bzw. Black Box verborgen sind, kann der Benutzer jedoch nicht ohne weiteres erkennen, welche Parameter wie eingestellt werden müssen. Wenn sich die Anzahl der einzustellenden Parametertypen erhöht, ist es schwieriger, die Parameter anzupassen. Dementsprechend besteht Bedarf für eine Technik zum Unterstützen eines Einstellens von Parametern für ein Bildverarbeitungsprogramm zum Suchen eines Gegenstands in einem Bild.
  • Gemäß einer Ausführungsform weist eine Bildverarbeitungsvorrichtung Folgendes auf: einen Bildaufnahmeteil, der ein Eingabebild gewinnt, das ein Suchobjekt enthält, einen Programmausführungsteil, der eine oder mehrere vorgegebene Parametergruppen bei einem Bildverarbeitungsprogramm anwendet, welches unter Verwendung einer Bildergruppe mit unterschiedlichen Auflösungen, die aus dem Eingabebild erzeugt wird, das Suchobjekt sucht, durch Anwenden jeder der einen oder der mehreren Parametergruppen ein Suchergebnis aus dem Bildverarbeitungsprogramm und die Bildergruppe, die im Verlauf des Ausführens des Bildverarbeitungsprogramms gewonnen wird, für jede der einen oder der mehreren Parametergruppen gewinnt, einen Syntheseteil, der aus jeder der einen oder der mehreren gewonnenen Bildergruppen ein synthetisches Bild erzeugt, einen Anzeigeteil, der das eine oder die mehreren erzeugten synthetischen Bilder und das eine oder die mehreren gewonnenen Suchergebnisse so anzeigt, dass letztere dem einen oder den mehreren synthetischen Bildern überlagert sind, einen Operationsempfangsteil, der eine Operation zum Auswählen eines beliebigen des einen oder der mehreren synthetischen Bilder empfängt, die auf dem Anzeigeteil angezeigt werden, und einen Einstellteil, der die Parametergruppe einstellt, die dem durch die Operation im Bildverarbeitungsprogramm ausgewählten synthetischen Bild entspricht.
  • Gemäß einer Ausführungsform sucht das Bildverarbeitungsprogramm das Suchobjekt der Reihe nach in einem Bild mit einer geringsten Auflösung in der Bildergruppe mit unterschiedlichen Auflösungen, die aus dem Eingabebild erzeugt wird, und unter Einschränkung eines Suchbereichs in einem Bild mit einer nächsthöheren Auflösung auf der Grundlage des Suchergebnisses in jedem Bild sucht.
  • Gemäß einer Ausführungsform enthält die Parametergruppe, die bei dem Bildverarbeitungsprogramm angewendet wird, eine Schwellwertgruppe, die zum Bestimmen verwendet wird, ob das Suchobjekt in jedem Bild enthalten ist, als die Schwellwertgruppe, die auf jedes Bild der Bildergruppe mit unterschiedlichen Auflösungen angewendet wird, welche aus dem Eingabebild erzeugt wird.
  • Gemäß einer Ausführungsform zeigt der Anzeigeteil zusätzlich einen evaluierten Wert für jede der einen oder der mehreren Parametergruppen an.
  • Gemäß einer Ausführungsform passt der Syntheseteil die Auflösungen der aus dem Eingabebild erzeugten Bildergruppe mit unterschiedlichen Auflösungen an und erzeugt dann aus der Bildergruppe ein synthetisches Bild.
  • Gemäß einer Ausführungsform binarisiert das Bildverarbeitungsprogramm die aus dem Eingabebild erzeugte Bildergruppe mit unterschiedlichen Auflösungen in Pixel, die eine Kante angeben, und Pixel, die keine Kante angeben. Der Syntheseteil stimmt die Auflösungen der binarisierten Bildergruppe ab, führt an Pixelwerten mit den gleichen Koordinaten in der Bildergruppe eine UND-Operation durch und gibt als Ergebnis der UND-Operation das Synthesebild aus.
  • Gemäß einer Ausführungsform binarisiert das Bildverarbeitungsprogramm die aus dem Eingabebild erzeugte Bildergruppe mit unterschiedlichen Auflösungen in Pixel, die eine Kante angeben, und Pixel, die keine Kante angeben. Der Syntheseteil stimmt die Auflösungen der binarisierten Bildergruppe ab, führt an Pixelwerten mit den gleichen Koordinaten in der Bildergruppe eine ODER-Operation durch und gibt als Ergebnis der ODER-Operation das Synthesebild aus.
  • Gemäß einer Ausführungsform binarisiert das Bildverarbeitungsprogramm die aus dem Eingabebild erzeugte Bildergruppe mit unterschiedlichen Auflösungen in Pixel, die eine Kante angeben, und Pixel, die keine Kante angeben. Der Syntheseteil stimmt die Auflösungen der binarisierten Bildergruppe ab, synthetisiert Pixel mit den gleichen Koordinaten in der Bildergruppe, so dass keine Informationen zu Pixelwerten verloren gehen, und gibt als Ergebnis der Synthese das Synthesebild aus.
  • Gemäß einer Ausführungsform enthält die Parametergruppe, die bei dem Bildverarbeitungsprogramm angewendet wird, eine Schwellwertgruppe, die zum Bestimmen verwendet wird, ob es sich bei jedem Pixel in jedem Bild um ein Pixel handelt, das eine Kante angibt, als Schwellwertgruppe, die auf jedes Bild der Bildergruppe mit unterschiedlichen Auflösungen angewendet wird, welche aus dem Eingabebild erzeugt wird.
  • Gemäß einer Ausführungsform umfasst ein Einstellunterstützungsverfahren zum Unterstützen eines Einstellens von Parametern für ein Bildverarbeitungsprogramm Folgendes: Gewinnen eines Eingabebilds, das ein Suchobjekt enthält; Anwenden einer oder mehrerer vorgegebener Parametergruppen bei einem Bildverarbeitungsprogramm, welches unter Verwendung einer Bildergruppe mit unterschiedlichen Auflösungen, die aus dem Eingabebild erzeugt wird, das Suchobjekt sucht, Gewinnen eines Suchergebnisses für jede der einen oder der mehreren Parametergruppen aus dem Bildverarbeitungsprogramm und der Bildergruppe, die im Verlauf des Ausführens des Bildverarbeitungsprogramms gewonnen wird, für jede der einen oder der mehreren Parametergruppen; Erzeugen eines synthetischen Bilds aus jeder der einen oder mehreren gewonnenen Bildergruppen; derartiges Anzeigen des einen oder der mehreren erzeugten synthetischen Bilder und des einen oder der mehreren gewonnenen Suchergebnisse, dass letztere dem einen oder den mehreren synthetischen Bildern auf einem Anzeigeteil überlagert sind; Empfangen einer Operation zum Auswählen eines des einen oder der mehreren synthetischen Bilder, die auf dem Anzeigeteil angezeigt werden; und Einstellen der Parametergruppe, die dem durch die Operation im Bildverarbeitungsprogramm ausgewählten synthetischen Bild entspricht.
  • Gemäß einer Ausführungsform veranlasst ein Einstellunterstützungsprogramm zum Unterstützen eines Einstellens von Parametern für ein Bildverarbeitungsprogramm eine Bildverarbeitungsvorrichtung dazu, Folgendes durchzuführen: Gewinnen eines Eingabebilds, das ein Suchobjekt enthält; Anwenden einer oder mehrerer vorgegebener Parametergruppen bei einem Bildverarbeitungsprogramm, welches unter Verwendung einer Bildergruppe mit unterschiedlichen Auflösungen, die aus dem Eingabebild erzeugt wird, das Suchobjekt sucht, Gewinnen eines Suchergebnisses für jede der einen oder der mehreren Parametergruppen aus dem Bildverarbeitungsprogramm und der Bildergruppe, die im Verlauf des Ausführens des Bildverarbeitungsprogramms gewonnen wird, für jede der einen oder der mehreren Parametergruppen; Erzeugen eines synthetischen Bilds aus jeder der einen oder mehreren gewonnenen Bildergruppen; derartiges Anzeigen des einen oder der mehreren erzeugten synthetischen Bilder und des einen oder der mehreren gewonnenen Suchergebnisse, dass letztere dem einen oder den mehreren synthetischen Bildern auf einem Anzeigeteil überlagert sind; Empfangen einer Operation zum Auswählen eines beliebigen des einen oder der mehreren synthetischen Bilder, die auf dem Anzeigeteil angezeigt werden; und Einstellen der Parametergruppe, die dem durch die Operation im Bildverarbeitungsprogramm ausgewählten synthetischen Bild entspricht.
  • Gemäß den Ausführungsformen ist es möglich, ein Einstellen von Parametern für ein Bildverarbeitungsprogramm zum Suchen eines Gegenstands in einem Bild zu unterstützen.
  • Figurenliste
    • 1 ist ein Schaubild, das ein Beispiel für eine Gesamtkonfiguration eines Bildverarbeitungssystems gemäß einer Ausführungsform darstellt.
    • 2 ist eine Konzeptdarstellung, die die Unterstützung eines Einstellens von Parametern für einen Pyramiden-Algorithmus schematisch darstellt.
    • 3 ist ein Schaubild, das ein Beispiel für eine Datenstruktur einer Parametergruppe darstellt.
    • 4 ist eine Konzeptdarstellung, die einen Pyramiden-Algorithmus schematisch darstellt.
    • 5 ist eine Konzeptdarstellung, die einen Pyramidenbild-Synthetisierungsprozess schematisch darstellt, der von einem Syntheseteil durchgeführt wird.
    • 6 ist ein Schaubild, das ein Beispiel für einen Anzeigemodus bei einem Anzeigeteil darstellt.
    • 7 ist eine Konzeptdarstellung, die einen Synthetisierungsprozess gemäß einem ersten modifizierten Beispiel schematisch darstellt.
    • 8 ist eine Konzeptdarstellung, die einen Synthetisierungsprozess gemäß einem zweiten modifizierten Beispiel schematisch darstellt.
    • 9 ist eine Konzeptdarstellung, die einen Synthetisierungsprozess gemäß einem dritten modifizierten Beispiel schematisch darstellt.
    • 10 ist ein Schaubild, das einen Synthetisierungsprozess für eine Pixelgruppe schematisch darstellt.
    • 11 ist ein Schaubild, das ein Beispiel für eine Hardware-Konfiguration einer Bildverarbeitungsvorrichtung gemäß der Ausführungsform schematisch darstellt.
    • 12 ist ein Ablaufdiagramm, das einen Teil von Prozessen schematisch darstellt, die von der Bildverarbeitungsvorrichtung gemäß der Ausführungsform durchgeführt werden.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Nachfolgend werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben. In der nachfolgenden Beschreibung sind gleiche Komponenten und Elemente mit den gleichen Bezugszeichen versehen und weisen die gleichen Namen und Funktionen auf. Dementsprechend wird auf eine erneute ausführliche Beschreibung davon verzichtet. Ausführungsformen und modifizierte Beispiele, die nachfolgend beschrieben sind, können auf geeignete Weise gezielt miteinander kombiniert werden.
  • Konfiguration des Bildverarbeitungssystems 1
  • Nachfolgend wird unter Bezugnahme auf 1 eine Gesamtkonfiguration eines Bildverarbeitungssystems 1 beschrieben. 1 ist ein Schaubild, das ein Beispiel für die Gesamtkonfiguration des Bildverarbeitungssystems 1 gemäß einer Ausführungsform darstellt.
  • Das Bildverarbeitungssystem 1 weist eine Bildverarbeitungsvorrichtung 100, die auch als optischer Sensor bezeichnet wird, eine speicherprogrammierbare Steuerung (SPS) 5, die mit der Bildverarbeitungsvorrichtung 100 kommunizieren kann, und einen Abbildungsteil 8 (einen Bildaufnahmeteil) auf, der mit der Bildverarbeitungsvorrichtung 100 verbunden ist.
  • Die SPS 5 steuert den Transportmechanismus 6 und dergleichen im Zusammenspiel mit der Bildverarbeitungsvorrichtung 100. Der Abbildungsteil 8 bei einem Beispiel weist ferner zusätzlich zu einem optischen System wie einem Objektiv eine Fotoaufnahmevorrichtung auf, die in mehrere Pixel unterteilt ist, wie beispielsweise einen CCD-Sensor (CCD - Charge-Coupled Device, ladungsgekoppeltes Bauelement) oder einen CMOS-Sensor (CMOS - Complementary Metal Oxide Semiconductor). Der Abbildungsteil 8 bildet der Reihe nach Werkstücke W ab, die von dem Transportmechanismus 6 transportiert werden. Ein durch eine Aufnahme des Abbildungsteils 8 gewonnenes Eingabebild wird zu der Bildverarbeitungsvorrichtung 100 übertragen.
  • Die Bildverarbeitungsvorrichtung 100 sucht ein Werkstück W in dem vom Abbildungsteil 8 gewonnenen Eingabebild, indem sie ein vorgegebenes Bildverarbeitungsprogramm zum Suchen eines Gegenstands in einem Bild ausführt. Die Bildverarbeitungsvorrichtung 100 sucht beispielsweise über ein Bildverarbeitungsprogramm unter Verwendung eines Grob-bis-Fein-Suchverfahrens ein Werkstück W in dem Eingabebild. Das Bildverarbeitungsprogramm, das ein Grob-bis-Fein-Suchverfahren benutzt, wird hier auch als „Pyramiden-Algorithmus“ bezeichnet. Einzelheiten werden zwar später noch beschrieben, der Pyramiden-Algorithmus erzeugt jedoch aus dem Eingabebild eine Bildergruppe mit unterschiedlichen Auflösungen und sucht das Suchobjekt der Reihe nach in einem Bild mit der geringsten Auflösung in der erzeugten Bildergruppe. Zu diesem Zeitpunkt sucht der Pyramiden-Algorithmus einen Gegenstand und schränkt dabei einen Suchbereich in dem Bild mit der nächsthöheren Auflösung auf der Grundlage des Suchergebnisses für jedes Bild ein. Die Bildergruppe mit unterschiedlichen Auflösungen, die im Verlauf des Ausführens des Pyramiden-Algorithmus gewonnen wird, wird hier auch als „Pyramidenbild“ bezeichnet.
  • Die Bildverarbeitungsvorrichtung 100 führt an einem in dem Eingabebild gesuchten Werkstück ein Bildverarbeitungsprogramm zum Prüfen eines Defekts oder Makels, eines Messwerts für eine Größe, einer Anordnungsrichtung und dergleichen von Werkstücken W und zum Erkennen von Zeichen oder Figuren auf der Oberfläche jedes Werkstücks W aus. Das Ausführungsergebnis wird beispielsweise auf einem Anzeigeteil 102 der Bildverarbeitungsvorrichtung 100 angezeigt.
  • Parametereinstellunterstützung
  • Nachfolgend wird unter Bezugnahme auf 2 und 3 ein Verfahren zum Unterstützen eines Einstellens von Parametern für den Pyramiden-Algorithmus beschrieben.
  • 2 ist eine Konzeptdarstellung, die die Unterstützung eines Einstellens von Parametern für den Pyramiden-Algorithmus schematisch darstellt. Wie in 2 dargestellt ist, weist die Bildverarbeitungsvorrichtung 100 einen Anzeigeteil 102, eine Steuervorrichtung 110 und eine Speichervorrichtung 120 als wichtigste Hardware auf.
  • Die Steuervorrichtung 110 steuert die Bildverarbeitungsvorrichtung 100. Die Steuervorrichtung 110 weist einen Programmausführteil 151, der ein Bildverarbeitungsprogramm 20 ausführt, und einen Syntheseteil 152 auf, der ein Pyramidenbild synthetisiert, das im Verlauf des Ausführens des Pyramiden-Algorithmus erzeugt wird.
  • Die Speichervorrichtung 120 enthält ein Bildverarbeitungsprogramm 20 zum Ausführen eines Pyramiden-Algorithmus, Einstellparameter 22, die derzeit in dem Bildverarbeitungsprogramm 20 eingestellt sind, Parametergruppen 28A bis 28C, die als Kandidaten dienen, welche bei dem Bildverarbeitungsprogramm 20 angewendet werden, ein Eingabebild 30, das durch Abbilden eines Werkstücks W gewonnen wird, und eine Vorlagengruppe 31, die zum Suchen des Werkstücks W in dem Eingabebild 30 verwendet wird.
  • In der nachfolgenden Beschreibung werden die Parametergruppen 28A bis 28C insgesamt als Parametergruppen 28 bezeichnet. Eine „Parametergruppe“ steht hier für einen Satz Parameter, die zum Ausführen des Bildverarbeitungsprogramms 20 erforderlich sind. 3 ist ein Schaubild, das ein Beispiel für eine Datenstruktur einer Parametergruppe 28 darstellt. Wie in 3 dargestellt ist, enthält die Parametergruppe 28 eine Suchschwellwertgruppe, die zum Bestimmen benutzt wird, ob ein Suchobjekt in jedem Bild enthalten ist, als Schwellwertgruppe, die auf jedes Bild in dem Pyramidenbild angewendet wird. Die Parametergruppe 28 enthält auch eine Kantenschwellwertparametergruppe, die zum Bestimmen benutzt wird, ob es sich bei jedem Pixel jedes Bilds um ein Pixel handelt, das eine Kante angibt, als Schwellwertgruppe, die auf jedes Bild in dem Pyramidenbild angewendet wird. Außerdem können verschiedene Parameter, die zum Zeitpunkt der Ausführung des Pyramiden-Algorithmus verwendet werden, in der Parametergruppe 28 definiert sein. Ein Verfahren zum Verwenden der Parametergruppe 28 wird später noch beschrieben.
  • Die Vorlagengruppe 31 in 2 enthält die Vorlagen 31A bis 31C. Bei den Vorlagen 31A bis 31C kann es sich um Referenzbilder handeln, die durch Abbilden eines Werkstücks W im Vorhinein gewonnen werden, oder um Merkmale, die als Merkmalteile des Werkstücks W aus den Referenzbildern extrahiert werden.
  • Die Bildverarbeitungsvorrichtung 100 gemäß dieser Ausführungsform unterstützt das Einstellen von Parametern für den Pyramiden-Algorithmus. Insbesondere wendet der Programmausführteil 151 jede der vorgegebenen Parametergruppen 28A bis 28C bei dem Bildverarbeitungsprogramm 20 zum Ausführen des Pyramiden-Algorithmus an, gewinnt unter Verwendung des Bildverarbeitungsprogramms 20 ein Suchergebnis für jede Parametergruppe und Pyramidenbilder 32A bis 32C, die im Verlauf des Ausführens des Bildverarbeitungsprogramms 20 für jede Parametergruppe gewonnen werden.
  • Danach erzeugt der Syntheseteil 152 synthetische Bilder 34A bis 34C aus den Pyramidenbildern 32A bis 32C. Der Anzeigeteil 102 zeigt die erzeugten synthetischen Bilder 34A bis 34C und Suchergebnisse 33A bis 33C für jede Parametergruppe so an, dass letztere den synthetischen Bildern 34A bis 34C überlagert sind.
  • Es wird beispielsweise davon ausgegangen, dass ein Werkstück W in dem Eingabebild 30 nicht unter Verwendung der Parametergruppe 28A, aber unter Verwendung der Parametergruppen 28B und 28C gesucht wurde. In diesem Fall zeigt die Bildverarbeitungsvorrichtung 100 die Suchergebnisse 33B und 33C so an, dass diese nur den synthetischen Bildern 34B und 34C überlagert sind, die den Parametergruppen 28B und 28C entsprechen. Dementsprechend kann ein Benutzer bei jeder der Parametergruppen 28A bis 28C problemlos bestimmen, ob diese bzw. ob jeder dieser besser ist.
  • Die Bildverarbeitungsvorrichtung 100 ist so konfiguriert, dass sie eines der angezeigten synthetischen Bilder 34A bis 34C auswählt. Diese Auswahloperation wird beispielsweise von einem Operationsempfangsteil (zum Beispiel einer beliebigen Eingabevorrichtung wie einer Maus, einer Tastatur und einem Bildschirmtastfeld) der Bildverarbeitungsvorrichtung 100 empfangen. Die Bildverarbeitungsvorrichtung 100 stellt die Parametergruppe, die dem durch die Operation des Benutzers ausgewählten synthetischen Bild entspricht, als Einstellparameter 22 für das Bildverarbeitungsprogramm 20 ein. Bei dem in 2 dargestellten Beispiel wird das synthetische Bild 34B ausgewählt und die Parametergruppe 28B, die dem synthetischen Bild 34B entspricht, als Einstellparameter 22 eingestellt.
  • Ein Benutzer kann, wie oben beschrieben, bei jeder Parametergruppe intuitiv erkennen, ob diese besser ist, indem er die synthetischen Bilder, die für die Parametergruppen erzeugt werden, und die Suchergebnisse für die Parametergruppen optisch überprüft. Dementsprechend kann der Benutzer eine Parametergruppe auswählen, mit der sich eine gute Suchgenauigkeit erzielen lässt. Folglich kann ein Benutzer ohne Kenntnis des Bildverarbeitungsprogramms 20 das Einstellen einer optimalen Parametergruppe durchführen und das Einstellen von Parametern für das Bildverarbeitungsprogramm 20 unterstützen.
  • Bei einem oder mehreren Ausführungsbeispielen zeigt der Anzeigeteil 102 zusätzlich evaluierte Werte für die Parametergruppen 28A bis 28C an. Als evaluierte Werte werden beispielsweise Ausführungszeiten angezeigt, zu denen die Parametergruppen 28A bis 28C bei dem Bildverarbeitungsprogramm 20 angewendet werden. Insbesondere weist die Bildverarbeitungsvorrichtung 100 eine Taktfunktion eines Zählers oder dergleichen auf und speichert für jede Parametergruppe eine Ausführungszeit vom Beginn bis zum Ende des Bildverarbeitungsprogramms. Der Anzeigeteil 102 zeigt gleichzeitig mit dem entsprechenden synthetischen Bild die Ausführungszeit für jede Parametergruppe an.
  • Die Ausführungszeit verlängert sich im Allgemeinen mit zunehmender Suchgenauigkeit, und die Suchgenauigkeit verringert sich bei kürzerer Ausführungszeit. Ein Benutzer kann solche widersprüchlichen Kennzahlen optisch vergleichen und unter umfassender Berücksichtigung der Suchgenauigkeit und der Ausführungszeit eine Parametergruppe auswählen. Dementsprechend kann der Benutzer problemlos eine optimale Parametergruppe einstellen, mit der sich eine gewünschte Suchgenauigkeit und Ausführungszeit umsetzen lässt.
  • Ein Beispiel, bei dem die Ausführungszeit des Bildverarbeitungsprogramms 20 als evaluierter Wert für jede Parametergruppe angezeigt wird, ist oben beschrieben worden, der anzuzeigende evaluierte Wert ist nicht auf die Ausführungszeit beschränkt. So kann beispielsweise, wenn jede Parametergruppe bei dem Bildverarbeitungsprogramm 20 angewendet wird, die Suchgenauigkeit oder eine Erkennungsrate für ein Suchobjekt oder dergleichen als evaluierter Wert für jede Parametergruppe angezeigt werden. Insbesondere erzeugt die Bildverarbeitungsvorrichtung 100 auf der Grundlage des Eingabebilds 30 mehrere künstliche Bilder. Ein künstliches Bild wird beispielsweise durch Ändern von Pixelpositionen im Eingabebild 30 oder Anwenden einer vorgegebenen Umgebungsvariation auf das Eingabebild 30 erzeugt. Die Bildverarbeitungsvorrichtung 100 führt an den erzeugten künstlichen Bildern für die Parametergruppen einen Suchprozess durch. Die Bildverarbeitungsvorrichtung 100 ermittelt die Suchgenauigkeit oder die Erkennungsrate durch Sammeln der Suchergebnisse in den künstlichen Bildern für jede Parametergruppe.
  • 2 stellt ein Beispiel dar, bei dem drei Parametergruppen 28 gespeichert werden, die Anzahl der im Vorhinein erstellten Parametergruppen jedoch nicht sonderlich beschränkt ist. Die Anzahl der im Vorhinein erstellten Parametergruppen ist größer gleich zwei.
  • Pyramiden-Algorithmus
  • Der Pyramiden-Algorithmus, der von dem Programmausführungsteil 151 ausgeführt wird, wird nachfolgend unter Bezugnahme auf 2 und 4 beschrieben. 4 ist eine Konzeptdarstellung, die einen Pyramiden-Algorithmus schematisch darstellt.
  • Wie in 4 dargestellt ist, erzeugt der Programmausführungsteil 151 eine Bildergruppe mit unterschiedlichen Auflösungen (das heißt, ein Pyramidenbild 32A) aus dem Eingabebild 30. Anders ausgedrückt verkleinert der Programmausführungsteil 151 das Eingabebild 30 um einen vorgegebenen Maßstab (zum Beispiel die Hälfte) und erzeugt bei jedem Verkleinerungsfaktor ein Bild als Pyramidenbild 32A. Bei dem in 4 dargestellten Beispiel wird das Pyramidenbild 32A aus dem Eingabebild 30 erzeugt und enthält die Bilder 41 bis 43 (eine Bildergruppe) mit unterschiedlichen Auflösungen.
  • Der Programmausführungsteil 151 sucht der Reihe nach ein Suchobjekt in dem Bild mit einer geringsten Auflösung unter den Bildern 41 bis 43. Insbesondere gewinnt der Programmausführungsteil 151 aus der Vorlagengruppe 31 eine Vorlage 31A, die der Auflösung des Bilds 41 entspricht. Der Programmausführungsteil 151 tastet das Bild 41 mit der Vorlage 31A ab und berechnet einen Ähnlichkeitsgrad zwischen jedem Ausschnitt in dem Bild 41 und der Vorlage 31A. Als Verfahren zum Berechnen des Ähnlichkeitsgrads wird ein beliebiger Algorithmus, wie beispielsweise Summe der quadrierten Differenz (SSD - Sum of Squared Differences), Summe der absoluten Differenzen (SAD - Sum of Absolute Differences), normierte Kreuzkorrelation (NCC - Normalized Cross-Correlation) oder mittelwertfreie normierte Kreuzkorrelation (ZNCC), eingesetzt. Der Programmausführungsteil 151 ermittelt unter den Bildausschnitten im Suchbereich einen Bildausschnitt, dessen Ähnlichkeitsgrad über dem Suchschwellwert th1 der Parametergruppe 28A liegt, und stellt diesen als Kandidat ein, der das Suchobjekt enthält. Bei dem in 4 dargestellten Beispiel werden die Bildausschnitte 41A und 41B als Kandidaten für den Bildausschnitt ermittelt, der das Suchobjekt enthält.
  • Dann gewinnt der Programmausführungsteil 151 aus der Vorlagengruppe 31 eine Vorlage 31B, die der Auflösung des Bilds 42 entspricht. Danach stellt der Programmausführungsteil 151 Bildausschnitte 42A und 42B, die den Bildausschnitten 41A und 41B entsprechen, welche als Kandidaten angegeben sind, die das Suchobjekt enthalten, als Suchbereich ein. Der Programmausführungsteil 151 tastet die Bildausschnitte 42A und 42B mit der Vorlage 31B ab und berechnet Ähnlichkeitsgrade zwischen Ausschnitten in den Bildausschnitten 42A und 42B und der Vorlage 31B. Der Programmausführungsteil 151 ermittelt unter den Bildausschnitten im Suchbereich einen Bildausschnitt, dessen Ähnlichkeitsgrad über einem Suchschwellwert th2 der Parametergruppe 28A liegt, und stellt diesen als Kandidat ein, der das Suchobjekt enthält. Bei dem in 4 dargestellten Beispiel wird der Bildausschnitt 42A als Kandidat ermittelt, der das Suchobjekt enthält.
  • Dann gewinnt der Programmausführungsteil 151 aus der Vorlagengruppe 31 eine Vorlage 31C, die der Auflösung des Bilds 43 entspricht. Danach stellt der Programmausführungsteil 151 einen Bildausschnitt 43A, der dem Bildausschnitt 42A entspricht, welcher als Kandidat angegeben ist, der das Suchobjekt enthält, als Suchbereich ein. Der Programmausführungsteil 151 tastet das Bild 43C mit der Vorlage 31C ab und berechnet Ähnlichkeitsgrade zwischen Ausschnitten in dem Bildausschnitt 43A und der Vorlage 31C. Der Programmausführungsteil 151 ermittelt unter den Bildausschnitten im Suchbereich einen Bildausschnitt, dessen Ähnlichkeitsgrad über einem Suchschwellwert th3 der Parametergruppe 28A liegt, und stellt diesen als Kandidat ein, der das Suchobjekt enthält.
  • Auf diese Weise sucht der Programmausführungsteil 151 ein Suchobjekt der Reihe nach in dem Bild mit einer geringsten Auflösung unter den Bildern des Pyramidenbilds und schränkt dabei den Suchbereich in einem Bild mit einer nächsthöheren Auflösung auf der Grundlage der Suchergebnisse in den Bildern ein. Der zum Schluss übrigbleibende Kandidat wird als Suchergebnis ausgegeben. Das Suchergebnis wird beispielsweise in Form von Koordinatenwerten in dem Eingabebild 30 wiedergegeben.
  • Bei dem in 2 dargestellten Beispiel gibt der Programmausführungsteil 151 das Pyramidenbild 32A und das Suchergebnis 33A als Ergebnis der Anwendung der Parametergruppe 28A bei dem Bildverarbeitungsprogramm 20 aus. In gleicher Weise gibt der Programmausführungsteil 151 das Pyramidenbild 32B und das Suchergebnis 33B als Ergebnis der Anwendung der Parametergruppe 28B bei dem Bildverarbeitungsprogramm 20 aus. In gleicher Weise gibt der Programmausführungsteil 151 das Pyramidenbild 32C und das Suchergebnis 33C als Ergebnis der Anwendung der Parametergruppe 28C bei dem Bildverarbeitungsprogramm 20 aus. Die Pyramidenbilder 32A bis 32C werden an den Syntheseteil 152 und die Suchergebnisse 33A bis 33C an den Anzeigeteil 102 ausgegeben.
  • Synthetisierungsprozess
  • Nachfolgend wird unter Bezugnahme auf die 2, 5 und 6 ein Prozess zur Synthetisierung eines Pyramidenbilds beschrieben, der von dem Syntheseteil 152 durchgeführt wird. 5 ist eine Konzeptdarstellung, die den Prozess zur Synthetisierung eines Pyramidenbilds schematisch darstellt, der von dem Syntheseteil 152 durchgeführt wird.
  • Bei dem in 5 dargestellten Beispiel wird ein Synthetisierungsprozess an einem Pyramidenbild durchgeführt, in dem eine Person vorkommt, der Synthetisierungsprozess kann jedoch auch an einem Pyramidenbild durchgeführt werden, in dem ein Werkstück vorkommt.
  • Die Bilder 41 bis 44, die aus dem Eingabebild 40 erzeugt werden, sind in 5 dargestellt. Die Bilder 41 bis 44 werden dadurch gewonnen, dass ein Kantenextraktionsfilter wie ein Differenzfilter auf ein aus dem Eingabebild 40 erzeugtes Pyramidenbild angewendet wird. Bei dem in 5 dargestellten Beispiel werden die Bilder 41 bis 44 auf der Grundlage von Kantenschwellwerten thA bis thD der Parametergruppen 28 in einen Kantenabschnitt und einen Nichtkantenabschnitt binarisiert, wobei der Kantenabschnitt in Weiß und der Nichtkantenabschnitt in Schwarz wiedergegeben ist. Ein Pixelwert des Kantenabschnitts ist typischerweise als „1“ und ein Pixelwert des Nichtkantenabschnitts als „0“ definiert.
  • Der Syntheseteil 152 erzeugt aus den Bildern 41 bis 43 ein Zwischenbild 45 und aus dem Zwischenbild 45 und dem Bild 44 ein synthetisches Bild 46. Insbesondere passt der Syntheseteil 152 die Größe der Bilder 41 bis 43 an und synthetisiert dann Pixelwerte mit den gleichen Koordinaten zwecks Erzeugens des Zwischenbilds 45. Der Synthetisierungsprozess setzt eine beliebige Operation wie eine UND-Operation, eine ODER-Operation oder eine Additionsoperation ein.
  • Danach passt der Syntheseteil 152 die Größe des Bilds 44 und des Zwischenbilds 45 an und synthetisiert das Bild 44 und das Zwischenbild 45 zwecks Erzeugens eines synthetischen Bilds 46. Zu diesem Zeitpunkt erzeugt der Syntheseteil 152 das synthetische Bild 46, so dass Differenzen bei Pixelwerten zwischen dem Bild 44 und dem Zwischenbild 45 angezeigt werden. Es ist wahrscheinlich, dass Kanten bei den Bildern 41 bis 43 mit niedriger Auflösung verloren gehen. Bezüglich des synthetischen Bildes 46, kann das synthetische Bild 46 durch Ermitteln der verloren gegangenen Kanten erzeugt werden. Der Pixelwert bei dem synthetischen Bild 46 ist zum Beispiel in Abschnitten, die sowohl in dem Bild 44 als auch in dem Zwischenbild 45 eine gültige Kante angeben, „2“, in Abschnitten, die in dem Bild 44 eine gültige Kante und in dem Zwischenbild 45 eine ungültige Kante angeben, „1“ und in Abschnitten, die sowohl in dem Bild 44 als auch in dem Zwischenbild 45 eine ungültige Kante aufweisen, „0“.
  • Anzeigeprozess
  • Nachfolgend wird unter Bezugnahme auf 6 ein Anzeigeprozess beschrieben, der von dem Anzeigeteil 102 durchgeführt wird. 6 ist ein Schaubild, das einen Anzeigemodus des Anzeigeteils 102 darstellt.
  • Der Anzeigeteil 102 zeigt synthetische Bilder 46 bis 48 an, die von dem Syntheseteil 152 für die Parametergruppen 28A bis 28C erzeugt werden. Die synthetischen Bilder 46 bis 48 werden wie oben beschrieben so erzeugt, dass im Verlauf des Ausführens des Pyramiden-Algorithmus verloren gegangene Kanten ermittelt werden können. Der Anzeigeteil 102 zeigt die synthetischen Bilder 46 bis 48 in einem Modus an, in dem sich solche verloren gegangenen Kantenabschnitte ermitteln lassen. Bei dem in 6 dargestellten Beispiel sind ein Kantenabschnitt, der im Verlauf des Ausführens des Pyramiden-Algorithmus nicht verloren gegangen ist, in Weiß und ein Kantenabschnitt, der im Verlauf des Ausführens des Pyramiden-Algorithmus verloren gegangen ist, in Grau und die anderen Abschnitte in Schwarz dargestellt. Dieser Unterschied kann in verschiedenen Farben angezeigt werden. Durch diese Anzeige kann ein Benutzer problemlos einen Grund für ein schlechtes Suchergebnis erkennen und problemlos bestimmen, wie geeignet jede Parametergruppe ist.
  • Der Anzeigeteil 102 zeigt das Suchergebnis des Pyramiden-Algorithmus für jede Parametergruppe in dem entsprechenden synthetischen Bild an. Es wird zum Beispiel davon ausgegangen, dass ein Suchobjekt (zum Beispiel ein Auge) nicht mit der Parametergruppe 28A, aber mit den Parametergruppen 28B und 28C gesucht worden ist. In diesem Fall zeigt der Anzeigeteil 102 kein Suchergebnis für das synthetische Bild 46, das der Parametergruppe 28A entspricht, und die Suchergebnisse 47A und 48A nur in den synthetischen Bildern 47 und 48 an, die den Parametergruppen 28B und 28C entsprechen.
  • Modifiziertes Beispiel
  • 5 stellt ein Beispiel dar, bei dem der Syntheseteil 152 das Zwischenbild 45 aus einigen Bildern 41 bis 43 des Pyramidenbilds und das synthetische Bild 46 aus dem anderen Bild 44 und dem Zwischenbild 45 erzeugt, das von dem Syntheseteil 152 ausgeführte Syntheseverfahren ist jedoch nicht auf das in 5 dargestellte Beispiel beschränkt. Der Syntheseteil 152 kann beispielsweise das synthetische Bild 46 erzeugen, ohne das Zwischenbild 45 zu erzeugen. In diesem Fall passt der Syntheseteil 152 die Auflösungen der Bilder an, die das Pyramidenbild bilden, und erzeugt dann aus der Bildergruppe ein synthetisches Bild.
  • Nachfolgend wird der Reihe nach ein erstes und ein zweites modifiziertes Beispiel für den Synthetisierungsprozess beschrieben, der von dem Syntheseteil 152 ausgeführt wird.
  • 7 ist eine Konzeptdarstellung, die einen Synthetisierungsprozess gemäß dem ersten modifizierten Beispiel schematisch darstellt. In 7 sind Bilder 51 bis 54 dargestellt, die durch inverses Umwandeln des Pyramidenbilds (zum Beispiel der Bilder 41 bis 44) mit einer vorgegebenen gleichen Auflösung (einer gleichen Größe) erhalten werden. Die Bilder 51 bis 54 werden in einen Kantenabschnitt und einen Nichtkantenabschnitt binarisiert, wobei der Kantenabschnitt in Weiß angezeigt und der Nichtkantenabschnitt schraffiert ist. Der Pixelwert des Kantenabschnitts ist typischerweise als „1“ und der Pixelwert des Nichtkantenabschnitts als „0“ definiert.
  • Der Syntheseteil 152 führt an den Pixelwerten mit den gleichen Koordinaten in den binarisierten Bildern 51 bis 54 eine UND-Operation durch und erzeugt als Ergebnis der UND-Operation ein synthetisches Bild 46-1. Bei den Pixeln 51A bis 54A mit den gleichen Koordinaten in den Bildern 51 bis 54 ist beispielsweise, da der Pixelwert des Pixels 51A0“, der Pixelwert des Pixels 52A0“, der Pixelwert des Pixels 53A1“ und der Pixelwert des Pixels 54A „1“ ist, das Ergebnis der UND-Operation „0“. Folglich hat das Pixel 56 im synthetischen Bild 46-1, das den Pixeln 51A bis 54A entspricht, einen Pixelwert „0“. Der Syntheseteil 152 führt diese UND-Operation an allen Pixeln durch.
  • Auf diese Weise führt der Syntheseteil 152 die UND-Operation an den Pixelwerten mit den gleichen Koordinaten in den Bildern 51 bis 54 mit der gleichen Auflösung durch und gibt als Ergebnis der UND-Operation ein synthetisches Bild 46-1 aus. Ein Benutzer kann einen Abschnitt, der in allen Schichten dadurch eine gültige Kante angibt, dass er das synthetische Bild 46-1, das der UND-Operation unterzogen wird, bestätigt, problemlos erkennen. Alternativ dazu kann ein Benutzer problemlos einen Abschnitt erkennen, der in manchen Schichten eine ungültige Kante angibt.
  • 8 ist eine Konzeptdarstellung, die einen Synthetisierungsprozess gemäß dem zweiten modifizierten Beispiel schematisch darstellt. In 8 sind die gleichen Bilder 51 bis 54 wie in 7 dargestellt.
  • Bei diesem modifizierten Beispiel führt der Syntheseteil 152 an den Pixelwerten mit den gleichen Koordinaten in den binarisierten Bildern 51 bis 54 eine ODER-Operation durch und erzeugt als Ergebnis der ODER-Operation ein synthetisches Bild 46-2. Bei den Pixeln 51A bis 54A mit den gleichen Koordinaten in den Bildern 51 bis 54 ist beispielsweise, da der Pixelwert des Pixels 51A „0“, der Pixelwert des Pixels 52A „0“, der Pixelwert des Pixels 53A „1“ und der Pixelwert des Pixels 54A „1“ ist, das Ergebnis der ODER-Operation „1“. Folglich hat das Pixel 56 im synthetischen Bild 46-2, das den Pixeln 51A bis 54A entspricht, einen Pixelwert „1“. Der Syntheseteil 152 führt diese ODER-Operation an allen Pixeln durch.
  • Auf diese Weise führt der Syntheseteil 152 die ODER-Operation an den Pixelwerten mit den gleichen Koordinaten in den Bildern 51 bis 54 durch, deren Auflösungen angeordnet sind, und gibt als Ergebnis der ODER-Operation ein synthetisches Bild 46-2 aus. Ein Benutzer kann einen Abschnitt, der eine gültige Kante dadurch angibt, dass er das synthetische Bild 46-2, das der ODER-Operation unterzogen wird, bestätigt, teilweise problemlos erkennen. Alternativ dazu kann ein Benutzer problemlos einen Abschnitt erkennen, der in allen Schichten eine ungültige Kante angibt.
  • 9 ist eine Konzeptdarstellung, die einen Synthetisierungsprozess gemäß dem dritten modifizierten Beispiel schematisch darstellt. In 9 sind die gleichen Bilder 51 bis 54 wie in 7 dargestellt.
  • Bei diesem modifizierten Beispiel synthetisiert der Syntheseteil 152 die Pixelwerte mit den gleichen Koordinaten in den Bildern 51 bis 54 mit der gleichen Auflösung, so dass keine Informationen zu Pixelwerten verloren gehen, und gibt als Syntheseergebnis ein Synthesebild 46-3 aus. Insbesondere werden den Pixeln des synthetischen Bilds 46-3 Bitfolgen mit zumindest der gleichen Anzahl Bits wie in den Bildern 51 bis 54 zugewiesen. Ein Pixelwert eines entsprechenden Pixels in dem Bild 51, das einer ersten Schicht des Pyramidenbilds entspricht, ist in dem ersten Bit jedes Pixels des synthetischen Bilds 46-3 wiedergegeben. Ein Pixelwert eines entsprechenden Pixels in dem Bild 52, das einer zweiten Schicht des Pyramidenbilds entspricht, ist in dem zweiten Bit jedes Pixels des synthetischen Bilds 46-3 wiedergegeben. Ein Pixelwert eines entsprechenden Pixels in dem Bild 53, das einer dritten Schicht des Pyramidenbilds entspricht, ist in dem dritten Bit jedes Pixels des synthetischen Bilds 46-3 wiedergegeben. Ein Pixelwert eines entsprechenden Pixels in dem Bild 54, das einer vierten Schicht des Pyramidenbilds entspricht, ist in dem vierten Bit jedes Pixels des synthetischen Bilds 46-3 wiedergegeben.
  • Der Synthetisierungsprozess gemäß diesem modifizierten Beispiel wird beispielsweise anhand der Pixel 51A bis 54A mit den gleichen Koordinaten in den Bildern 51 bis 54 beschrieben. 10 ist ein Schaubild, das den Prozess der Synthetisierung der Pixel 51A bis 54A schematisch darstellt.
  • Dem Pixel 56 in dem synthetischen Bild 46-3 mit den gleichen Koordinaten wie die Pixel 51A bis 54A wird eine Bitfolge mit der gleichen Anzahl Bits wie in den Bildern 51 bis 54 zugewiesen. Bei dem in 10 dargestellten Beispiel wird dem Pixel 56 in dem synthetischen Bild 46-3 eine Bitfolge von vier Bits zugewiesen. Der Wert des Pixels 51A in dem Bild 51 der ersten Schicht ist in dem ersten Bit des Pixels 56 in dem synthetischen Bild 46-3 wiedergegeben. Wenn das Pixel 51A beispielsweise einen Pixelwert „0“ hat, ist „0“ in dem ersten Bit des Pixels 56 wiedergegeben. Der Wert des Pixels 52A in dem Bild 52 der zweiten Schicht ist in dem zweiten Bit des Pixels 56 in dem synthetischen Bild 46-3 wiedergegeben. Wenn das Pixel 52A beispielsweise einen Pixelwert „0“ hat, ist „0“ in dem zweiten Bit des Pixels 56 wiedergegeben. Der Wert des Pixels 53A in dem Bild 53 der dritten Schicht ist in dem dritten Bit des Pixels 56 in dem synthetischen Bild 46-3 wiedergegeben. Wenn das Pixel 53A beispielsweise einen Pixelwert „1“ hat, ist „1“ in dem dritten Bit des Pixels 56 wiedergegeben. Der Wert des Pixels 54A in dem Bild 54 der vierten Schicht ist in dem vierten Bit des Pixels 56 in dem synthetischen Bild 46-3 wiedergegeben. Wenn das Pixel 54A beispielsweise einen Pixelwert „1“ hat, ist „1“ in dem vierten Bit des Pixels 56 wiedergegeben. Folglich lautet die Bitfolge des Pixels 56 des synthetischen Bilds 46-3 (1, 1, 0, 0).
  • Der Syntheseteil 152 führt diesen Synthetisierungsprozess an den Pixeln mit den gleichen Koordinaten in den Bildern 51 bis 54 durch. Folglich wird das in 9 dargestellte synthetische Bild 46-3 erzeugt. Durch diesen Synthetisierungsprozess kann der Syntheseteil 152 die binarisierten Bilder 51 bis 54 synthetisieren, so dass keine Informationen zu Pixelwerten der Pixel verloren gehen.
  • Die Bildverarbeitungsvorrichtung 100 zeigt das erzeugte synthetische Bild 46-3 in einem vorgegebenen Anzeigemodus an. Die Bildverarbeitungsvorrichtung 100 zeigt das synthetische Bild 46-3 beispielsweise an und ändert dabei je nach Pixelwert eine Abstufung. Alternativ dazu werden im Vorhinein verschiedene Farben mit den Pixelwerten korreliert, und die Bildverarbeitungsvorrichtung 100 zeigt das synthetische Bild 46-3 an und ändert dabei je nach Pixelwert die Farbe. Durch Anzeigen des synthetischen Bilds 46-3 auf diese Weise kann ein Benutzer problemlos bestätigen, in welcher Schicht Kanteninformationen verloren gegangen sind, und problemlos eine Programmanalyse durchführen.
  • Die obige Beschreibung beruht auf der Annahme, dass der Syntheseteil 152 eine Binarisierung durchführt und dann das synthetische Bild 46 erzeugt, der Syntheseteil 152 kann jedoch das synthetische Bild 46 ohne Durchführen einer Binarisierung erzeugen. In diesem Fall stimmt der Syntheseteil 152 die Auflösungen des aus dem Eingabebild 40 erzeugten Pyramidenbilds ab und synthetisiert dann die Pixelwerte mit den gleichen Koordinaten. Der Synthetisierungsprozess setzt eine beliebige Operation, wie eine MAX-Operation mit einem maximalen Pixelwert, eine MIN-Operation mit einem minimalen Pixelwert oder eine Additionsoperation mit Pixelwerten, ein.
  • Bei einem oder mehreren Ausführungsbeispielen speichert die Bildverarbeitungsvorrichtung 100 Binarisierungsergebnisse für die Bilder 51 bis 54, die die Schichten bilden. Dementsprechend ist es möglich, problemlos zu interpretieren, in welcher Schicht eine Kante gültig oder ungültig ist.
  • Konfiguration der Bildverarbeitungsvorrichtung 100
  • Nachfolgend wird unter Bezugnahme auf 11 eine Hardware-Konfiguration der in 1 dargestellten Bildverarbeitungsvorrichtung 100 beschrieben. 11 ist ein Schaubild, das ein Beispiel für die Hardware-Konfiguration der Bildverarbeitungsvorrichtung 100 gemäß der Ausführungsform schematisch darstellt.
  • Die Bildverarbeitungsvorrichtung 100 weist einen Aufbau auf, der auf einer allgemeinen Computerarchitektur beruht, und realisiert diverse Bildverarbeitung, die später noch beschrieben wird, indem sie einen Computer dazu veranlasst, ein Programm auszuführen, das zuvor installiert wurde.
  • Insbesondere weist die Bildverarbeitungsvorrichtung 100 eine Steuervorrichtung 110 wie eine Zentraleinheit (CPU - Central Processing Unit) oder eine Mikroprozessoreinheit (MPU - Micro-Processor Unit), einen Direktzugriffsspeicher (RAM - Random Access Memory) 112, eine Anzeigesteuerung 114, eine Systemsteuerung 116, eine Ein-/Ausgabe-Steuereinheit (E/A-Steuereinheit) 118, eine Speichervorrichtung 120, eine Kameraschnittstelle 122, eine Eingabeschnittstelle 124, eine SPS-Schnittstelle 126, eine Kommunikationsschnittstelle 128 und eine Speicherkartenschnittstelle 130 auf. Diese Teile sind mit der Systemsteuerung 116 als Zentrum so miteinander verbunden, dass sie untereinander Daten austauschen können.
  • Die Steuervorrichtung 110 realisiert einen Zielberechnungsprozess durch Austauschen von Programmen (Codes) mit der Systemsteuerung 116 und Ausführen der Programme in einer vorgegebenen Reihenfolge. Die Systemsteuerung 116 ist mit der Steuervorrichtung 110, dem RAM 112, der Anzeigesteuerung 114 und der E/A-Steuereinheit 118 über einen Bus verbunden, tauscht Daten mit den Teilen aus und steuert die gesamten Prozesse der Bildverarbeitungsvorrichtung 100.
  • Bei dem RAM 112 handelt es sich typischerweise um einen flüchtigen Speicher wie einen dynamischen Direktzugriffsspeicher (DRAM - Dynamic RAM), und er enthält ein aus der Speichervorrichtung 120 ausgelesenes Programm, ein von dem Abbildungsteil 8 gewonnenes Eingabebild, ein Prozessergebnis zum Eingabebild, Werkstückdaten und dergleichen.
  • Die Anzeigesteuerung 114 ist mit dem Anzeigeteil 102 verbunden und gibt einem internen Befehl aus der Systemsteuerung 116 entsprechend Signale zum Anzeigen verschiedener Informationen an den Anzeigeteil 102 aus. Der Anzeigeteil 102 weist beispielsweise eine Flüssigkristallanzeige oder eine organische Elektrolumineszenz-Anzeige (EL-Anzeige) auf.
  • Die E/A-Steuereinheit 118 steuert den Datenaustausch mit einem Aufzeichnungsmedium oder einer externen Vorrichtung, die mit der Bildverarbeitungsvorrichtung 100 verbunden ist. Die E/A-Steuereinheit 118 ist insbesondere mit der Speichervorrichtung 120, der Kameraschnittstelle 122, der Eingabeschnittstelle 124, der SPS-Schnittstelle 126, der Kommunikationsschnittstelle 128 und der Speicherkartenschnittstelle 130 verbunden.
  • Bei der Speichervorrichtung 120 handelt es sich in der Regel um eine nichtflüchtige magnetische Speichervorrichtung, die zusätzlich zu dem Bildverarbeitungsprogramm 20, das von der Steuervorrichtung 110 ausgeführt wird, verschiedene Einstellwerte und dergleichen speichert. Ein von dem Abbildungsteil 8 gewonnenes Eingabebild wird in der Speichervorrichtung 120 gespeichert. Statt der Speichervorrichtung 120 kann eine Halbleiterspeichervorrichtung wie ein Flash-Speicher oder eine optische Speichervorrichtung wie ein DVD-RAM (Digital Versatile Disk Random Access Memory) eingesetzt werden.
  • Die Kameraschnittstelle 122 entspricht einem Eingabeteil, der Bilddaten empfängt, die durch Abbilden eines Werkstücks W (eines Suchobjekts) erzeugt werden, und eine Datenübertragung zwischen der Steuervorrichtung 110 und dem Abbildungsteil 8 weiterleitet. Die Kameraschnittstelle 122 kann insbesondere mit einem oder mehreren Abbildungsteilen 8 verbunden sein, und von der Steuervorrichtung 110 wird über die Kameraschnittstelle 122 eine Abbildungsanweisung an den Abbildungsteil 8 ausgegeben. Dementsprechend nimmt der Abbildungsteil 8 einen Gegenstand auf und gibt über die Kameraschnittstelle 122 ein erzeugtes Bild an die Steuervorrichtung 110 aus.
  • Die Eingabeschnittstelle 124 leitet eine Datenübertragung zwischen der Steuervorrichtung 110 und einer Eingabevorrichtung wie einer Tastatur 104, einer Maus, einem Bildschirmtastfeld und einer dedizierten Konsole weiter. Das heißt, die Eingabeschnittstelle 124 empfängt einen Operationsbefehl, der als Reaktion auf eine Benutzeroperation an der Eingabevorrichtung ausgegeben wird.
  • Die SPS-Schnittstelle 126 leitet eine Datenübertragung zwischen der Steuervorrichtung 110 und der SPS 5 weiter. Insbesondere überträgt die SPS-Schnittstelle 126 Informationen, die für einen Fertigungsstreckenzustand relevant sind, der von der SPS 5 gesteuert wird, für ein Werkstück W relevante Informationen oder dergleichen zur Steuervorrichtung 110.
  • Die Kommunikationsschnittstelle 128 leitet eine Datenübertragung zwischen der Steuervorrichtung 110 und einem weiteren Personalcomputer oder einer nicht dargestellten Server-Vorrichtung weiter. Die Kommunikationsschnittstelle 128 weist typischerweise Ethernet (eingetragenes Markenzeichen), einen USB (Universal Serial Bus) oder dergleichen auf. Wie später noch beschrieben wird, kann, statt ein Programm, das in der Speicherkarte 106 gespeichert ist, in der Bildverarbeitungsvorrichtung 100 zu installieren, ein Programm, das von einem Zustell-Server oder dergleichen heruntergeladen wird, über die Kommunikationsschnittstelle 128 in der Bildverarbeitungsvorrichtung 100 installiert werden. Die Kommunikationsschnittstelle 128 empfängt beispielsweise ein Signal, das einen Zustand des Abbildungsteils 8 angibt, von dem Abbildungsteil 8, der SPS 5 oder dergleichen. Das Signal gibt an, ob der Abbildungsteil 8 ein Bild aufnimmt.
  • Die Speicherkartenschnittstelle 130 leitet eine Datenübertragung zwischen der Steuervorrichtung 110 und der Speicherkarte 106 weiter, bei der es sich um ein computerlesbares Aufzeichnungsmedium handelt. Das heißt, die Speicherkarte 106 wird in einem Zustand vertrieben, in dem das Bildverarbeitungsprogramm 20, das von der Bildverarbeitungsvorrichtung 100 ausgeführt wird, gespeichert ist, und die Speicherkartenschnittstelle 130 liest das Bildverarbeitungsprogramm 20 aus der Speicherkarte 106 aus. Die Speicherkartenschnittstelle 130 schreibt als Reaktion auf einen internen Befehl der Steuervorrichtung 110 ein von dem Abbildungsteil 8 gewonnenes Kamerabild und/oder Prozessergebnisse aus der Bildverarbeitungsvorrichtung 100 auf die Speicherkarte 106. Die Speicherkarte 106 umfasst eine Universal-Halbleiterspeichervorrichtung wie eine sichere digitale [Speicherkarte] (SD), ein Magnetaufzeichnungsmedium wie eine Floppy Disk oder ein optisches Aufzeichnungsmedium wie eine CD-ROM (Compact Disk Read-Only Memory).
  • Wenn ein Computer mit dem auf einer allgemeinen Computerarchitektur beruhenden Aufbau verwendet wird, kann zusätzlich zu Anwendungen zum Bereitstellen von mit der Ausführungsform verknüpften Funktionen ein Betriebssystem (BS) zum Bereitstellen von Grundfunktionen des Computers in dem Computer installiert werden. In diesem Fall kann es sich bei dem Bildverarbeitungsprogramm gemäß dieser Ausführungsform um ein Programm handeln, das in einer vorgegebenen Reihenfolge und/oder zu einem vorgegebenen Zeitpunkt unter Programmmodulen, die als Bestandteil des BS bereitgestellt werden, ein erforderliches Modul aufruft und eine Verarbeitung ausführt. Das heißt, das Programm muss gemäß der Ausführungsform nicht selbst das oben erwähnte Modul enthalten, und die Verarbeitung kann im Zusammenspiel mit dem BS erfolgen. Dementsprechend ist es möglich, dass das Bildverarbeitungsprogramm gemäß der Ausführungsform einige Module nicht enthält.
  • Das Bildverarbeitungsprogramm gemäß der Ausführungsform kann Bestandteil eines anderen Programms sein und bereitgestellt werden. In diesem Fall enthält das Programm selbst kein in dem anderen Programm enthaltenes Modul, das wie oben beschrieben kombiniert werden kann, und die Verarbeitung erfolgt im Zusammenspiel mit dem anderen Programm. Das heißt, das Bildverarbeitungsprogramm gemäß der Ausführungsform kann in ein anderes Programm integriert sein.
  • Alternativ dazu können manche oder alle Funktionen, die durch Ausführen des Bildverarbeitungsprogramms bereitgestellt werden, als dedizierte Hardware-Schaltung ausgeführt sein.
  • Steuerstruktur der Bildverarbeitungsvorrichtung 100
  • Nachfolgend wird unter Bezugnahme auf 12 eine Steuerstruktur der Bildverarbeitungsvorrichtung 100 beschrieben. 12 ist ein Ablaufdiagramm, das einen Teil einer von der Bildverarbeitungsvorrichtung 100 ausgeführten Prozessroutine darstellt. Die in 12 dargestellte Prozessroutine wird ausgeführt, indem die Steuervorrichtung 110 der Bildverarbeitungsvorrichtung 100 dazu veranlasst wird, ein Programm auszuführen. Bei einer anderen Ausführungsform kann ein Teil oder die gesamte Prozessroutine durch ein Schaltungselement oder andere Hardware ausgeführt sein.
  • In Schritt S110 gewinnt die Steuervorrichtung 110 mehrere Parametergruppen, die als Kandidaten dienen und in dem Bildverarbeitungsprogramm 20 eingestellt werden. Die Kandidaten für die Parametergruppen können im Vorhinein erstellt, beliebig von einem Benutzer oder nach dem Zufallsprinzip eingestellt werden.
  • In Schritt S112 dient die Steuervorrichtung 110 als Programmausführungsteil 151 (siehe 2) und wendet eine nicht angewendete Parametergruppe unter den in Schritt S110 gewonnenen Parametergruppen bei dem Bildverarbeitungsprogramm 20 an. Danach führt die Steuervorrichtung 110 das Bildverarbeitungsprogramm 20 aus und gewinnt ein Pyramidenbild, das im Verlauf des Ausführens erzeugt wird, und Suchergebnisse als Ausführungsergebnisse. Bei einer oder mehreren Ausführungsformen gewinnt die Steuervorrichtung 110 zusätzlich eine Ausführungszeit vom Beginn des Ausführens des Bildverarbeitungsprogramms 20 bis zum Ende der Ausführung.
  • In Schritt S114 dient die Steuervorrichtung 110 als Syntheseteil 152 (siehe 2) und erzeugt aus dem in Schritt S112 gewonnenen Pyramidenbild ein synthetisches Bild. Das Verfahren zum Erzeugen eines synthetischen Bilds gleicht dem oben unter Bezugnahme auf 5, 7 und 8 beschriebenen, und daher wird auf eine erneute Beschreibung davon verzichtet.
  • In Schritt S120 bestimmt die Steuervorrichtung 110, ob das Bildverarbeitungsprogramm 20 für alle in Schritt S110 gewonnenen Parametergruppen ausgeführt worden ist. Wenn bestimmt wird, dass das Bildverarbeitungsprogramm 20 für alle Parametergruppen ausgeführt worden ist (Ja bei Schritt S120), geht die Steuervorrichtung 110 bei der Steuerroutine zu Schritt S122 über. Andernfalls (NEIN in Schritt S120) kehrt die Steuervorrichtung 110 bei der Steuerroutine zu Schritt S112 zurück.
  • In Schritt S122 zeigt die Steuervorrichtung 110 die infolge der Anwendung der Parametergruppen gewonnenen synthetischen Bilder und die Suchergebnisse für die Parametergruppen auf dem Anzeigeteil 102 so an, dass letztere den entsprechenden synthetischen Bildern überlagert sind.
  • In Schritt S130 bestimmt die Steuervorrichtung 110, ob eines der auf dem Anzeigeteil 102 angezeigten synthetischen Bilder ausgewählt worden ist. Diese Auswahloperation wird von einem Operationsempfangsteil (zum Beispiel einer beliebigen Eingabevorrichtung wie einer Maus, einer Tastatur oder einem Bildschirmtastfeld) der Bildverarbeitungsvorrichtung 100 empfangen. Wenn bestimmt wird, dass eines der auf dem Anzeigeteil 102 angezeigten synthetischen Bilder ausgewählt worden ist (Ja in Schritt S130), geht die Steuervorrichtung 110 bei der Steuerroutine zu Schritt S132 über. Andernfalls (NEIN in Schritt S130) führt die Steuervorrichtung 110 den Prozess von Schritt S130 erneut durch.
  • In Schritt S132 dient die Steuervorrichtung 110 als Einstellteil 153 (siehe 2) und wendet die dem ausgewählten synthetischen Bild entsprechende Parametergruppe als Einstellparameter an.
  • Fazit
  • Die Bildverarbeitungsvorrichtung 100 wendet wie oben beschrieben zum Ausführen eines Pyramiden-Algorithmus mehrere vorgegebene Parametergruppen bei dem Bildverarbeitungsprogramm 20 an. Die Bildverarbeitungsvorrichtung 100 gewinnt ein Suchergebnis des Bildverarbeitungsprogramms 20 für jede Parametergruppe und ein Pyramidenbild, das im Verlauf des Ausführens des Bildverarbeitungsprogramms für jede Parametergruppe erhalten wird.
  • Danach erzeugt die Bildverarbeitungsvorrichtung 100 aus dem für jede Parametergruppe gewonnenen Pyramidenbild ein synthetisches Bild und zeigt die synthetischen Bilder und das Suchergebnis für jede Parametergruppe so an, dass letzteres dem entsprechenden synthetischen Bild überlagert ist. Die Bildverarbeitungsvorrichtung 100 ist so konfiguriert, dass sie eines der angezeigten synthetischen Bilder auswählt. Die Bildverarbeitungsvorrichtung 100 stellt die Parametergruppe, die dem ausgewählten synthetischen Bild entspricht, als Einstellparameter 22 des Bildverarbeitungsprogramms 20 ein.
  • Ein Benutzer kann bei jeder Parametergruppe intuitiv erkennen, ob diese besser ist, indem er die synthetischen Bilder und die Suchergebnisse optisch bestätigt. Dann kann der Benutzer die Parametergruppe auswählen, mit der sich eine gute Suchgenauigkeit erzielen lässt. Dementsprechend kann ein Benutzer ohne Kenntnis des Bildverarbeitungsprogramms 20 eine optimale Parametergruppe einstellen und das Einstellen von Parametern für das Bildverarbeitungsprogramm 20 unterstützen. Diese können besonders effektiv wirken, wenn die Anzahl von einzustellenden Parametertypen oder die Gesamtanzahl von Pyramidenbildern hoch ist.Liste der Bezugszeichen [0096]
  • 1
    Bildverarbeitungssystem
    6
    Transportmechanismus
    8
    Abbildungsteil
    20
    Bildverarbeitungsprogramm
    22
    Einstellparameter
    28A, 28B, 28C
    Parametergruppe
    30,40
    Eingabebild
    31
    Vorlagengruppe
    31A, 31B, 31C
    Vorlage
    32A, 32B, 32C
    Pyramidenbild
    33A, 33B, 33C, 47A, 48A
    Suchergebnis
    34A, 34B, 34C, 46,47, 48
    synthetisches Bild
    41, 42, 43, 44, 51, 52, 53, 54
    Bild
    41A, 41B, 42A, 42B, 43A
    Bildausschnitt
    45
    Zwischenbild
    51A, 52A, 53A, 54A, 56
    Pixel
    100
    Bildverarbeitungsvorrichtung
    102
    Anzeigeteil
    104
    Tastatur
    106
    Speicherkarte
    110
    Steuervorrichtung
    112
    RAM
    114
    Anzeigesteuerung
    116
    Systemsteuerung
    118
    E/A-Steuereinheit
    120
    Speichervorrichtung
    122
    Kameraschnittstelle
    124
    Eingabeschnittstelle
    126
    SPS-Schnittstelle
    128
    Kommunikationsschnittstelle
    130
    Speicherkartenschnittstelle
    151
    Programmausführungsteil
    152
    Syntheseteil
    153
    Einstellteil
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2017041190 [0002, 0003]

Claims (11)

  1. Bildverarbeitungsvorrichtung (100), die Folgendes umfasst: einen Bildaufnahmeteil (8), der ein Eingabebild (30, 40) gewinnt, das ein Suchobjekt (W) enthält, einen Programmausführungsteil (151), der eine oder mehrere vorgegebene Parametergruppen (28A, 28B, 28C) bei einem Bildverarbeitungsprogramm (20) anwendet, welches unter Verwendung einer Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen, die aus dem Eingabebild (30, 40) erzeugt wird, das Suchobjekt (W) sucht, aus dem Bildverarbeitungsprogramm (20) ein Suchergebnis (33A, 33B, 33C, 47A, 48A) für jede der einen oder der mehreren Parametergruppen (28A, 28B, 28C) und die Bildergruppe (32A, 32B, 32C), die im Verlauf des Ausführens des Bildverarbeitungsprogramms (20) gewonnen wird, für jede der einen oder der mehreren Parametergruppen (28A, 28B, 28C) gewinnt, einen Syntheseteil (152), der aus jeder der einen oder mehreren gewonnenen Bildergruppen ein synthetisches Bild (34A, 34B, 34C, 46, 47, 48) erzeugt, einen Anzeigeteil (102), der das eine oder die mehreren erzeugten synthetischen Bilder (34A, 34B, 34C, 46, 47, 48) und das eine oder die mehreren gewonnenen Suchergebnisse (33A, 33B, 33C, 47A, 48A) so anzeigt, dass letztere dem einen oder den mehreren synthetischen Bildern (34A, 34B, 34C, 46, 47, 48) überlagert sind, einen Operationsempfangsteil, der eine Operation zum Auswählen eines des einen oder der mehreren synthetischen Bilder (34A, 34B, 34C, 46, 47, 48) empfängt, die auf dem Anzeigeteil (102) angezeigt werden, und einen Einstellteil (153), der die Parametergruppe (28A, 28B, 28C) einstellt, die dem durch die Operation im Bildverarbeitungsprogramm (20) ausgewählten synthetischen Bild (34A, 34B, 34C, 46, 47, 48) entspricht.
  2. Bildverarbeitungsvorrichtung nach Anspruch 1, wobei das Bildverarbeitungsprogramm (20) das Suchobjekt (W) der Reihe nach in einem Bild mit einer geringsten Auflösung in der Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen, die aus dem Eingabebild (30, 40) erzeugt wird, und unter Einschränkung eines Suchbereichs in einem Bild (41, 42, 43, 44, 51, 52, 53, 54) mit einer nächsthöheren Auflösung auf der Grundlage des Suchergebnisses (33A, 33B, 33C, 47A, 48A) in jedem Bild (41, 42, 43, 44, 51, 52, 53, 54) sucht.
  3. Bildverarbeitungsvorrichtung nach Anspruch 2, wobei die Parametergruppe (28A, 28B, 28C), die bei dem Bildverarbeitungsprogramm (20) angewendet wird, eine Schwellwertgruppe (th1, th2, th3, th4), die zum Bestimmen verwendet wird, ob das Suchobjekt (W) in jedem Bild (41, 42, 43, 44, 51, 52, 53, 54) enthalten ist, als die Schwellwertgruppe (th1, th2, th3, th4) enthält, die auf jedes Bild (41, 42, 43, 44, 51, 52, 53, 54) der Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen angewendet wird, welche aus dem Eingabebild (30, 40) erzeugt wird.
  4. Bildverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 3, wobei der Anzeigeteil (102) zusätzlich einen evaluierten Wert für jede der einen oder der mehreren Parametergruppen (28A, 28B, 28C) anzeigt.
  5. Bildverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei der Syntheseteil (152) die Auflösungen der aus dem Eingabebild (30, 40) erzeugten Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen anpasst und dann aus der Bildergruppe (32A, 32B, 32C) ein synthetisches Bild (34A, 34B, 34C, 46, 47, 48) erzeugt.
  6. Bildverarbeitungsvorrichtung nach Anspruch 5, wobei das Bildverarbeitungsprogramm (20) die aus dem Eingabebild (30, 40) erzeugte Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen in Pixel, die eine Kante angeben, und Pixel, die keine Kante angeben, binarisiert und wobei der Syntheseteil (152) die Auflösungen der binarisierten Bildergruppe (32A, 32B, 32C) abstimmt, an Pixelwerten mit den gleichen Koordinaten in der Bildergruppe (32A, 32B, 32C) eine UND-Operation durchführt und als Ergebnis der UND-Operation das Synthesebild (34A, 34B, 34C, 46, 47, 48) ausgibt.
  7. Bildverarbeitungsvorrichtung nach Anspruch 5, wobei das Bildverarbeitungsprogramm (20) die aus dem Eingabebild (30, 40) erzeugte Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen in Pixel, die eine Kante angeben, und Pixel, die keine Kante angeben, binarisiert und wobei der Syntheseteil (152) die Auflösungen der binarisierten Bildergruppe (32A, 32B, 32C) abstimmt, an Pixelwerten mit den gleichen Koordinaten in der Bildergruppe (32A, 32B, 32C) eine ODER-Operation durchführt und als Ergebnis der ODER-Operation das Synthesebild (34A, 34B, 34C, 46, 47, 48) ausgibt.
  8. Bildverarbeitungsvorrichtung nach Anspruch 5, wobei das Bildverarbeitungsprogramm (20) die aus dem Eingabebild (30, 40) erzeugte Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen in Pixel, die eine Kante angeben, und Pixel, die keine Kante angeben, binarisiert und wobei der Syntheseteil (152) die Auflösungen der binarisierten Bildergruppe (32A, 32B, 32C) abstimmt, Pixel mit den gleichen Koordinaten in der Bildergruppe (32A, 32B, 32C) synthetisiert, so dass keine Informationen zu Pixelwerten verloren gehen, und als Ergebnis der Synthese das Synthesebild (34A, 34B, 34C, 46, 47, 48) ausgibt.
  9. Bildverarbeitungsvorrichtung nach einem der Ansprüche 6 bis 8, wobei die Parametergruppe (28A, 28B, 28C), die bei dem Bildverarbeitungsprogramm (20) angewendet wird, eine Schwellwertgruppe (thA, thB, thC, thD), die zum Bestimmen verwendet wird, ob es sich bei jedem Pixel in jedem Bild um ein Pixel handelt, das eine Kante angibt, als Schwellwertgruppe enthält, die auf jedes Bild (41, 42, 43, 44, 51, 52, 53, 54) der Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen angewendet wird, welche aus dem Eingabebild (30, 40) erzeugt wird.
  10. Einstellunterstützungsverfahren zum Unterstützen eines Einstellens von Parametern für ein Bildverarbeitungsprogramm (20), wobei das Einstellunterstützungsverfahren Folgendes umfasst: Gewinnen eines Eingabebilds (30, 40), das ein Suchobjekt (W) enthält, Anwenden einer oder mehrerer vorgegebener Parametergruppen (28A, 28B, 28C) bei einem Bildverarbeitungsprogramm (20), welches unter Verwendung einer Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen, die aus dem Eingabebild (30, 40) erzeugt wird, das Suchobjekt (W) sucht, Gewinnen eines Suchergebnisses (33A, 33B, 33C, 47A, 48A) aus dem Bildverarbeitungsprogramm (20) für jede der einen oder der mehreren Parametergruppen (28A, 28B, 28C) und der Bildergruppe (32A, 32B, 32C), die im Verlauf des Ausführens des Bildverarbeitungsprogramms (20) gewonnen wird, für jede der einen oder der mehreren Parametergruppen (28A, 28B, 28C), Erzeugen eines synthetischen Bilds (34A, 34B, 34C, 46, 47, 48) aus jeder der einen oder mehreren gewonnenen Bildergruppen (32A, 32B, 32C), derartiges Anzeigen des einen oder der mehreren erzeugten synthetischen Bilder (34A, 34B, 34C, 46, 47, 48) und des einen oder der mehreren gewonnenen Suchergebnisse (33A, 33B, 33C, 47A, 48A), dass letztere dem einen oder den mehreren synthetischen Bildern (34A, 34B, 34C, 46, 47, 48) auf einem Anzeigeteil (102) überlagert sind, Empfangen einer Operation zum Auswählen eines des einen oder der mehreren synthetischen Bilder (34A, 34B, 34C, 46, 47, 48), die auf dem Anzeigeteil (102) angezeigt werden, und Einstellen der Parametergruppe (28A, 28B, 28C), die dem durch die Operation im Bildverarbeitungsprogramm (20) ausgewählten synthetischen Bild (34A, 34B, 34C, 46, 47, 48) entspricht.
  11. Einstellunterstützungsprogramm zum Unterstützen eines Einstellens von Parametern für ein Bildverarbeitungsprogramm (20), wobei das Einstellunterstützungsprogramm (20) eine Bildverarbeitungsvorrichtung (100) dazu veranlasst, Folgendes durchzuführen: Gewinnen eines Eingabebilds (30, 40), das ein Suchobjekt (W) enthält, Anwenden einer oder mehrerer vorgegebener Parametergruppen (28A, 28B, 28C) bei einem Bildverarbeitungsprogramm (20), welches unter Verwendung einer Bildergruppe (32A, 32B, 32C) mit unterschiedlichen Auflösungen, die aus dem Eingabebild (30, 40) erzeugt wird, das Suchobjekt (W) sucht, Gewinnen eines Suchergebnisses (33A, 33B, 33C, 47A, 48A) aus dem Bildverarbeitungsprogramm (20) für jede der einen oder der mehreren Parametergruppen (28A, 28B, 28C) und der Bildergruppe (32A, 32B, 32C), die im Verlauf des Ausführens des Bildverarbeitungsprogramms (20) gewonnen wird, für jede der einen oder der mehreren Parametergruppen (28A, 28B, 28C), Erzeugen eines synthetischen Bilds (34A, 34B, 34C, 46, 47, 48) aus jeder der einen oder mehreren gewonnenen Bildergruppen (32A, 32B, 32C), derartiges Anzeigen des einen oder der mehreren erzeugten synthetischen Bilder (34A, 34B, 34C, 46, 47, 48) und des einen oder der mehreren gewonnenen Suchergebnisse (33A, 33B, 33C, 47A, 48A), dass letztere dem einen oder den mehreren synthetischen Bildern (34A, 34B, 34C, 46, 47, 48) auf einem Anzeigeteil (102) überlagert sind, Empfangen einer Operation zum Auswählen eines des einen oder der mehreren synthetischen Bilder (34A, 34B, 34C, 46, 47, 48), die auf dem Anzeigeteil (102) angezeigt werden, und Einstellen der Parametergruppe (28A, 28B, 28C), die dem durch die Operation im Bildverarbeitungsprogramm (20) ausgewählten synthetischen Bild (34A, 34B, 34C, 46, 47, 48) entspricht.
DE102018102705.2A 2017-08-30 2018-02-07 Bildverarbeitungsvorrichtung, Einstellunterstützungsverfahren und Einstellunterstützungsprogramm Pending DE102018102705A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017165230A JP6897431B2 (ja) 2017-08-30 2017-08-30 画像処理装置、設定支援方法、および設定支援プログラム
JP2017-165230 2017-08-30

Publications (1)

Publication Number Publication Date
DE102018102705A1 true DE102018102705A1 (de) 2019-02-28

Family

ID=65321526

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018102705.2A Pending DE102018102705A1 (de) 2017-08-30 2018-02-07 Bildverarbeitungsvorrichtung, Einstellunterstützungsverfahren und Einstellunterstützungsprogramm

Country Status (4)

Country Link
US (1) US10380463B2 (de)
JP (1) JP6897431B2 (de)
CN (1) CN109427039B (de)
DE (1) DE102018102705A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021071844A (ja) * 2019-10-30 2021-05-06 エヌ・ティ・ティ・アドバンステクノロジ株式会社 画像処理装置、画像処理方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017041190A (ja) 2015-08-21 2017-02-23 キヤノン株式会社 画像処理方法、画像処理装置、プログラム及び記録媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3434976B2 (ja) * 1996-06-28 2003-08-11 三菱電機株式会社 画像処理装置
JP4598887B2 (ja) * 2001-09-28 2010-12-15 株式会社キーエンス ピラミッド構造サーチを使用したパターンマッチング方法、画像検出回路、画像処理プログラムおよびコンピュータで読み取り可能な記憶媒体
US7185024B2 (en) * 2003-12-22 2007-02-27 International Business Machines Corporation Method, computer program product, and system of optimized data translation from relational data storage to hierarchical structure
EP1901228B1 (de) * 2005-06-08 2011-05-18 Fujitsu Ltd. Vorrichtung, Verfahren und Programm für Bildvergleich
US7715658B2 (en) * 2005-08-03 2010-05-11 Samsung Electronics Co., Ltd. Apparatus and method for super-resolution enhancement processing
JP2008268725A (ja) * 2007-04-24 2008-11-06 Toshiba Corp 情報処理装置および画像データの高解像度化方法
JP2009124644A (ja) * 2007-11-19 2009-06-04 Sanyo Electric Co Ltd 画像処理装置、撮像装置及び画像再生装置
JP5100360B2 (ja) * 2007-12-21 2012-12-19 株式会社トプコン 画像処理装置
JP5381451B2 (ja) * 2009-07-22 2014-01-08 コニカミノルタ株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP5759133B2 (ja) * 2010-09-24 2015-08-05 Juki株式会社 形状ベースマッチングパラメータの調整装置および部品実装装置
US8711248B2 (en) * 2011-02-25 2014-04-29 Microsoft Corporation Global alignment for high-dynamic range image generation
JP5776771B2 (ja) * 2011-06-24 2015-09-09 コニカミノルタ株式会社 対応点探索装置、および距離測定装置
JP6260620B2 (ja) * 2013-06-17 2018-01-17 富士通株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JP2016062447A (ja) * 2014-09-19 2016-04-25 コニカミノルタ株式会社 画像処理装置、画像処理方法、および画像処理プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017041190A (ja) 2015-08-21 2017-02-23 キヤノン株式会社 画像処理方法、画像処理装置、プログラム及び記録媒体

Also Published As

Publication number Publication date
JP6897431B2 (ja) 2021-06-30
US10380463B2 (en) 2019-08-13
CN109427039B (zh) 2022-11-25
CN109427039A (zh) 2019-03-05
US20190065914A1 (en) 2019-02-28
JP2019045938A (ja) 2019-03-22

Similar Documents

Publication Publication Date Title
EP0131676B1 (de) Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben
DE10346690B4 (de) Verfahren und Vorrichtung zum Detektieren eines Linearobjekts
DE102004004528A1 (de) Verfahren, Vorrichtung und Programm zur Verarbeitung eines Stereobildes
DE102018102688A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und Bildverarbeitungssystem
DE102014101354A1 (de) Raumintensitätsverteilungsgesteuerter blitz
DE102018113589A1 (de) Vorrichtung und Programm zur Positionserfassung
DE102018102833A1 (de) Positionskontrollsystem, positionserkennungsvorrichtung und steuerprogramm
DE102018109276A1 (de) Bildhintergrundsubtraktion für dynamische beleuchtungsszenarios
DE102020122224A1 (de) Verfahren und Vorrichtung für Referenz-Bildgebung und optische Objekt-Erkennung
DE3718620A1 (de) Verfahren und vorrichtung zur ermittlung des drehwinkels eines objektmusters
DE102018102705A1 (de) Bildverarbeitungsvorrichtung, Einstellunterstützungsverfahren und Einstellunterstützungsprogramm
DE112021002519T5 (de) Referenzoberflächenerkennung zur mobilen bemessung
BE1029597B1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
BE1029610B1 (de) Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR)
DE102013213532A1 (de) Verfahren und System zum Erkennen einer Geste
DE112022001773T5 (de) Systeme und Verfahren zur Bestimmung eines adaptiven Bereichs von Interesse (ROI) für die Berechnung von Bildmetriken
DE102017124939A1 (de) Bildverarbeitungssystem, Informationsverarbeitungseinrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm
DE102020122550A1 (de) Verfahren zum Durchführen einer Halb-Auslöser-Funktion unter Verwendung von optischer Objekt-Erkennung und diese verwendendes Verfahren zur Bildaufnahme
DE102013112627A1 (de) Bildverarbeitungs-Verfahren und -Vorrichtung zum Verbessern der Bildqualität unter Verwendung verschiedener Koeffizienten gemäß Bereichen
DE102015108601A1 (de) Bildverarbeitungseinrichtung, ihr steuerverfahren und speichermedium
DE112017007292T5 (de) Überwachungsbildschirmdaten-erzeugungsvorrichtung,, verfahren zur erzeugung von überwachungsbildschirmdaten und programm zur erzeugung von überwachungsbildschirmdaten
DE102022129551A1 (de) Optisches Abbildungssystem mit einer Scannenden Abbildungsvorrichtung, Verfahren, System und Computerprogramm
DE102017124835A1 (de) Bildverarbeitungssystem, informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und informationsverarbeitungsprogramm
EP3327672B1 (de) Verfahren und vorrichtung zur ermittlung einer zuordnung zwischen einem matrixelement einer matrix und einem vergleichsmatrixelement einer vergleichsmatrix mittels schreibprozess in mehreren korrespondenztabellen
DE112021004030T5 (de) Automatische identifizierung und darstellung von kanten, formen und eindeutigen objekten in einem bild, das zur einstellung eines bildverarbeitungsauftrags verwendet wird

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication