DE10157958B4 - Bildverarbeitungsverfahren und-vorrichtung - Google Patents

Bildverarbeitungsverfahren und-vorrichtung Download PDF

Info

Publication number
DE10157958B4
DE10157958B4 DE10157958A DE10157958A DE10157958B4 DE 10157958 B4 DE10157958 B4 DE 10157958B4 DE 10157958 A DE10157958 A DE 10157958A DE 10157958 A DE10157958 A DE 10157958A DE 10157958 B4 DE10157958 B4 DE 10157958B4
Authority
DE
Germany
Prior art keywords
line segments
line
image
extracting
contour
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10157958A
Other languages
English (en)
Other versions
DE10157958A1 (de
Inventor
Shiro Fujieda
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 DE10157958A1 publication Critical patent/DE10157958A1/de
Application granted granted Critical
Publication of DE10157958B4 publication Critical patent/DE10157958B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30141Printed circuit board [PCB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Ein Verfahren zur Verarbeitung eines dichtevariablen Bildes eines Zielobjekts mit einer Kontur, welche geradlinige Abschnitte enthält, wobei das Bild diese Kontur darstellende Randpixel aufweist, wobei das Verfahren gekennzeichnet ist durch: einen Linienkennzeichnungsschritt des Setzens eines unterschiedlichen Kennzeichens für jede der Richtungen der geradlinigen Abschnitte, wobei der Linienkennzeichnungsschritt einen Histogrammherstellungsschritt (ST 2) der Erstellung eines Histogramms aus einer Anzahl von Randpixeln mit unterschiedlichen Richtungen, und einen Spitzenkennzeichensetzschritt (ST 3) des Herausziehens von Spitzen aus dem Histogramm und Setzens eines unterschiedlichen Kennzeichens für jede der Richtungen von Randpixeln, die einer anderen der herausgezogenen Spitzen entsprechen, umfasst, wobei der Histogrammherstellungsschritt und der Spitzenkennzeichensetzschritt so ausgeführt werden, dass die Kennzeichen jeweils für eine der Richtungen der geradlinigen Abschnitten, die in der Kontur des Zielobjekts enthalten sind, gesetzt werden; einen Pixelkennzeichnungsschritt (ST 5) der Zuordnung eines jeden der unterschiedlichen Kennzeichen, die in dem Spitzenkennzeichensetzschritt gesetzt wurden, zu jedem der Randpixel,...

Description

  • Diese Erfindung liegt auf dem technischen Gebiet der Bildverarbeitung mittels eines Rechners und bezieht sich insbesondere auf Verfahren und Vorrichtung zum Messen der Lage und Orientierung eines Zielobjekts mit einer Kontur, welche gerade Linien enthält, und Inspizieren, ob die Kontur einen Defekt aufweist.
  • Wenn Lage und Orientierung eines Objekts beobachtet oder Defekte in seiner Kontur auf einem Bild variabler Dichte inspiziert werden, gibt es Situationen, in denen es wünschenswert wird, geradlinige Abschnitte aus der Kontur des Zielobjekts herauszuziehen. Zu herkömmlichen Verfahren zum Herausziehen der Kontur eines Zielobjekts gehören diejenigen mit binärer Darstellung des Bilds, diejenigen, die auf der Größe des Dichtegradienten beruhen, und diejenigen die ein expandiertes oder kontrahiertes Bild benutzen.
  • Mit einem Binärdarstellungsverfahren wird ein Bild in Bereiche mit weißen und schwarzen Pixeln unterteilt und eine Konturlinie durch die Pixel, die an deren Grenze angeordnet sind, ausgebildet. Mit einem Verfahren, welches vom Dichtegradienten abhängt, wird der Dichtegradient an jedem Pixel berechnet und eine Kontur durch diejenigen der Pixel ausgebildet, an welchen der Dichtegradient einen vorgegebenen Schwellenwert überschreitet. Mit einem Verfahren, welches ein expandiertes oder kontrahiertes Bild verwendet, werden ein expandiertes Bild oder ein kontrahiertes Bild ausgebildet, indem der helle Bereich des Originalbilds expandiert und kontrahiert wird, und eine Konturlinie herausgezogen, indem ein Differenzbild aus diesen herausgezogen wird.
  • Was bei all diesen Verfahren herausgezogen wird, ist die Konturlinie als Ganze und keines derselben kann dazu verwendet werden, nur geradlinige Abschnitte der Kontur herauszuziehen. Um einen geradlinigen Abschnitt der Konturlinie herauszuziehen, kann versucht werden, das Verbindungsmuster von Pixeln, die die Konturlinie bilden, auszuwerten und die Abschnitte zu identifizieren, die jeweils als eine gerade Linie darstellend betrachtet werden können, indem beispielsweise die Pixel auf der Konturlinie sequentiell betrachtet werden, um zu untersuchen, ob sie in ein und derselben Richtung verbunden sind. Wenn man versucht, die Auflösung der Verbindungsrichtung zu verbessern, muß jedoch ein Mittelwert von Verbindungsrichtungen mehrerer Pixel betrachtet werden, weshalb sehr kleine Defekte, welche die Verbindung unterbrechen, ignoriert werden müssen. Wenn die Konturlinien so extrahiert werden, daß sie eine endliche Breite haben, ist es ferner ziemlich schwierig, einen Algorithmus zum Extrahieren einer geraden Linie zu errichten.
  • Durch alle diese bekannten Verfahren ändern sich ferner die Charakteristika einer Konturlinie (wie etwa ihre Breite und Position sowie die Größen von Vorsprüngen und Vertiefungen an ihnen), abhängig von den Bedingungen des Bilds, wie die Dichtedifferenz zwischen Hintergrund und Zielobjekt und die Gleichförmigkeit der Helligkeit. Es ist daher schwierig, zuverlässig einen geradlinigen Abschnitt einer Konturlinie mit irgendeinem dieser auf eine Auswertung von Verbindungsmustern von Pixeln beruhenden Verfahren herauszuziehen.
  • Ein Verfahren und eine Bildverarbeitungsvorrichtung gemäß Oberbegriff der Patentansprüche 1 und 10 ist aus „Venkateswar, V. Chellappa, R.: „Extraction of straight lines in aerial images”; IEEE Transaction an Pattern Analysis and Machine Intelligence; Nov 1992; Volume: 14, Issue: 11; pp: 1111–1114” bekannt.
  • Überblick über die Erfindung
  • Es ist daher eine Aufgabe dieser Erfindung, genau und schnell einen geradlinigen Abschnitt der Konturlinie eines Zielobjekts auf einem Bild mit variabler Dichte herauszuziehen.
  • Es eine weitere Aufgabe der Erfindung, genau einen geradlinigen Abschnitt eines Zielobjekts herauszuziehen, unabhängig von den Bedingungen des Bildes, auch wenn die Dichtedifferenz zwischen Hintergrund und Zielobjekt gering ist oder wenn die Beleuchtungsbedingung nicht gleichförmig ist.
  • Es ist eine weitere Aufgabe dieser Erfindung, den Ort oder die Orientierung eines Zielobjekts zu messen oder einen Defekt auf der Kontur eines Zielobjekts auf der Grundlage von aus der Kontur des Zielobjekts herausgezogenen geraden Linien herauszuziehen.
  • Zur Verarbeitung eines dichtevariablen Bilds eines Zielobjekts mit einer Kontur, welche durch Randpixel dargestellt ist und geradlinige Abschnitte enthält, werden gemäß dieser Erfindung die folgenden Schritte sequentiell durchgeführt: (1) Linienkennzeichnungsschritt der Einstellung unterschiedlicher Label an allen Richtungen der geradlinigen Abschnitte, (2) Pixelkennzeichnungsschritt der Zuordnung, zu denjenigen Pixeln, welche die gleiche Richtung haben wie eine der verschiedenen Richtungen der geradlinigen Abschnitte, des gleichen Labels, das der entsprechenden der verschiedenen Richtungen der geradlinigen Abschnitte zugeordnet ist, und (3) Liniensegmentextrahierschritt des Herausziehens, als Liniensegment, einer Gesamtheit, die aus denjenigen der Randpixel besteht, die auf dem Bild kontinuierlich sind und denen das gleiche Label zugeordnet ist. Diejenigen der Pixel, welche die Konturlinie eines Zielobjekts auf einem Bild mit variabler Dichte bilden, werden hier als ”Randpixel” bezeichnet. Die Konturlinie braucht nicht die Breite von einem Pixel haben. Sie kann eine Anzahl von Randpixeln in Richtung ihrer Breite enthalten.
  • Eines von geeigneten Verfahren zum Herausziehen von Randpixeln besteht darin, diejenigen der Pixel auszuwählen, bei welchen der Dichtegradient größer als ein bestimmter Schwellenwert ist. Nicht alle mit einem solchen Verfahren herausgezogenen Pixel brauchen schließlich als Randpixel definiert zu werden. Ein Ausdünnungsprozeß zur Ausdünnung einer Linie, die alle diese anfänglich herausgezogenen Pixel als Randpixel enthält, kann durchgeführt werden, um die Konturlinie dünner zu machen, und nur diejenigen Pixel die eine solche ausgedünnte Konturlinie bilden mögen als Randpixel bezeichnet werden. Andererseits kann das Dichtegradientenkonzept beim Herausziehen von Randpixeln, indem beispielsweise nur diejenigen Pixel herausgezogen werden, die einer Randlinie auf einem Binärbild mit nur weißen und schwarzen Bereichen entsprechen, ignoriert werden. Unabhängig davon, wie Pixel herausgezogen werden, werden jedoch diejenigen Pixeln, bei welchen der Dichtegradient verhältnismäßig groß ist, als Randpixel herausgezogen.
  • Die Richtung eines Randpixels kann auf verschiedene Weisen definiert werden. Normalerweise ist sie als die Richtung senkrecht zur Richtung des Dichtegradienten an seiner Stelle definiert, weil es zweckmäßig, wenn auch nicht streng notwendig ist, die Richtung eines Randpixels als die gleiche Richtung wie diejenige eines geradlinigen Abschnitts zu definieren, welcher dieses Randpixel enthält. Wenn, anders ausgedrückt, die Richtung eines geradlinigen Abschnitts als die Richtung senkrecht zur Richtung seiner Erstreckung definiert ist, wenngleich dies entgegen der oder zumindest verschieden von der herkömmlichen Definition ist, kann die Richtung eines Randpixels für die Zwecke dieser Erfindung dementsprechend als die Richtung des Dichtegradienten an dem Pixel definiert werden. Zur einfachen Offenbarung jedoch wird die Richtung eines Randpixels nachfolgend als die Richtung senkrecht zum Dichtegradienten am Ort des Pixels definiert. Die Richtung eines geradlinigen Abschnitts und diejenige der darin enthaltenden Randpixel brauchen nicht exakt die gleichen zu sein. Bei der Beschreibung der vorliegenden Erfindung ist es lediglich erforderlich, daß ihre Differenz um einen Wert kleiner ist, der gemäß dem Zweck der Bildverarbeitung spezifiziert ist.
  • Wenn es von zwei Pixeln heißt, daß sie kontinuierlich oder in einer kontinuierlichen Beziehung sind, bedeutet dies nicht notwendigerweise, daß zwischen ihnen keine anderen Pixel vorhanden sind. Es bedeutet allgemein, daß sie eine Nachbarschaftsbedingung erfüllen, die speziell für die Analyse spezifiziert ist. Die sogenannte Vier-Nachbar-Bedingung, nach welcher zwei Pixel lediglich dann verbunden werden, wenn sie in der horizontalen oder vertikalen Richtung benachbart sind, und die sogenannte Acht-Nachbar-Bedingung, nach welcher die vier Diagonalrichtungen der Vier-Nachbar-Bedingung hinzugefügt wird, werden häufig hergenommen, aber der Umfang von Nachbarschaft kann auch breiter definiert werden.
  • Bei dieser Erfindung ist darauf hinzuweisen, daß Richtungen von Randpixeln mit hoher Genauigkeit bestimmt werden können, weil der Dichtegradient an ihren Orten verhältnismäßig groß ist. Liniensegmente werden also als Gesamtheiten von Randpixeln dargestellt, die unter den Bedingungen extrahiert werden, daß sie ein gemäß ihren Richtungen zugeordnetes gemeinsames Label haben und daß sie kontinuierlich sind und somit geradlinige Abschnitte der Kontur eines Zielobjekts auf einem Bild zuverlässig herausgezogen werden können. Da ferner die Richtungen von Randpixeln zuverlässig ohne Rücksicht auf den Zustand des Bilds mit variabler Dichte oder selbst dort, wo die Dichtedifferenz zwischen Grund und Zielobjekt klein oder die Beleuchtungsbedingung nicht gleichförmig ist, herausgezogen werden können, können solche geradlinigen Abschnitte selbst unter solchen Bedingungen korrekt herausgezogen werden.
  • Jeder der Schritte im Verfahren dieser Erfindung kann entweder auf einem gegebenen Bild mit variabler Dichte insgesamt oder durch Spezifizierung eines Meßbereichs auf einem solchen Bild und nur im dem spezifizierten Bereich durchgeführt werden.
  • In dem vorgenannten Linienkennzeichnungsschritt werden Label jeweils an einer der Richtungen von in der Kontur des Zielobjekts enthaltenen geradlinigen Abschnitten eingestellt, indem (1a) ein Histogrammerstellungsschritt der Erstellung eines Histogramms aus der Anzahl von Randpixeln mit unterschiedlichen Richtungen und (1b) ein Spitzenlabeleinstellschritt des Herausziehens von Pixeln aus diesem Histogramm und Einstellens von unterschiedlichen Labels an den einzelnen Richtungen von Randpixeln, die unterschiedlichen der herausgezogenen Spitzen entsprechen, durchgeführt wird. Bei dem vorgenannten Pixelkennzeichnungsschritt wird ein jedes der im Spitzenlabel-Einstellschritt gesetzten unterschiedlichen Label jedem der Randpixel mit der entsprechenden Richtung zugeordnet. Ein solches Histogramm kann hergestellt werden, um direkt die Zahlen der Randpixel selbst wiederzugeben, die unterschiedliche Richtungen haben, oder indem solche Zahlen mit einem Gewichtungsfaktor multipliziert werden, der etwa den Dichtegradienten am Ort der entsprechenden Randpixel darstellt.
  • Die einer Spitze entsprechende Richtung von Randpixeln kann die Richtung der Randpixel in dem entsprechenden der Teile des Histogramms bedeuten oder die Richtungen der Randpixel in einer Anzahl von Unterteilungen, die diejenigen poximal zur entsprechenden Unterteilung umfassen. Es können also geradlinige Abschnitte aus der Kontur des Zielobjekts selbst dann herausgezogen werden, wenn sie irgendeine dieser Richtungen haben, oder selbst, wenn ihre Richtungen nicht vorab bekannt sind. Das Herausziehen der Spitzen kann gemäß einem speziellen Kriterium durchgeführt werden, derart, daß die höchste Spitze oder eine gegebene Anzahl von nächsthöchsten Spitzen oder alle Spitzen, die größer als eine vorgegebene Schwellenhöhe sind, herausgezogen werden können.
  • Wenn die im vorgenannten Liniensegmentextrahierschritt herausgezogenen Liniensegmente ein Paar mit einer Lageversetzung, die kleiner als ein vorgegebener maximaler Versetzungswert ist, und eine Richtungsdifferenz, die kleiner als ein vorgegebener maximaler Richtungsdifferenzwert ist, enthalten, kann ein solches Paar zu einem einzigen vereinigten Segment vereinigt werden. Auch wenn ein Liniensegment durch einen Schnitt oder einen Vorsprung auf der Kontur in zwei Teile unterteilt wird, können die beiden Teile so zurück zu einem einzigen Liniensegment vereinigt werden. Die Lage und Orientierung eines Zielobjekts kann, auch wenn es einen solchen Schnitt oder einen Vorsprung auf seiner Kontur aufweist, genau gemessen werden.
  • Das Verfahren kann ferner einen Auswahlschritt der Auswahl, aus den im vorgenannten Herausziehschritt herausgezogenen Liniensegmenten und aus den im Vereinigungsschritt vereinigten Liniensegmenten, derjenigen der Liniensegmente, die spezielle Liniensegmentauswahlbedingungen derart erfüllen, so daß Liniensegmente, die für die Bildverarbeitung unter solchen spezifizierten Bedingungen geeignet sind, gewonnen werden können. Die Bedingungen für das herausziehen von Liniensegmenten können sich auf den Bereich ihrer Längen, den Bereich von Winkeln, die sie mit einer Standardrichtung einschließen, den Bereich von Orten, den Bereich des Abstandes zwischen ihren Endlagen, den Bereich des Winkels zwischen zwei Liniensegmenten und die Größenordnung ihrer Längen ziehen. Das Verfahren kann auch ein Anzeigeschritt der Anzeige, auf dem Bild mit veränderlicher Dichte und in unterscheidbarer Form, von Positionen der Liniensegmente oder der überkreuzungspunkte von Verlängerungen einer Anzahl von im Auswahlschritt ausgewählten Liniensegmenten enthaltenen derart, daß die Bedingungen des Herausziehens und der Auswahl von Liniensegmenten dem Benutzer deutlich gezeigt werden kann. Durch Beobachtung einer solchen Anzeige kann sich der Benutzer darüber vergewissern, ob beabsichtigte Positionen, wie etwa eine Ecke des Zielobjekts, korrekt in einem Meßbereich ausgewählt worden sind.
  • Gemäß einer weiteren Ausführungsform der Erfindung kann eine Defektfestellungsschritt durchgeführt werden, um anhand der Weisen, in welchen die Liniensegmente in dem vorgenannten Liniensegmentextrahierschritt herausgezogen werden, zu bestimmen, ob ein Defekt in geradlinigen Abschnitten der Kontur des Zielobjekts vorhanden oder nicht vorhanden ist. Gemäß der vorliegenden Erfindung werden Liniensegmente auf der Grundlage der Kontinuität von Randpixeln mit Richtungen, die als gleich betrachtet werden können, herausgezogen. Da sich die Richtungen von Randpixeln durch das Vorhandensein von selbst kleinen Defekten von wenigen Pixeln in der Kontur signifikant ändern, können selbst solche kleinen Defekte mit einen hohen Maß an Genauigkeit festgestellt werden.
  • Wenn daher beispielsweise unter den im Liniensegmentextrahierschritt herausgezogenen Liniensegmenten ein Paar von Liniensegmenten vorliegt, zwischen welchen die Richtungsdifferenz innerhalb eines vorgegebenen Bereichs liegt und die Lageversetzung ebenfalls innerhalb einer vorgegebenen Grenze liegt, kann man schließen, daß zwischen einem solchen Paar von Liniensegmenten ein Defekt vorliegt. Als weiteres Beispiel kann geschlossen werden, daß ein Defekt in einem geradlinigen Abschnitt der Kontur eines Zielobjekts vorliegt, indem die Anzahl der im Liniensegmentextrahierschritt herausgezogenen Liniensegmente mit einem spezifierten Standardwert verglichen wird, und wenn sie unterschiedlich sind und nicht zusammenpassen.
  • Gemäß einer weiteren nicht beanspruchten Ausführungsform der Erfindung wird der oben genannte Linienkennzeichnungsschritt ausgeführt, indem bei jeder von erwarteten Richtungen von geradlinigen Abschnitten der Kontur des Zielobjekts ein anderes Label gesetzt wird, und der vorgenannte Pixelkennzeichnungsschritt, indem das gleiche Label denjenigen der Randpixel, die die entsprechende der erwarteten Richtungen haben, zugeordnet wird. Wenn die Richtungen von geradlinigen Abschnitten der Kontur eines Zielobjekts erwartet werden können, wie wenn die Orientierung des Zielobjekts fest ist, kann der Prozeß rasch durchgeführt werden, weil individuelle Label gesetzt werden können, ohne daß ein Histogramm für jedes zu analysierende Bild mit veränderlicher Dichte erstellt wird. Ein Verfahren gemäß dieser nicht beanspruchten Ausführungsform kann auch für eine Bestimmung verwendet werden, ob das Zielobjekt als ein Produkt ohne Defekt durchgehen kann, oder zur Klassifizierung der Zielobjekte in Kategorien auf der Grundlage der Bestimmung, ob die Kontur des geprüften Zielobjekts geradlinige Abschnitte in erwarteten Richtungen enthält.
  • Eine diese Erfindung verkörpernde Bildverarbeitungsvorrichtung kann als Bildeingabemittel zur Eingabe eines dichteunterschiedlichen Bilds eines Zielobjekts mit einer Kontur, Randpixelextrahiermittel zum Herausziehen von in diesem Bild enthaltenen Randpixeln, Orientierungsmittel zur Berechnung der Richtungen dieser herausgezogenen Randpixel, Richtungseinstellmittel zur Einstellung von in der Kontur enthaltenden geradlinigen Abschnitten und Mittel zur Durchführung der oben genannten Linienkennzeichnung, Pixelkennzeichnung und Liniensegmentextrahierschritte aufweisend gekennzeichnet werden. Mit einer so aufgebauten Vorrichtung werden Randpixel aus einem eingegebenen dichtevariablen Bild herausgezogen und ihre Richtungen gewonnen. Andererseits werden Label individuell für jede der Richtungen von geradlinigen Abschnitten der Kontur eines Zielobjekts eingestellt. Denjenigen der Randpixel mit einer Richtung, die zu irgendeiner der Richtungen der geradlinigen Abschnitte paßt, wird das Label für die geradlinigen, Abschnitte der passenden Richtung zugeordnet. Gesamtheiten von Randpixeln, denen das gleiche Label zugeordnet ist und die kontinuierlich sind, werden dann als Liniensegmente herausgezogen. Es können also geradlinige Abschnitte der Kontur eines Zielobjekts genau herausgezogen werden.
  • Die Bildeingabemittel sind mit einer Bilderzeugungsvorrichtung, beispielsweise einer Kamera oder einem Scanner, verbunden und so eingerichtet, daß sie ein damit gewonnenes dichtevariables Bild hereinnehmen. Sie können eine Schnittstellenschaltung oder eine A/D-Umwandlungsschaltung aufweisen. Für den Zweck der Eingabe eines Bildes können sie aus einer Schaltung für den Empfang eines über Telekommunikationsleitungen gesendeten Bilds oder einer Lesevorrichtung für das Lesen eines in einem Speichermedium gespeicherten Bildes aufgebaut sein.
  • Viele der in der oben beschriebenen Vorrichtung enthaltenden ”Mittel” können in Form von Computer-Hardware oder Sofware für ihren Betrieb realisiert sein. Einige von ihnen können in Form von Schaltungsblöcken, wie etwa ASIC (application specific integrated circuit; anwendungsspezifische integrierte Schaltung) ausgebildet sein, wobei ein Rechner die koordinierten Operationen der Schaltungsblöcke steuert.
  • Ein Filter zum Herausziehen von Randpixeln, zum Beispiel ein Sobel-Filter, kann als die Randpixelextrahiermittel und Orientierungsmittel verwendet werden. Außerdem können verschiedene Verfahren zum Herausziehen einer Kontur auf dem Bildspeicher eines Rechners durchgeführt werden.
  • Gemäß der Erfindung umfassen die vorgenannten Richtungseinstellmittel Histogrammherstellungsmittel zur Erstellung eines Histogramms anhand der Anzahlen von Randpixeln mit unterschiedlichen Richtungen sowie Spitzenlabel-Extrahiermittel zum Herausziehen. von Spitzen aus diesem Histogramm. Linienkennzeichnungsmittel setzen ein unterschiedliches Label bei jeder der Richtungen von Randpixeln, die einer anderen der herausgezogenen Spitzen entsprechen, und jedes dieser unterschiedlichen Labeln wird durch Pixelkennzeichnungsmittel jedem der Randpixel mit der dazu entsprechenden Richtung zugeordnet.
  • Verschiedene Mittel, zum Beispiel Vereinigungsmittel, Auswahlmittel, Anzeigemittel und Defektfestellungsmittel zur Durchführung der oben erwähnten Vereinigungs-, Auswahl-, Anzeige- bzw. Defektfestellungsschritte können in einer diese Erfindung verkörpernden Vorrichtung enthalten sein.
  • Gemäß einer weiteren nicht beanspruchten Ausführungsform der Erfindung geben die vorgenannten Richtungseinstellmittel erwartete Richtungen der geradlinigen Abschnitte der Kontur des Zielobjekts ein, stellen die Linienkennzeichnungsmittel ein anderes der Label bei jeder der mit den Richtungseinstellmitteln eingegebenen Richtungen ein, und ordnen die Pixelkennzeichnungsmittel diese Label denjenigen der Randpixel zu, die eine der mit den Richtungseinstellmitteln eingegebenen erwarteten Richtungen haben.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm einer diese Erfindung verkörpernden Bildverarbeitungsvorrichtung;
  • 2 ist ein Flußdiagramm eines Bildverarbeitungsprozesses;
  • 3 zeigt eine Maske zum Herausziehen von Randpixeln;
  • 4 ist eine Zeichnung zum Zeigen der Definition von Randcode;
  • 5A ist ein Beispiel eines dichtevariablen Bilds eines Zielobjekts und 5B ein Randcodehistogramm, welches gewonnen werden kann, indem Randpixel gemäß einem Verfahren dieser Erfindung herausgezogen werden;
  • 6A und 6B sind Ergebnisse eines vorläufigen und endgültigen Kennzeichnungsprozesses auf dem in 5A gezeigten Bild;
  • 7 zeigt verschiedene Merkmale eines gemäß einem Verfahren dieser Erfindung berechneten Liniensegments;
  • 8 ist ein Flußdiagramm einer Routine zur Prüfung, ob zwei Liniensegmente vereinigt werden können oder nicht;
  • 9 ist eine Zeichnung zur Erläuterung der in der Routine der 8 verwendeten Parameter;
  • 10A und 10B zeigen Beispiele von Liniensegmenten, die vereinigt und nicht vereinigt werden können;
  • 11 zeigt ein Beispiel einer Anzahl von Liniensegmenten, die vereinigt worden sind;
  • 12 zeigt ein Beispiel eines Prozesses zum Herausziehen von Liniensegmenten;
  • 13 zeigt ein weiteres Beispiel eines Prozesses zum Herausziehen von Liniensegmenten und
  • 14A und 14B zeigen ein Beispiel eines Prozesses zum Herausziehen von ein Dreieck bildenden Liniensegmenten.
  • Detaillierte Beschreibung der Erfindung
  • 1 zeigt ein Aufbau einer diese Erfindung verkörpernden Bildverarbeitungsvorrichtung 1 zum Herausziehen von geradlinigen Abschnitten auf der Kontur eines Zielobjekts auf einem digitalen Bild mit variabler Dichte (nachfolgend einfach als Bild bezeichnet) und, wenn es eine Anzahl solcher geradliniger Abschnitte gibt, der Überkreuzungspunkte der Verlängerungen dieser geradlinigen Abschnitte. Die Vorrichtung 1 setzt sich aus einer Bildeingabevorrichtung 2, einem Bildspeicher 3, einer Bildausgabevorrichtung 4, einer Zeitsteuerung 5, einem Zeichen-Graphikspeicher 6, einem Zeichenspeicher 7, einer Steuereinheit 8, einem Monitor 9 und einem E/A-Anschluß 10 zusammen.
  • Die Bildeingabevorrichtung 2 setzt sich aus einer Schnittstellenschaltung für den Empfang von Bildsignalen eines Bildes mit variabler Dichte aus einer (nicht gezeigten) Analogkamera, einer A/D-Wandlerschaltung zur Umwandlung der durch die Schnittstellenschaltung empfangenen Variabeldichtebildsignale in digitale Signale sowie einer Filterschaltung zum Abschneiden von Rauschen zusammen. Die Erfindung beschränkt sich jedoch nicht auf die Verwendung einer Analogkamera. Im Rahmen der Erfindung kann auch eine Digitalkamera verwendet werden.
  • Der Bildspeicher 3 dient dem Empfang der digitalen Variabeldichtebilddaten, die von der Bildeingabevorrichtung 2 und A/D-gewandelt empfangen werden, sowie deren Speicherung. Der Zeichen-Graphikspeicher 6 speichert Bilddaten, die für die Anzeige von Histogrammen erforderlich sind, Verarbeitungsergebnisse und Bildschirme zum Einstellen von Bedingungen für die Extraktion von Liniensegmenten, wie später noch erläutert.
  • Der Zeichenspeicher 7 speichert Prüfdaten zur Anzeige von Zeichendaten, wie Untersuchungsergebnissen, und die Anzeigepositionen. Diese Speichervorrichtungen 3, 6 und 7 sind einzeln mit der Steuereinheit 8 über einen Adressen/Datenbus 11 verbunden und dienen zur Ausgabe von Daten auf die Bildausgabevorrichtung 4 oder den Adressen/Datenbus 11 ansprechend auf Anforderungen durch die Steuereinheit 8 und gemäß Zeitsignalen der Zeitsteuerung 5.
  • Die Steuereinheit 8 setzt sich hauptsächlich aus einer CPU 12, einem ROM 13 und einem RAM 14 zusammen und ist außerdem mit einer Festplatte 15 versehen, auf welcher ein Steuerprogramm zur Wiedergabe einer Inspektionsprozeßroutine installiert ist. Die CPU 12 dient zur Durchführung eines gewünschten Meßprozesses auf der Grundlage des Steuerprogramms auf der Festplatte 15 durch Lesen und Schreiben verschiedener Daten aus jedem und in jeden Speicher über den Adressen/Datenbus 11.
  • Die Bildausgabevorrichtung 4 dient zur Übertragung nicht nur eines Bildes eines zu inspizierenden Zielobjekts, sondern auch eines Histogramms, verarbeiteter Bilder und von Zeichendaten zur Wiedergabe der Ergebnisse einer Inspektion auf dem Monitor 9, entweder einzeln oder in synthetisierter Form, und läßt sie auf einem Bildschirm anzeigen. Der E/A-Anschluß ist mit einer Eingabevorrichtung, wie einer Tastatur und einer Maus, sowie einer Ausgabevorrichtung, wie einer externen Speichervorrichtung und einer Übertragungsvorrichtung, verbunden und wird verwendet, wenn verschiedene Datensätze von der Eingabevorrichtung erhalten werden und Inspektionsergebnisse herausübertragen werden.
  • Die Bildverarbeitungsvorrichtung 1, wie sie oben gezeigt ist, ist nicht nur dafür ausgelegt, einen Meßbereich auf einem eingegebenen Bild, welches ein Zielobjekt für die Untersuchung enthält, einzustellen, sondern auch dazu, über den E/A-Anschluß 10, eingegebene Daten, welche die die Kontur des Zielobjekts bildenden Segmente charakterisieren und als Bedingungen für deren Extraktion zu verwenden sind, zu empfangen. Solch ein Meßbereich wird gemäß vorläufig eingestellten Bedingungen ausgewählt, aber ein gewünschter Bereich einer gewünschten Größe kann an irgendeiner gewünschten Position durch Maßnahmen des Benutzers eingestellt werden, jedesmal wenn ein neues Bild eingegeben wird. Ein eingegebenes Bild kann auch insgesamt als Meßbereich ausgewählt werden.
  • 2 zeigt eine Folge von Meßprozessen, die durch die Bildverarbeitungsvorrichtung 1 ausgeführt werden. Die Vorgänge werden als nächstes nacheinander gemäß 2 und unter Bezugnahme auf 3 bis 14 erläutert.
  • Im ersten Schritt (Schritt ST1) werden, was nachfolgend als Randpixel bezeichnet wird, herausgezogen. Dies geschieht durch Abtasten des Bildes mit einer 3 × 3 Maske wie in 3 gezeigt, und Berechnen, an jeder der abgetasteten Positionen, von Dichtegradienten Ex(x, y) und Ey(x, y) in der x-Richtung und der y-Richtung auf dem Bild und der Größe des Dichtegradienten (nachfolgend als Randintensität (Ei(x, y) bezeichnet) an der Position des Mittelpixels g bei Koordinaten (x, y). Wenn der Wert dieser Randintensität Ei(x, y) einen bestimmten Schwellenwert überschreitet, wird das entsprechende Pixel g als Randpixel identifiziert. Die Dichtegradienten Ex(x, y) und Ey(x, y) werden folgendermaßen berechnet: Ex(x, y) = {I(x + 1, y – 1)+ 2I(x + 1, y) + I(x + 1, y + 1)} – {I(x – 1, y – 1) + 2I(x – 1, y) + I(x – 1, y + 1)}, Ey(x, y) = {I(x – 1, y + 1) + 2I(x, y + 1) + I(x + 1, y + 1)} -{I(x – 1, y – 1) + 2I(x, y – 1) + I(x + 1, y – 1)}, wobei I(x, y) den Bilddichtewert an der Position (x, y) angibt und Ei(x, y) = {(ex(x, y))2 + (Ey(x, y))2}1/2
  • Wenn ein vereinfachter Ausdruck, der für einen schnellen Vorgang geeignet ist, gewünscht wird, kann der Ausdruck für Ei(x, y) durch Folgendes ersetzt werden: Ei(x, y) = Ex(x, y) + Ey(x, y).
  • Gemäß dem gerade beschriebenen Beispiel wird das Abtasten mit der Maske durch einen Sofware-Vorgang durchgeführt, wie unten noch detaillierte erläutert werden wird, hiermit soll jedoch nicht der Bereich der Erfindung begrenzt werden. Eine Differenzialschaltung für diese spezielle Anwendung kann zum Durchführen des Herausziehens von Randpixeln parallel mit der Eingabe eines Bildes in den Bildspeicher 3 und zur Durchführung der nachstehend beschriebenen Prozesse unter Verwendung der herausgezogenen Randpixel verwendet werden.
  • Die Dichtegradienten Ex(x, y) und Ey(x, y) geben die x-Komponente und die y-Komponente der Änderungsrate der Dichte an der Position des Pixels g an der Position (x, y) an und die Randintensität Ei(x, y) kann als die Länge des Vektors aufgefaßt werden, der die Vektorsumme der beiden Vektoren längs der x-Achse und der y-Achse mit einer Länge gegeben durch Ex(x, y) und Ey(x, y) ist. Wie oben erläutert, sind Randpixel diejenigen der Pixel des Bildes, an welchen die Größe von Ei(x, y) einen bestimmten Schwellenwert überschreitet, und die Richtung des durch Ei(x, y) dargestellten Summenvektors ist die Richtung in der die Dichte auf dem Bild sich ändert bzw. die Richtung des Dichtegradienten.
  • Im Schritt ST2 wird die Richtung eines jeden im Schritt ST1 herausgezogenen Randpixels berechnet. Ein Winkel, der die Richtung eines jeden Randpixels als numerische Information darstellt, wird nachfolgend als Randcode bezeichnet. Die Anzahl von innerhalb eines vorgegebenen Meßbereichs herausgezogenen Randpixeln wird gemäß ihren Randcodes berechnet und ein Histogramm so erstellt. Dieses Histogramm wird nachfolgend als Randcode-Histogramm bezeichnet.
  • 4 zeigt deutlicher, wie ein Randcode dargestellt werden kann. In 4 gibt ein Buchstabe E eines der Randpixel an, wie oben erläutert. Ein Vektor F in Richtung eines Bereichs niedriger Dichte aus einem Bereich hoher Dichte gibt die Richtung des Dichtegradienten an, und ein Vektor C welcher senkrecht zum Vektor F ist, wird als die Richtung des Randpixels E definiert. 4 nimmt an, daß das Zielobjekt eine niedrigere Dichte hat (dunkler ist) als der Hintergrund. Wenn das Zielobjekt heller als der Hintergrund ist, können die Richtungen der Vektoren F und C umgekehrt werden. In 4 ist ein Vektor B ein Vektor in Richtung der +x-Achse. Der Drehwinkel im Gegenuhrzeigersinn aus dem Vektor B in den Vektor C ist als der Randcode Ec(x, y) des Randpixels E definiert.
  • Aus den oben gegebenen Definitionen sollte klar sein, daß der Randcode Ec(x, y) und die Dichtegradienten Ex(x, y) und Ey(x, y) folgendermaßen in Beziehung stehen:
    Ec(x, y) = atan{Ey(x, y)/Ex(x, y)} wenn Ex (x, y) > 0 und Ey(x, y) ≥ 0;
    Ec(x, y) = 360° + atan{Ey(x, y)/Ex(x, y)} wenn Ex(x, y) > 0 und Ey(x, y) < 0;
    Ec(x, y) = 180° + atan{Ey(x, y)/Ex(x, y)} wenn Ex(x, y) < 0;
    Ec(x, y) = 0° wenn Ex(x, y) = 0 und Ey(x, y) > 0; und
    Ec(x, y) = 180° wenn Ex(x, y) = 0 und Ey(x, y) < 0.
  • Ein Histogramm von Randcodes wird durch Berechnen des Randcodes Ec(x, y) eines jeden Pixels innerhalb des Meßbereichs, wie oben erläutert, und durch Zusammenzählen des Häufigkeitswerts für jeden Randcode erzeugt. Alternativ können die mit der Randintensität Ei(x, y) des entsprechenden Pixels gewichteten Häufigkeitswerte aufsummiert werden. Gemäß dem Beispiel, das gerade beschrieben wird, sind die Winkel auf dem Randcode-Histogramm in Einheiten von 1° zur Durchführung einer digitalen Verarbeitung eingestellt. Zur Beseitigung von Rauschen wird ferner das Histogramm geglättet, nachdem die Berechnungen aller Randpixel und die Addition von Häufigkeitszahlen abgeschlossen sind.
  • Die Erzeugung des Histogramms braucht nicht zu erfolgen, nachdem die Randpixel alle aus dem Meßbereich herausgezogen worden sind. Es kann eine Suche sequentiell innerhalb des Meßbereichs durchgeführt werden, und sobald ein Randpixel herausgezogen ist, kann die Berechnung des Randcodes und das Zusammenzählen der Häufigkeitszahl bewirkt werden.
  • Der Randcode eines jedes Pixels, das ein Liniensegment auf einem Bild bildet, sollte den gleichen Wert haben, die Steigung des Liniensegments darstellend. Wenn es daher ein Liniensegment innerhalb des Meßbereichs gibt, wird eine Spitze, die in der Nähe des Winkels erscheint, der der Steigerung des Liniensegments im Randcode-Histogramm entspricht, hoch. Wenn mehrere Liniensegmente mit unterschiedlichen Steigungen innerhalb des Meßbereichs vorhanden sind, erscheint eine Spitze, entsprechend jeder der Steigungen des Liniensegments.
  • Es sei nun beispielsweise ein in 5A gezeigtes Bild mit veränderlicher Dichte betrachtet, wobei 16 ein Bild eines Zielobjekts bezeichnet. Dies ist ein Beispiel eines Bildes mit niedrigerer Dichte als der Hintergrund, wobei das Zielobjekt eine kreuzförmige Kontur aufweist, die Liniensegmente in vier Richtungen enthält. 5B ist ein anhand des Bildes der 5A gewonnenes Randcode-Histogramm mit vier Spitzen P1–P4, die den vier Richtungen der im Konturbild enthaltenden Liniensegmente entspricht.
  • Im nächsten Schritt (ST3) werden Winkel (Richtungen) herausgezogen, die diesen Spitzen auf dem Histogramm entsprechen. Dies geschieht, indem Häufigkeitswerte bei verschiedenen Winkeln auf dem Histogramm von der Seite kleinerer Winkel (ausgenommen, daß der Häufigkeitswert beim Randcode 359° mit dem Häufigkeitswert bei Randcode 0° verglichen wird) her verglichen werden und Spitzen, die höher als eine bestimmte Höhe sind, herausgezogen und die Winkel, die diesen Spitzen entsprechen, identifiziert werden.
  • Nachdem die Winkellagen der Spitzen also gewonnen sind, werden sie individuell gekennzeichnet (ST4), wonach diese Label den Randpixeln zugeordnet werden, wobei Randcodes diesen Winkeln entsprechen (Schritt ST5). Diejenigen der Randpixel mit einem Randcode, die nicht gekennzeichnet sind, und Pixel, die kein Randpixel sind, werden beispielsweise als ”null” gekennzeichnet, um anzugeben, daß sie nicht Gegenstand der Verarbeitung sind. Es wird im Schritt ST5 bevorzugt, das Label für eine Spitze nicht nur dem Randpixel mit einem Randcodewert, der dem oberen Ende der zugeordneten Spitze entspricht, sondern auch allen Randpixeln mit Randcodes, die sich innerhalb eines endlichen Winkelbereichs befinden (wie etwa diejenigen, die einem Abschnitt des Histogramms mit einer einen bestimmten Wert überschreitenden Höhe entsprechen, oder diejenigen innerhalb eines bestimmten Bereiches von Winkel um den Maximalwert herum) zuzuordnen. In 5B wird, nachdem die vier Spitzen P1–P4 identifiziert worden sind, ein Winkelbereich für jede der Spitzen P1–P4 ausgewählt, bei welchem die Häufigkeit verhältnismäßig hoch ist, und die Winkel innerhalb dieser Bereiche werden mit θ1–θ4 gekennzeichnet. 6A zeigt ein so gewonnenes gekennzeichnetes Bild. In dem dargestellten Beispiel weist jedes der Liniensegmente eines der Label θ1–θ4, die ihm zugeordnet sind, auf, weil jeder der Randcodes der Randpixel, die die Liniensegmente bilden, einer der Spitzen P1–P4 entspricht.
  • In dem in 6A gezeigten Beispiel wird, wenn eine Anzahl von Liniensegmenten in dem Bild entsprechend dem gleichen Randcode vorhanden sind, ein und dasselbe Label diesen Liniensegmenten zugeordnet. Die einzelnen Liniensegmente in dem Bild können durch die Verarbeitung des Schrittes ST5 allein nicht vollständig getrennt werden. Im Schritt ST6 werden daher die Liniensegmente so gekennzeichnet, daß unterschiedliche Liniensegmente unterschiedlichen Labels zugeordnet werden. Der Vorgang im Schritt ST5 wird nachfolgend als vorläufige Kennzeichnung bezeichnet, und der Vorgang des Schritts ST6 als der abschließende Kennzeichnungsprozeß.
  • In dem abschließenden Kennzeichnungsprozeß im Schritt ST6, werden Randpixel, die kontinuierlich sind und denen im vorhergehenden vorläufigen Kennzeichnungsprozeß im Schritt ST5 das gleiche Label zugeordnet worden ist, herausgezogen. Unterschiedliche Label werden jeder dieser Gruppen zugeordnet, um ein weiteres gekennzeichnetes Bild auszubilden.
  • 6B zeigt ein Ergebnis eines abschließenden Kennzeichnungsprozesses, der auf dem in 6A gezeigten gekennzeichneten Bild ausgeführt wird. Die drei in 6A als θ1 gekennzeichneten Liniensegmente sind nun unterschiedlich als θ11, θ12 und θ13 gekennzeichnet. Ähnlich werden die drei als θ2 in 6A gekennzeichneten Liniensegmente nun unterschiedlich als θ21, θ22 und θ23, die drei in 6A als θ3 gekennzeichneten Liniensegmente nun unterschiedlich als θ31, θ32 und θ33 gekennzeichnet und die drei in 6A als θ4 gekennzeichneten Liniensegmente nun unterschiedlich als θ41, θ42 und θ43 gekennzeichnet.
  • Jedes Liniensegment kann nun durch solche zwei Kennzeichnungsprozesse unterschiedlich gekennzeichnet werden. Jede Gesamtheit von Randpixeln, die dem gleichen Label zugeordnet sind, werden nachfolgend als Label-Gesamtheit bezeichnet. In Schritt ST7 werden die folgenden Berechnungen (A)–(F) für jede Label-Gesamtheit durchgeführt, um Charakteristika eines jeden Liniensegments zu gewinnen. In Nachstehendem gibt F die Summation über alle Randpixel innerhalb einer Label-Gesamtheit, (xn, yn) die Koordinaten eines Randpixels innerhalb der Label-Gesamtheit und Ei(xn, yn) Ec((xn, yn) die Randintensität und den Randcode des bei (xn, yn) Positionierten Randpixels an.
  • (A) Dichtemitte (GX, GY)
  • Die Koordinaten GX und GY des Schwerpunkts eines jeden Liniensegments, das durch eine Label-Gesamtheit dargestellt ist, werden folgendermaßen unter Verwendung der Randintensität Ei(xn, yn) eines jeden Randpixels der Label-Gesamtheit als Gewichtungsfaktors berechnet: GX = Σ{Ei(xn, yn)xn}/Ei(xn, yn)} GY = Σ{Ei(xn, yn)yn}/Ei(xn, yn)}.
  • (B) Richtungssummen (SCX, SCY)
  • Sie sind die Gesamtsummen der x-Komponenten und der y-Komponenten der Randcodes der Randpixel einer jeden Label-Gesamtheit. Sie werden folgendermaßen berechnet: SCX = Σcos{Ec(xn, yn)} SCY = Σsin{xn, yn)}.
  • (C) Mittlere Richtung (EC)
  • Dies charakterisiert die Steigung eines durch eine Label-Gesamtheit dargestellten Liniensegments und kann folgendermaßen, abhängig von der Größenbeziehung zwischen SCX und SCY, berechnet werden:
    EC = atan(SCX/SCY) wenn SCY > 0 und SCY ≥ 0,
    EC = 360° + atan(SCY/SCX) wenn SCX > 0 und SCY < 0,
    EC = 180° + atan(SCY/SCX) wenn SCX < 0,
    EC = 0 wenn SCX = 0 und SCY > 0,
    EC = 180° wenn SCX = O und SCY < 0.
  • (D) Geradengleichung
  • Diese stellt eine Gerade (angegeben durch den Buchstaben P in 7) dar, welche durch das durch die Label-Gesamtheit gezeigte Liniensegment verläuft und in Richtungssummen und Dichtemitte folgendermaßen geschrieben wird: (SCY)x + (SCX)y – {(SCY)(GX) + (SCX)(GX)} = 0.
  • (E) Koordinaten von Endpunkten ((x1, y1), (x2, y2))
  • Dies sind die Koordinaten der Endpunkte des Liniensegments. Im Hinblick auf Messungsschwankungen werden die folgenden Berechnungen zur Gewinnung der Koordinaten der Endpunkte, die sich auf der Linie P befinden, durchgeführt. Zunächst werden die Maximalwerte und Minimalwerte der x-Koordinaten und der y-Koordinaten des Randaufbaus (xmax, ymax, xmin und ymin) herausgezogen und Endpunkte versuchsweise an (x'1, y'1) und (x'2, y'2) plaziert, wobei x'1 und x'2 gleich xmin bzw. xmax sind, die y-Koordinaten der Versuchsweise definierten Endpunkte werden aber so ausgewählt, daß y'1 = ymin und y'2= ymax, wenn (SCY)(SCX) ≥ 0, aber so, daß y'1 = ymax und y'2 = ymin, wenn (SCY)(SCX) < 0. Nachdem die Endpunkte so versuchsweise bestimmt sind, werden Linien, die durch diese versuchsweise bestimmten Endpunkte gehen und senkrecht zur Linie P sind, betrachtet, und die Punkte, an denen diese beiden Linien die Linie P schneiden, werden abschließend als die Koordinaten (x1, y1) (x2, y2) der Endpunkte definiert.
  • (F) Länge von Liniensegment (L)
  • Dies stellt den Abstand zwischen den vorgenannten zwei Endpunkten dar und kann aus ihren Koordinaten gewonnen werden.
  • Von diesen durch die Berechnungen (A)–(F) gewonnen Kenngrößen zeigt 7 die Dichtemitte GX und GY, die durch das Liniensegment gehende Gerade p, die Länge L des Liniensegments und die Endpunkte des Liniensegments (x1, y1), (x2, y2).
  • Im Schritt ST8 werden diese Kenngrößen zur Feststellung genutzt, ob Liniensegmente vorhanden sind, welche als ein einziges Liniensegment darstellend betrachtet werden können. Wenn eine Gruppe solcher Liniensegmente entdeckt wird, werden die konstituierenden Randpixel dieser Segmente zusammengelegt (vereinigt), um so eine Label-Gesamtheit zu bilden, und ihnen wird ein neues Label zugeordnet. Ferner werden die Berechnungen (A)–(F) auf diesen neu ausgebildeten Label-Gesamtheiten ausgeführt. Die so zusammengelegten Labelgesamtheiten sowie die Ergebnisse der Berechnungen (A)–(F) auf ihnen werden nicht gelöscht, sondern aufrechterhalten.
  • Ein Programm zur Prüfung, ob eine solche Vereinigung von Liniensegmenten möglich ist oder nicht, wird als nächstes unter Bezugnahme auf die 8 und 9 erläutert. In 9 geben A und B betrachtete Liniensegmente an, P1 und P2 sind Geraden, welche durch diese Liniensegmente A bzw. B verlaufen, und C gibt ein Liniensegment an, nachdem Liniensegmente A und B vereinigt worden sind. Um das Verständnis der Bedeutung dieser Parameter einfacher zu machen, werden der Orientierungsunterschied und die Versetzung zwischen den Liniensegmenten A und B in 9 übertrieben.
  • Diese Routine wird für jede Kombination von Liniensegmenten (aus zweien, in diesem Beispiel) innerhalb des Meßbereichs ausgeführt. Es seien zwei Liniensegmente A und B betrachtet und es sei geprüft, ob sie vereinigt werden können oder nicht. Im Schritt ST8-1 wird die Steigung (oder vorgenannte ”mittlere Richtung EC”) eines jeden Liniensegments A und B betrachtet, und es wird geprüft, ob ihre Differenz δ kleiner als ein bestimmter Schwellenwert ist. Als nächstes wird bestimmt, ob der Abstand d zwischen den zwei einander gegenüberliegenden Endpunkten der beiden Liniensegmente A und B (Punkte a2 und b1 in 9) kleiner als ein bestimmter Schwellenwert ist (Schritt ST8-2). Als nächstes wird die Länge L3 des vereinigten Liniensegments C als der Abstand zwischen den nicht einander gegenüberliegenden Endpunkten (a1 und b2 in 9) der Liniensegmente A und B berechnet, und es wird geprüft ob L3 kleiner als die Summe von individuellen Längen L1 und L2 der Liniensegmente A und B ist (Schritt ST8-3). Als nächstes wird die Lageversetzung h zwischen den Liniensegmenten als die Länge der Senkrechten berechnet, die vom näheren Endpunkt eines der Liniensegmente auf das andere Liniensegment (wie etwa Endpunkt a1) von der durch das andere Liniensegment gehenden Geraden (wie etwa B2) gefällt wird, und es wird geprüft, ob diese Lageversetzung h kleiner als ein bestimmter Schwellenwert ist (Schritt ST8-4). Wenn alle in den Schritten ST8-1 bis ST8-4 gemessenen Werte kleiner als der entsprechende Schwellenwert sind, wird geschlossen, daß die Liniensegmente A und B vereinigt werden können (Schritt ST8-5). Wenn irgendeiner dieser Meßwerte nicht kleiner als der entsprechende Schwellenwert ist, wird geschlossen, daß sie nicht vereinigt werden können (Schritt ST8-6).
  • Von diesen oben zu spezifizierenden Schwellenwerten kann der mit dem Abstand d zwischen den Endpunkten zu vergleichende Schwellenwert ziemlich groß eingestellt werden, aber diejenigen die mit der Differenz δ und der Versetzung h zu vergleichen sind, sollten vorzugsweise so klein wie möglich eingestellt werden.
  • Dies gilt, weil diese Differenzen δ und h als klein unter den Liniensegmenten, die anhand eines geradlinigen Abschnitts der Kontur eines Zielobjekts gewonnen werden, erwartet werden. Wenn andererseits ein großer Defekt auf einen geradlinigen Abschnitt vorhanden ist und mehrere Liniensegmente wegen eines solchen Großdefekts herausgezogen werden, ist der Abstand d zwischen den einander zugekehrten Endpunkten dieser Liniensegmente ziemlich groß, weshalb der mit d zu vergleichende Schwellenwert ziemlich groß eingestellt werden kann.
  • 10A und 10B zeigen Beispiele von Liniensegmenten A und B, die vereinigt werden und nicht vereinigt werden können. In beiden 10A und 10B besteht ein Unterschied zwischen den Steigungen der beiden Liniensegmente A und B, und obwohl der Abstand d zwischen ihren einander gegenüberliegenden Endpunkten (a und b) groß ist, ist die Lageversetzung h zwischen den Liniensegmenten A und B kleiner als die Breiten der Liniensegmente in Beispiel der 10A, und es kann geschlossen werden, daß die Liniensegmente A und B vereinigt werden können. Im Beispiel der 10B andererseits ist der Abstand d zwischen den Endpunkten (a und b) kleiner als in 10A, die Lageversetzung h überschreitet die Breite der Liniensegmente, und es wird deshalb geschlossen, daß die Liniensegmente A und B nicht vereinigt werden können.
  • Wenn eine Anzahl von Paaren von Liniensegmenten vorliegt, die vereinigt werden können, wie in 11 gezeigt, kann der oben beschriebene Prozeß für jedes solcher Paare durchgeführt werden, um ein neues Segment zu gewinnen, und solche neu gewonnenen Liniensegmente können weiter vereinigt werden. 11 zeigt ein Beispiel, im welchen Liniensegment A und B vereinigt werden, um ein neues Liniensegment C zu gewinnen, Liniensegmente B und D vereinigt werden, um ein neues Liniensegment zu gewinnen, und die beiden neu gewonnenen Liniensegmente C und E vereinigt werden, um ein einzelnes Liniensegment F zu gewinnen. Die durch Vereinigung gewonnenen Liniensegmente C, E und F können unterschiedlichen Labels zugeordnet werden, es wird aber bevorzugt, die Label der Originallabel der Liniensegmente A, B und D beizubehalten.
  • Nach dem der Prozeß des individuellen Herausziehens von Liniensegmenten aus einem Meßbereich und der Vereinigung derjenigen der Liniensegmente, die vereinigt werden können, werden diejenigen der Liniensegmente, die bestimmte vorgegebene Bedingungen für die Extraktion erfüllen, herausgezogen (Schritt ST9 in 2). Eine Bedingung zum Herausziehen eines einzelnen Liniensegments, wie seine Länge und Steigung, kann als Herausziehbedingung ausgewählt werden, es wird aber bevorzugt, eine Bedingung für das Herausziehen einer Anzahl von Liniensegmenten zum Zwecke der Messung der Lage und Orientierung eines Zielobjekts zu spezifizieren.
  • 12 zeigt ein Verfahren zum Herausziehen von Liniensegmenten, die zwei zueinander benachbarte Seiten auf der Kontur eines Zielobjekts bilden. Auch in diesem Fall werden Paare von Liniensegmenten innerhalb eines Meßbereichs sequentiell untersucht und jedes Paar (von Liniensegmenten A und B) geprüft, um zu bestimmen, ob die Längen L1 und L2 des Paares von Liniensegmenten A und B der Seite des Zielobjekts entsprechen. Wenn der Winkel zwischen den Liniensegmenten als die Herausziehbedingung spezifiziert wird, wird der Winkel α zwischen den Liniensegmenten A und B anhand der Gleichungen der Geraden P1 und P2, die durch die Liniensegmente A und B verlaufen, gewonnen, und der so gewonnene Winkel α wird mit der Herausziehbedingung verglichen.
  • 13 zeigt ein weiteres Beispiel, wo die Herausziehbedingung ein herauszuziehendes Paar von parallelen Liniensegmenten erfordert. In diesem Beispiel wird die Differenz der Steigung der Liniensegmente in jedem Paar gewonnen und diejenigen Paare, für welche diese Differenz einen Wert nahezu gleich null annimmt. Wenn der Abstand zwischen den Liniensegmenten ebenfalls als eine Bedingung für das Herausziehen eingeschlossen ist, wird der Abstand anhand der Formeln für die Geraden P1 und P2, die durch die Liniensegmente A und B, die als parallel betrachtet werden, verlaufen, berechnet, und dies wird mit einer gegebenen Bedingung verglichen. Die Längen der Liniensegmente können ebenfalls zu einer Herausziehbedingung wie in dem oben unter Bezug auf 12 erläuterten Beispiel gemacht werden. Wenn der Abstand zwischen den herauszuziehenden Liniensegmenten beim Verfahren der 13 extrem klein ist, kann sogar ein gerader Kratzer mit einer sehr kleinen Breite nachgewiesen werden.
  • 14A und 14B zeigen ein Beispiel wo das Erfordernis ist, Liniensegmente herauszuziehen, die ein Rechteck einer bestimmten Größe bilden. Für diesen Fall werden zwei Paare von Liniensegmenten, die gegenüberliegenden Paaren von Seiten eines Rechtecks entsprechen, wie in 14A mit einem Paar von Liniensegmenten A und B und einem weiteren Paar von Liniensegmenten C und D gezeigt, herausgezogen. Das Herausziehen eines jeden Paares wird, wie oben unter Bezugnahme auf 13 erläutert, durchgeführt. Liniensegmente E, F und G sind diejenigen, die die Bedingung, paralleles Liniensegment zu sein, nicht erfüllen.
  • Nachdem ermittelt ist, daß die Differenz zwischen den Steigungen der herausgezogenen Paare von Liniensegmenten ungefähr 90° ist, werden der Bereich r, der durch die Linien definiert ist, die die Gewichtsmitten g1–g4 der Liniensegmente (im Sinne von GX und GY) verbinden, und Linien m1, m2, die die Gewichtsmitte der Paare von jeweils parallelen Liniensegmenten verbinden, identifiziert, wie dies in 14B gezeigt ist. Wenn der Überkreuzungspunkt der Linien m1 und m2 innerhalb des Bereichs r liegt, wird geschlossen, daß die Linien θ1–θ4 ein Rechteck bilden.
  • Nachdem solche Liniensegmente, die bestimmte Extraktionsbedingungen erfüllen, herausgezogen sind, wird ein Bild zur Wiedergabe der Ergebnisse dieses Prozesses erzeugt (Schritt ST10 in 2), beispielsweise indem die extrahierten Liniensegmente in einer bestimmten Farbe oder mit einem bestimmten Helligkeitswert wiedergegeben werden. Das so erzeugte Bild wird auf den Monitor 9 zur Wiedergabe übertragen. Wenn, wie in 12 gezeigt, der Punkt (cx, cy), an welchem zwei Liniensegmente oder zwei Geraden, anhand der Gleichungen für die Geraden gewonnen wird, kann das Bild zur Anzeige eines solchen Überkreuzungspunkts durch eine Markierung einer bestimmten Art gebildet werden.
  • Da Messungen gemäß dieser Erfindung durch Verwendung von Randpixeln auf einem dichtevariablen Bild durchgeführt werden, sind Fehler durch eine Änderung der Helligkeit des Bildes infolge einer anderen Beleuchtungsbedingung unwahrscheinlich, weshalb zuverlässige Messungen erwartet werden können. Wo Zielobjekte sich wahrscheinlich in Größe oder Orientierung ändern, können die Extraktionsbedingungen zu den Längen und Steigungen von Liniensegmenten schonend eingestellt werden, oder aber es kann von lediglich anderen Bedingungen Gebrauch gemacht werden, um zu analysierende Liniensegmente herauszuziehen. Es können also Inspektionen auf hohem Genauigkeitswert durchgeführt werden.
  • Die Erfindung wurde anhand eines Beispiels beschrieben, dieses Beispiel soll aber den Bereich der Erfindung nicht begrenzen. Viele Abwandlungen und Änderungen sind im Rahmen der Erfindung möglich. Beispielsweise wurde, nachdem Liniensegmente, die die Kontur eines Zielobjekts bilden, aus einem Meßbereich herausgezogen worden sind, oben einfach erklärt, daß die Extraktionsergebnisse angezeigt werden, solche Ergebnisse können aber auch zur Berechnung der Lage und Orientierung des Zielobjekts verwendet werden. Wenn das Zielobjekt eine rechteckige Kontur, wie in 14A gezeigt, beispielsweise hat, kann die Lage des Zielobjekts unter Verwendung der Gleichungen der durch die herausgezogenen Liniensegmente A bis D gehenden Geraden bestimmt werden, um einen Meßbereich zu definieren, und dann die Lage des Schwerpunkts dieses Bereichs als die Lage des Zielobjekts darstellend berechnet werden. Die Orientierung des Zielobjekts kann mit der Steigung eines der Paare der herausgezogenen Liniensegmente, wie etwa des Paares der längeren Liniensegmente A und B, dargestellt werden.
  • Da die oben unter Bezugnahme auf die 8 und 9 erläuterten Prozesse dazu benutzt werden können, Konturlinien herauszuziehen, die durch einen Defekt auf der Konturlinie eines Zielobjekts getrennt worden sind, können die gleiche Prozesse auch zur Feststellung des Vorhandenseins eines Defekts auf einer Konturlinie verwendet werden. Wenn das Objekt eine Inspektion einfach die Bestimmung des Vorhandenseins oder Fehlens eines Defekts ist, können Messungen vorab auf einen Standardobjekt ohne jeden Defekt durchgeführt werden, und eine geeignete Anzahl von herausgezogenen Liniensegmenten innerhalb eines Meßbereichs bestimmt werden. Bei der Inspektion eines Zielobjekts kann einfach geprüft werden, ob die Anzahl herausgezogener Liniensegmente, die anhand eines zu inspezierenden Bildes gewonnen ist, die vorläufig bestimmte Anzahl erreicht.
  • Es wurde oben gezeigt, ein Randcode-Histogramm in Vorwegnahme der Möglichkeit zu erstellen, daß das Zielobjekt falsch orientiert ist, und die diesen Liniensegmenten entsprechenden Maximalwerte herauszuziehen. Wie hier nicht beansprucht wird, kann jedoch, wenn Bilder von Zielobjekten unter stabilen Bedingungen ohne falsche Positionierung der Zielobjekte gewonnen werden können, die Orientierung einer Kontur eines Modellobjekts auf einem dichtevariablen Bild vorläufig über einen E/A-Anschluß eingegeben werden. Dieser Orientierung der Kontur entsprechende Liniensegmente können herausgezogen werden, indem die Randpixel mit Randcodes, die der vorläufig bestimmten Konturorientierung eines Zielobjekts entsprechen, herausgezogen werden. Die Anordnung kann auch so getroffen werden, daß ausgewählt zwischen Prozessen, die die Erstellung eines Randcode-Histogramms enthalten und anderen nicht beanspruchten Prozessen, die kein Randcode-Histogramm benutzen, umgeschaltet wird.

Claims (18)

  1. Ein Verfahren zur Verarbeitung eines dichtevariablen Bildes eines Zielobjekts mit einer Kontur, welche geradlinige Abschnitte enthält, wobei das Bild diese Kontur darstellende Randpixel aufweist, wobei das Verfahren gekennzeichnet ist durch: einen Linienkennzeichnungsschritt des Setzens eines unterschiedlichen Kennzeichens für jede der Richtungen der geradlinigen Abschnitte, wobei der Linienkennzeichnungsschritt einen Histogrammherstellungsschritt (ST 2) der Erstellung eines Histogramms aus einer Anzahl von Randpixeln mit unterschiedlichen Richtungen, und einen Spitzenkennzeichensetzschritt (ST 3) des Herausziehens von Spitzen aus dem Histogramm und Setzens eines unterschiedlichen Kennzeichens für jede der Richtungen von Randpixeln, die einer anderen der herausgezogenen Spitzen entsprechen, umfasst, wobei der Histogrammherstellungsschritt und der Spitzenkennzeichensetzschritt so ausgeführt werden, dass die Kennzeichen jeweils für eine der Richtungen der geradlinigen Abschnitten, die in der Kontur des Zielobjekts enthalten sind, gesetzt werden; einen Pixelkennzeichnungsschritt (ST 5) der Zuordnung eines jeden der unterschiedlichen Kennzeichen, die in dem Spitzenkennzeichensetzschritt gesetzt wurden, zu jedem der Randpixel, die die dem jeweiligen unterschiedlichen Kennzeichen entsprechende Richtung aufweisen; und einen Liniensegmentextrahierschritt (ST 6) des Herausziehens, als Liniensegment, einer Gesamtheit, bestehend aus denjenigen Randpixeln, die auf dem Bild kontinuierlich sind und denen ein gleiches der Kennzeichen zugeordnet ist, wobei der Linienkennzeichnungsschritt, der Pixelkennzeichnungsschritt und der Liniensegmentextrahierschritt nacheinander ausgeführt werden.
  2. Das Verfahren nach Anspruch 1, welches ferner einen Vereinigungsschritt (ST 8), wenn die in dem Liniensegmentextrahierschritt (ST 6) herausgezogenen Liniensegmente ein Paar mit einer Lageversetzung, die kleiner als ein bestimmter maximaler Versetzungswert ist, und einer Richtungsdifferenz, die kleiner als ein bestimmter maximaler Richtungsdifferenzwert ist, enthalten, der Vereinigung des Paars zu einem einzigen vereinigten Segment umfasst.
  3. Das Verfahren nach Anspruch 1, welches ferner einen Auswahlschritt (ST 9) des Auswählens derjenigen der Liniensegmente aus den im Extrahierschritt herausgezogenen Liniensegmenten, die bestimmte Liniensegmentauswahlbedingungen erfüllen, umfasst.
  4. Das Verfahren nach Anspruch 2, welches ferner einen Auswahlschritt des Auswählens derjenlgen der Liniensegmente aus den im Extrahierschritt (ST 6) herausgezogenen Liniensegmenten und aus den im Vereinigungsschritt (ST 8) vereinigten Liniensegmenten, die bestimmte Liniensegmentauswahlbedingungen erfüllen, umfasst.
  5. Das Verfahren nach Anspruch 3 oder 4, welches ferner einen Anzeigeschritt (ST 10) des unterscheidbaren Anzeigens auf den Bildpositionen der in dem Auswahlschritt ausgewählten Liniensegmente umfasst.
  6. Das Verfahren nach Anspruch 3 oder 4, welches ferner einen Anzeigeschritt des unterscheidbaren Anzeigens auf den Bildpositionen von Überkreuzungspunkten von Verlängerungen einer Anzahl der in dem Auswahlschritt ausgewählten Liniensegmente umfasst.
  7. Das Verfahren nach Anspruch 1, welches ferner einen Defektfeststellschritt der Bestimmung, ob ein Defekt in geradlinigen Abschnitten der Kontur des Zielobjekts vorliegt oder nicht, durch Untersuchung der in dem Liniensegmentextrahierschritt (ST 6) herausgezogenen Liniensegmente umfasst.
  8. Das Verfahren nach Anspruch 7, wobei in dem Defektfeststellschritt bestimmt wird, wenn ein Paar von Liniensegmenten unter den in dem Liniensegmentextrahierschritt (ST 6) herausgezogenen Liniensegmenten vorliegt, wobei das Paar von Liniensegmenten Richtungen hat, deren Differenz innerhalb eines bestimmten Bereiches liegt, und eine Lageversetzung innerhalb einer bestimmten Grenze hat, dass ein Defekt zwischen dem Paar von Liniensegmenten vorliegt.
  9. Das Verfahren nach Anspruch 7, wobei in dem Defektfeststellschritt bestimmt wird, dass ein Defekt in einem geradlinigen Abschnitt der Kontur eines Zielobjekts vorliegt, indem die Anzahl von in dem Liniensegmentextrahierschritt (ST 6) herausgezogenen Liniensegmenten mit einem bestimmten Standardwert verglichen wird, und wenn die Anzahl von dem bestimmten Standardwert verschieden ist.
  10. Eine Bildverarbeitungsvorrichtung, welche aufweist: Bildeingabemittel (2) zur Eingabe eines dichtevariablen Bilds eines eine Kontur aufweisenden Zielobjekts; Randpixelextrahiermittel zum Herausziehen von in dem Bild enthaltenen Randpixeln; Orientierungsmittel zur Berechnung der Richtungen der herausgezogenen Randpixel; wobei die Bildverarbeitungsvorrichtung gekennzeichnet ist durch Richtungsetzmittel zum Setzen von Richtungen von in der Kontur enthaltenen geradlinigen Abschnitten, wobei die Richtungssetzmittel Histogrammherstellungsmittel zur Erstellung eines Histogramms aus einer Anzahl von Randpixeln mit verschiedenen Richtungen und Spitzenkennzeichenextrahiermittel zum Herausziehen von Spitzen aus dem Histogramm aufweisen; Linienkennzeichnungsmittel zum Setzen eines unterschiedlichen Kennzeichens der Kennzeichen für jede der Richtungen der geradlinigen Abschnitte, indem ein unterschiedliches Kennzeichen für jede der Richtungen der Randpixel, die einer anderen Spitze der herausgezogenen Spitzen entsprechen, gesetzt wird; Pixelkennzeichnungsmittel zum Zuordnen jedes der mit den Linienkennzeichnungsmitteln gesetzten unterschiedlichen Kennzeichen zu jedem der Randpixel mit einer Richtung, die dem jeweiligen unterschiedlichen Kennzeichen entspricht; und Liniensegmentextrahiermittel zum Herausziehen, als Liniensegment, einer Gesamtheit, bestehend aus denjenigen der Randpixel, die auf dem Bild kontinuierlich sind und denen das gleiche der Kennzeichen zugeordnet ist.
  11. Die Bildverarbeitungsvorrichtung nach Anspruch 10, welche ferner Vereinigungsmittel, die dazu dienen, wenn die mit den vorgenannten Liniensegmentextrahiermitteln herausgezogenen Liniensegmente ein Paar mit einer Lageversetzung kleiner als ein bestimmter maximaler Versetzungswert und einer Richtungsdifferenz kleiner als ein bestimmter maximaler Richtungsdifferenzwert enthalten, das Paar zu einem einzigen vereinigten Segment zu vereinigen.
  12. Die Bildverarbeitungsvorrichtung nach Anspruch 10, welche ferner Auswahlmittel zum Auswählen aus den durch das Liniensegmentextrahieren herausgezogenen Liniensegmenten von denjenigen der Liniensegmente, die bestimmte Liniensegmentauswahlbedingungen erfüllen, aufweist.
  13. Die Bildverarbeitungsvorrichtung nach Anspruch 11, welche ferner Auswahlmittel zum Auswählen aus den mit den Liniensegmentextrahiermitteln herausgezogenen Liniensegmenten und aus den mit den Vereinigungsmitteln vereinigten Liniensegmenten von denjenigen der Liniensegmente, die bestimmte Liniensegmentauswahlbedingungen erfüllen, aufweist.
  14. Die Bildverarbeitungsvorrichtung nach Anspruch 12 oder 13, welche ferner Anzeigemittel zum Anzeigen von Positionen der mit den Auswahlmitteln ausgewählten Liniensegmente in unterscheidbarer Weise auf dem Bild aufweist.
  15. Die Bildverarbeitungsvorrichtung nach Anspruch 12 oder 13, welche ferner Anzeigemittel zur unterscheidbaren Anzeige an den Bildpositionen von Überkreuzungspunkten von Verlängerungen einer Anzahl der mit den Auswahlmitteln ausgewählten Liniensegmente aufweist.
  16. Die Bildverarbeitungsvorrichtung nach Anspruch 10, welche ferner Defektfeststellmittel zur Bestimmung, ob ein Defekt in einem geradlinigen Abschnitt der Kontur des Zielobjekts vorliegt oder nicht, durch Untersuchung der mit den Liniensegmentextrahiermitteln herausgezogenen Liniensegmente aufweist.
  17. Die Bildverarbeitungsvorrichtung nach Anspruch 16, wobei die Defektfeststellmittel bestimmen, wenn ein Paar von Liniensegmenten unter den mit den Liniensegmentextrahiermitteln herausgezogenen Liniensegmenten vorliegt, wobei das Paar von Liniensegmenten Richtungen, deren Differenz innerhalb eines bestimmten Bereichs liegt, und eine Lageversetzung innerhalb einer bestimmten Grenze hat, dass ein Defekt zwischen dem Paar von Liniensegmenten vorliegt.
  18. Die Bildverarbeitungsvorrichtung nach Anspruch 16, wobei die Defektfeststellmittel bestimmen, dass ein Defekt in einem geradlinigen Abschnitt der Kontur eines Zielobjekts vorliegt, indem die Anzahl von mit den Liniensegmentextrahiermitteln herausgezogenen Liniensegmente mit einem bestimmten Standardwert verglichen wird, und wenn die Anzahl von dem bestimmten Standardwert verschieden ist.
DE10157958A 2000-11-29 2001-11-26 Bildverarbeitungsverfahren und-vorrichtung Expired - Fee Related DE10157958B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP00-362159 2000-11-29
JP2000362159 2000-11-29

Publications (2)

Publication Number Publication Date
DE10157958A1 DE10157958A1 (de) 2002-08-29
DE10157958B4 true DE10157958B4 (de) 2012-11-15

Family

ID=18833482

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10157958A Expired - Fee Related DE10157958B4 (de) 2000-11-29 2001-11-26 Bildverarbeitungsverfahren und-vorrichtung

Country Status (2)

Country Link
US (1) US6954550B2 (de)
DE (1) DE10157958B4 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149356B2 (en) * 2002-07-10 2006-12-12 Northrop Grumman Corporation System and method for template matching of candidates within a two-dimensional image
US7116823B2 (en) 2002-07-10 2006-10-03 Northrop Grumman Corporation System and method for analyzing a contour of an image by applying a Sobel operator thereto
US7146057B2 (en) * 2002-07-10 2006-12-05 Northrop Grumman Corporation System and method for image analysis using a chaincode
JP4206723B2 (ja) * 2002-10-11 2009-01-14 オムロン株式会社 画像処理方法および画像処理装置
US7463770B2 (en) * 2003-07-21 2008-12-09 Lockheed Martin Corporation Methods and systems for detection of repeating patterns of features
US7343048B2 (en) * 2003-09-18 2008-03-11 Arcsoft, Inc. Edge based alignment algorithm
US7289147B2 (en) * 2004-02-03 2007-10-30 Hewlett-Packard Development Company, L.P. Method for providing image alignment feedback for panorama (composite) images in digital cameras using edge detection
US7545391B2 (en) * 2004-07-30 2009-06-09 Algolith Inc. Content adaptive resizer
JP4020110B2 (ja) * 2004-08-05 2007-12-12 ソニー株式会社 記憶制御装置、そのプログラム、その方法と再生装置
JP4859390B2 (ja) * 2005-05-10 2012-01-25 株式会社リコー 画像処理方法及び画像処理装置
US8213734B2 (en) * 2006-07-07 2012-07-03 Sony Ericsson Mobile Communications Ab Active autofocus window
US8355562B2 (en) * 2007-08-23 2013-01-15 Hitachi High-Technologies Corporation Pattern shape evaluation method
US8411983B2 (en) * 2007-08-31 2013-04-02 Ati Technologies Ulc Method and apparatus for producing a contrast enhanced image
JP5074896B2 (ja) * 2007-11-16 2012-11-14 株式会社キーエンス 検査支援システム及び画像処理コントローラ
KR101517004B1 (ko) * 2008-04-14 2015-05-06 삼성전자주식회사 영상 처리 방법
EP2442720B1 (de) 2009-06-17 2016-08-24 3Shape A/S Fokus-scanner
JP5759128B2 (ja) * 2009-09-18 2015-08-05 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP5152231B2 (ja) * 2010-03-12 2013-02-27 オムロン株式会社 画像処理方法および画像処理装置
JP5570866B2 (ja) * 2010-04-30 2014-08-13 オリンパス株式会社 画像処理装置、画像処理装置の作動方法、および画像処理プログラム
JP5620194B2 (ja) * 2010-08-24 2014-11-05 オリンパス株式会社 画像処理装置、画像処理方法、および画像処理プログラム
JP5658945B2 (ja) * 2010-08-24 2015-01-28 オリンパス株式会社 画像処理装置、画像処理装置の作動方法、および画像処理プログラム
CN103455995B (zh) * 2012-05-31 2016-08-03 富士通株式会社 图像处理装置、图像处理方法和扫描仪
US8971637B1 (en) * 2012-07-16 2015-03-03 Matrox Electronic Systems Ltd. Method and system for identifying an edge in an image
ITVI20120303A1 (it) * 2012-11-09 2014-05-10 St Microelectronics Srl Metodo per rilevare una linea retta in un'immagine digitale
JP6174894B2 (ja) * 2013-04-17 2017-08-02 キヤノン株式会社 画像処理装置および画像処理方法
US10010387B2 (en) 2014-02-07 2018-07-03 3Shape A/S Detecting tooth shade
US10152780B2 (en) 2015-11-02 2018-12-11 Cognex Corporation System and method for finding lines in an image with a vision system
US10937168B2 (en) * 2015-11-02 2021-03-02 Cognex Corporation System and method for finding and classifying lines in an image with a vision system
US9846929B2 (en) * 2016-03-24 2017-12-19 Hong Kong Applied Science and Technology Research Institute Company Limited Fast density estimation method for defect inspection application
CN110211179B (zh) * 2019-06-13 2023-07-21 深圳扑浪创新科技有限公司 显微图像标定方法、装置、终端和介质
CN111062954B (zh) * 2019-12-30 2022-07-08 中国科学院长春光学精密机械与物理研究所 一种基于差分信息统计的红外图像分割方法、装置及设备
CN112617870B (zh) * 2020-12-16 2024-05-03 哈尔滨文缔拓明科技有限公司 一种基于dr图像的成人髋关节角度获取方法
CN116758065B (zh) * 2023-08-14 2023-10-20 山东嘉利诺新材料科技有限公司 一种防火板表面缺陷快速检测方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6312074A (ja) * 1986-07-02 1988-01-19 Toshiba Corp ラベリング回路
US5081689A (en) * 1989-03-27 1992-01-14 Hughes Aircraft Company Apparatus and method for extracting edges and lines
JPH0676035A (ja) 1991-08-12 1994-03-18 Nippon Steel Corp 画像データ処理システム
JPH05165967A (ja) 1991-12-13 1993-07-02 Sony Corp 画像処理における形状認識方法
JPH08161493A (ja) 1994-12-08 1996-06-21 Mazda Motor Corp 線形状検出方法およびその装置
US5987173A (en) * 1995-03-27 1999-11-16 Nippon Steel Corporation Interactive drawing recognition processing method and apparatus thereof
JPH08315135A (ja) 1995-05-19 1996-11-29 Meidensha Corp 図面入力装置における線分検出方法
JPH0954892A (ja) 1995-08-18 1997-02-25 Ishikawajima Harima Heavy Ind Co Ltd 車幅計測方法及び装置
JP3581471B2 (ja) 1996-01-24 2004-10-27 キヤノン株式会社 画像処理装置及びその方法
US6453069B1 (en) * 1996-11-20 2002-09-17 Canon Kabushiki Kaisha Method of extracting image from input image using reference image
US6226402B1 (en) * 1996-12-20 2001-05-01 Fujitsu Limited Ruled line extracting apparatus for extracting ruled line from normal document image and method thereof
JP3800785B2 (ja) 1998-01-06 2006-07-26 スズキ株式会社 白線認識装置
JPH11232382A (ja) 1998-02-10 1999-08-27 Hitachi Ltd 罫線抽出方法及び罫線除去方法
JP4205825B2 (ja) * 1999-11-04 2009-01-07 本田技研工業株式会社 対象物認識装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Nai-Yung,Chen, Birk,J., Kelly,R.: "Estimating workpiece pose using the feature points method". IEEE Transactions on Automatic Control, Dec. 1980, Volume: 25, Issue: 6, page(s): 1027-1041 *
Venkateswar,V., Chellappa,R.: "Extraction of straight lines in aerial images". IEEE Transactions on Pattern Analysis and Machine Intelligence, Nov. 1992, Volume: 14, Issue: 11, pp: 1111-1114 *

Also Published As

Publication number Publication date
DE10157958A1 (de) 2002-08-29
US6954550B2 (en) 2005-10-11
US20020063893A1 (en) 2002-05-30

Similar Documents

Publication Publication Date Title
DE10157958B4 (de) Bildverarbeitungsverfahren und-vorrichtung
DE602004005358T2 (de) Objektdetektion in bildern
DE10000364B4 (de) Merkmalbasierende Feststellung von Fehlern
DE102009036474B4 (de) Bilddaten-Kompressionsverfahren, Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und computerlesbares Aufzeichnungsmedium
DE69828909T2 (de) Neue perzeptive lokale gradientenbasierte gratbestimmung
DE102012107287B4 (de) Computergestütztes Verfahren und Vorrichtung zum Identifizieren von Fehlern in einem Material
EP0014857B1 (de) Verfahren zum automatischen Markieren von Zellen und zur Bestimmung der Merkmale von Zellen aus zytologischen Abstrichpräparaten
DE4416801C2 (de) Verfahren zur Mustererkennung
DE3612233C2 (de)
DE10037697B4 (de) Adaptive Maskentechnik zur Inspektion von Defekten
DE60114469T2 (de) Methode und Gerät zur Bestimmung von interessanten Bildern und zur Bildübermittlung
DE102009051826A1 (de) Verfahren zum Vergleichen der Ähnlichkeit von 3D-bildlichen Objekten
DE112015000917T5 (de) Bildverarbeitungsgerät, Bildverarbeitungsverfahren und Bildverarbeitungsprogramm
DE60020038T2 (de) Verfahren zum Verarbeiten eines numerischen Bildes
DE112015000972T5 (de) Bildverarbeitungsgerät, Bildverarbeitungsverfahren und Bildverarbeitungsprogramm
DE102009036467A1 (de) Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitsprogamm und computerlesbares Aufzeichnungsmedium
EP1625936A2 (de) Verfahren zur qualitativen Beurteilung eines Materials mit mindestens einem Erkennungsmerkmal
WO2020157249A1 (de) Verarbeitung von bilddatensätzen
DE10317917A1 (de) System und Verfahren zum Umgrenzen und Klassifizieren von Regionen innerhalb einer graphischen Abbildung
DE102008013789A1 (de) Vorrichtung, Verfahren und Programm zum Eliminieren von Zeichenstörungen
DE69628654T2 (de) Messsystem zur bestimmung der globalen modulationsübertragungsfunktion
DE19919157A1 (de) Fehleranalyseverfahren und Vorrichtung
DE112014000367T5 (de) Bestimmen einer Position einer Ausgabe eines Inspektionssystems im Designdatenraum
DE10140735A1 (de) Verfahren und System zum automatischen Zusammensetzen von berechneten Radiographie-(CR) Bildern durch Weißband-Detektion und Konsistenz-Überprüfung
DE102005049017B4 (de) Verfahren zur Segmentierung in einem n-dimensionalen Merkmalsraum und Verfahren zur Klassifikation auf Grundlage von geometrischen Eigenschaften segmentierter Objekte in einem n-dimensionalen Datenraum

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R019 Grant decision by federal patent court
R082 Change of representative

Representative=s name: KILIAN KILIAN & PARTNER MBB PATENTANWAELTE, DE

Representative=s name: KILIAN KILIAN & PARTNER, DE

R020 Patent grant now final

Effective date: 20130216

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee