DE3415470A1 - Geraet und verfahren zum codieren und speichern von rasterabtastbildern - Google Patents
Geraet und verfahren zum codieren und speichern von rasterabtastbildernInfo
- Publication number
- DE3415470A1 DE3415470A1 DE19843415470 DE3415470A DE3415470A1 DE 3415470 A1 DE3415470 A1 DE 3415470A1 DE 19843415470 DE19843415470 DE 19843415470 DE 3415470 A DE3415470 A DE 3415470A DE 3415470 A1 DE3415470 A1 DE 3415470A1
- Authority
- DE
- Germany
- Prior art keywords
- segment
- chain
- memory
- line
- signals
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/20—Contour coding, e.g. using detection of edges
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/02—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
- G01B11/024—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by means of diode-array scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30141—Printed circuit board [PCB]
Description
NATIONAL RESEARCH DEVELOPMENT CORP., London, England
Gerät und Verfahren zum Codieren und Speichern von Rasterabtastbildern
Die Erfindung bezieht sich auf ein Gerät und ein Verfah
ren nach dem Oberbegriff des Ansprucns 1 bzw. dein Oberbegriff
des Anspruchs 7.
Derartige Geräte und Verfahren werden vornehmlich bei der selbsttätigen Überprüfung von Leitüngsbahnen gedruckter
Schaltungen verwendet.
Beim Speichern und Analysieren von Bildern, die durch Abtastung, beispielsweise mittels einer Fernsehkamera,
gewonnen werden, kann ein Verfahren angewandt werden, bei dem die Begrenzungen von Formen (Gegenständen) im
Bild festgestellt und Kettencodes gespeichert werder.·, die die Begrenzungen darstellen, wobei die Kettencoces
(eine Kette codierter Zeichen) für eine spätere Analyse verwendet werden. Bei der Kettencodierung wird jede Begrenzung
in Segmente unterteilt, jedes Segment wird durch einen Code (ein codiertes Zeichen) dargestellt,
der beispielsweise die Richtung des Segments vorschreibt, und die eine Begrenzung darstellenden Segmente
bilden eine Kette, Wenn der Anfang und/oder das Ende jeder Kette ebenfalls gespeichert wird, liegt die Position
der entsprechenden Begrenzung, in dem Bild fest. Ein bekanntes Codierungsverfahren ist die Kettencodierung
nach Freeman. Dieses Verfahren ist in der Zeitschrift IRE Transactions, 1961, EC-IO, Seiten 260 bis
268 beschrieben. Ein Beispiel einer Kettenccdierung und seiner Anwendung ist in der britischen Patentanmeldung
8219801, veröffentlicht unter der Nummer 2 102 122 A,
angegeben.
Bei dem gattungsgemäßeri Gerät und Verfahren müssen bei
jeder Feststellung einer Diskontinuität alle früheren Ketten überprüft werden, um festzustellen, ob diese Diskontinuität
zu einer Kette gehört, die eine früher festgestellte Diskontinuität darstellt, und gegebenenfalls
zu welcher, oder ob eine neue Kette ausgelöst werden muß. Dies ist verhältnismäßig zeitaufwendig, wenn eine
große Anzahl von Diskontinuitäten pro Abtastzeile, z.B. bei der Abtastung einer gedruckten Schaltung, auftritt.
Der Erfindung liegt die Aufgabe zugrunde, ein Gerät und ein Verfahren der gattungsgemäßen Art anzugeben, das
bei Feststellung einer Diskontinuität in einer Abtastzeile eine sofortige Bestimmung ermöglicht, ob diese
Diskontinuität zu einer Kette gehört, die eine früher festgestellte Diskontinuität darstellt, und wenn dies
der Fall ist, zu welcher Kette, oder ob eine neue Kette ausgelöst werden muß.
Die gerätetechnische Lösung dieser Aufgabe ist im Patentanspruch 1 gekennzeichnet.
Eine Weiterbildung des ersten Speichers mit einem Segmentspeicherteil
für die Segmentsignale ist in Anspruch 2 gekennzeichnet. Ein auf diese Weise ausgebildeter erster
Speicher hat den Vorteil, daß einer unbestimmten Anzahl von Ketten unbestimmter Länge kein Speicher zugeordnet
zu werden braucht.
Die Feststelleinrichtung kann gemäß Anspruch 3 ausgebildet sein, und wenn die Diskontinuitäten die Begrenzungen
von Formen sind, können die Segmentsignale zumindest teilweise in Abhängigkeit davon bestimmt werden, daß
der Begrenzung der Form eine Richtung gegeben wird, die dem Uhrzeigersinne (oder Gegenuhrzeigersinne) um Punkte
innerhalb der Form entspricht, wobei dann jedes Segment
die gleiche Richtung wie der von ihm dargestellte Begrenzungsteil aufweist. Auf diese Weise hat jedes Segment
einen Anfang und ein Ende in dieser Richtung. Der zweite Speicher kann dann gemäß Anspruch 5 ausgebildet
sein.
Die verfahrensmäßige Lösung der genannten Aufgabe ist im Anspruch 7 gekennzeichnet.
Die Erfindung und ihre Weiterbildungen werden nachstehend anhand der Zeichnung bevorzugter Ausführungsbeispiele
näher beschrieben. Es zeigen:
Fig. 1 ein Blockschaltbild eines erfindungsgemäßen Geräts,
Fig. 2 wie Richtungen von Segmenten von Rändern erkannt werden,
Fig. 3 Richtungen und Codes, die zur Kettencodierung
verwendet werden,
Fig. 4 wie Speicherreihen 27 und 28 nach Fig. 1 verwendet werden,
25
25
Fig. 5 ein Beispiel verschiedener Ränder, die in einem Abtastbild auftreten und
Fig. 6 wie Speicher nach Fig. 1 verwendet werden.
In Fig. 1 erzeugt eine Fernsehkamera 10 ein digitales Ausgangssignal, das einen Gegenstand darstellt, z.B.
eine Schaltungsplatte mit Leitungsbahnen, die codiert werden sollen, bevor eine Fehlerprüfung erfolgt. Jedes
Bildelement wird im digitalen Ausgangssignal durch eine
Eins oder Null dargestellt, und zwar in Abhängigkeit davon, ob das Bildelement als weiß oder schwarz beurteilt
wird. So wird beispielsweise bei einer dunkelgrünen Schaltungsplatte Kupfer gewöhnlich durch eine Eins
und der durch die Platte gebildete Hintergrund durch eine Null dargestellt. Das Ausgangssignal der Kamera
wird zunächst einer bistabilen Schaltung 11 vom D-Typ (einem D-Flipflop, wonach das D für "delay" = "Verzögerung"
steht) und dann einer ähnlichen Schaltung 12 zugeführt. Das Kameraausgangssignal wird ferner über eine
Einzeilen-Verzögerungsschaltung 13 einer monostabilen Schaltung 14 vom D-Typ und von dieser einer ähnlichen
Schaltung 15 zugeführt. Den Schaltungen 11 bis 15 zugeführte Taktimpulse stellen sicher, daß jeweils Bildelemente
darstellende binäre Signale die Schaltung mit Bildelementfolgefrequenz durchlaufen. Die bistabilen
D-Schaltungen 11, 12, 14 und 15 bilden die Information, die zum Feststellen einer Diskontinuität erforderlich
ist, z.B. des Randes oder der Begrenzung einer Leitungsbahn, und die Information, die für die erwähnte Richtungscodierung
erforderlich ist, die wie folgt bewirkt wird. Bei jedem Bildelement in einer Abtastzeile werden
die binären Werte dieses Bildelements, des vorhergehenden Bildelements und die beiden entsprechenden Bildelemente
der vorhergehenden Zeile zur Randfeststellung und zur Bestimmung eines Richtungscodes in Form eines Vektors
verwendet. Wenn beispielsweise nach Fig. 2 ein Bildelement 60 eines teilweise fertigen Rasters 62 erreicht
wird, werden die Werte des Bildelements 60 und der Bildelemente 63 bis 65 herangezogen. Fig. 3 zeigt,
wie acht mögliche Richtungen aus vier Bildelementen bestimmt werden können. Acht Gruppen von Bildelementen
sind in der ersten Spalte und die entsprechenden Richtungen in der zweiten Spalte dargestellt. So ist die
Richtung 2 die in Fig. 2 dargestellte, wenn die Bildele-
mente 60, 63 und 65 den Wert 1 und das Bildelement 64 den Wert O aufweisen. Dieses Beispiel gilt für die Feststellung
eines Randes einer schwarzen Form, die bei der Abtastung von links nach rechts angetroffen wird. Da
die Richtungen im Uhrzeigersinne in bezug auf Punkte, die innerhalb einer Form liegen, codiert werden, wird
der Vektor als beim Bildelement 63 beginnend und beim Bildelement 65 endend betrachtet. Die dargestellten Vektoren
enden daher bei Bildelementen, die Pfeilspitzen enthalten.
Die Ausgangssignale der D-Schaltungen 11, 12, 14 und 15 werden einem PROM 17 (einem programmierbaren Festspeicher)
zugeführt, der Signale erzeugt, die entsprechende Vektoren in einem Kanal 18 nach der folgenden
gespeicherten Tabelle darstellen:
Eingangs- | C | D | Kanal 18 | O | O | 1 | xs | Anschluß | 19 | xf | yf | Anschluß 20 | |
Anschlüsse | O | 1 | (Richtung) | O | 1 | O | 1 | (Verschiebung) | 1 | O | (Rand vorhanden) | ||
A | B | 1 | 1 | O | 1 | 1 | O | ys | 1 | O | |||
O | 1 | 1 | 1 | 1 | O | O | O | 1 | r-l | 1 | 1 | ||
O | 1 | 1 | 1 | 1 | O | 1 | O | 1 | 1 | r-i | 1 | ||
O | O | 1 | O | 1 | 1 | O | O | 1 | O | 1 | 1 | ||
1 | O | 1 | O | 1 | 1 | 1 | 1 | O | O | 1 | 1 | ||
1 | O | O | O | O | O | O | 1 | O | O | O | tH | ||
1 | 1 | O | 1 | 1 | O | O | O | 1 | |||||
1 | 1 | O | 1 | ||||||||||
1 | 1 | 1 | 1 |
Da ein Vektor nicht notwendigerweise bei dem gerade abgetasteten Bildelement beginnt oder endet, erzeugt der
PROM 17 auch Verschiebesignale an Anschlüssen 19, die die Bestimmung der Koordinaten des Anfangs oder Endes
eines Vektors aus den Koordinaten des gerade abgetasteten Bildelements gestatten. In der Tabelle bedeuten die
Indizes s und f jeweils Anfang (start) und Ende (finish). Wie diese Vektoren als Segmente von Ketten
gespeichert werden, wird später beschrieben. Außerdem erzeugt der PROM 17 ein Ausgangssignal an einem Anschluß
20, wenn der Inhalt der D-Schaltungen 11, 12, 14 und 15 anzeigt, daß ein Rand festgestellt worden ist. Eingangsanschlußkombinationen,
die nicht die Feststellung eines Randes darstellen, und die entsprechenden Ausgangssignale
in anderen Spalten sind aus der Tabelle weggelassen, weil die Ausgangssignale nicht von Bedeutung
sind, abgesehen davon, daß am Anschluß 20 ständig eine "0" vorhanden ist, wenn kein Rand festgestellt
wird.
Die x-Koordinate eines gerade festgestellten Randsegments wird wie folgt ermittelt. Die x- und y-Koordinaten
des gerade abgetasteten Bildelements werden durch Zähler 23 und 24 festgehalten bzw. gespeichert, wobei
der Inhalt des Zählers 23 jedesmal in Zähler 25 und 26 übertragen wird, wenn ein Rand festgestellt wird, was
durch den Anschluß 20 des PROM 17 signalisiert wird. Gleichzeitig wird eine x-Koordinaten-Verschiebung, die
an einem der Anschlüsse 19 auftritt, dem Zähler 25 zugeführt,
um dem Zähler die Bestimmung der x-Koordinate des Endes eines Segments zu gestatten, das sich an das
Anfangsende einer Kette gespeicherter Segmente, die eine Begrenzung darstellen, anschließen soll. Der Zähler 26
erhält erforderlichenfalls ebenfalls eine x-Koordinaten-Verschiebung
von einem anderen Anschluß der Anschlüsse 19, die sich auf ein Segment bezieht, das sich an das
Ende einer Kette anschließen soll und die x-Koordinate des Anfangs eines derartigen Segments bestimmt.
Da die Randfeststellung mit höherer Geschwindigkeit als
die Ableitung der Vektoren und ihre Speicherung als Kettensegmente erfolgen kann, kann eine (nicht dargestellte)
Zwischenspeicherschaltung verwendet werden, um die Ausgangssignale der D-Schaltungen, die x-Koordinate der
entsprechenden abgetasteten Punkte und eine Kennung der gerade abgetasteten Zeile (z.B. ihre y-Koordinate oder
eine Binärzahl zur Unterscheidung zweier aufeinanderfolgender Zeilen) solange zu speichern, bis die
Verschiebungssignale durch den PROM 17 erzeugt werden können.
Um den Anschluß eines gerade festgestellten Segments an eine Kette, die einen vorher festgestellten Rand darstellt,
oder das Speichern einer Kette, die einen neu
festgestellten Rand darstellt, zu ermöglichen, sind zwei Speicherreihen 27 und 28 vorgesehen. Die Speicherreihen
27 und 28 haben jeweils so viele Speicherplätze wie Bildelemente in einer Abtastzeile vorhanden sind und
dienen zur Speicherung von Zahlen, die Ketten zugeordnet sind, die in der zuvor abgetasteten Zeile festgestellt
wurden. Die Speicherreihe 27 speichert die Kettenzahlen von Ketten, die in der Abtastzeile beginnen,
die der augenblicklichen bzw. laufenden Zeile unmittelbar vorausgeht, und in ähnlicher Weise speichert die
Speicherreihe 28 die Kettenzahlen von Ketten, die in der zuvor abgetasteten Zeile enden. Die Wörter "Anfang"
und "Ende" gelten für Ketten, weil sich der Anfang eines neuen Segments an das Ende des vorhergehenden Segments
anschließt oder umgekehrt, so daß die gesamte Kette einen Anfang oder ein Ende erhält. Bei beiden
Speicherreihen 27 und 28 werden die Kettenzahlen in Speicherplätzen gespeichert, die der x-Koordinate des
Bildelements entsprechen, in dem sie anfingen oder en-
35 deten.
Wenn jetzt der Inhalt des Zählers 26, der die Position des Endes eines gerade festgestellten Randes darstellt
(möglicherweise für den Anschluß an den Anfang einer Kette), zur Adressierung der Speicherreihe 27 verwendet
wird, dann muß sich das neue Segment an eine Kette anschließen, deren Zahl (Nummer) in dem adressierten Speicherplatz
gespeichert wird. Wenn der Inhalt des Zählers 25, der die Position des Anfangs eines gerade festgestellten
Randes darstellt (möglicherweise für den Anschluß an das Ende einer Kette), zur Adressierung der
Speicherreihe 28 verwendet wird, dann muß sich das neue Segment in ähnlicher Weise an eine Kette anschließen,
deren Zahl in dem adressierten Speicherplatz gespeichert ist.
So ist in Fig. 4 als Beispiel ein Teil einer Abtastung 66 dargestellt, bei der zwei Ränder festgestellt worden
sind. Die Zahlen 1 und 2 sind durch das Gerät nach Fig. 1 Ketten von Vektoren, die diese Ränder darstellen, zugeordnet
worden, wie noch näher beschrieben wird, und die Zahlen sind in Fig. 4 dargestellt.
Alle Speicherplätze der Speicherreihen 27 und 28 sind unterhalb der Teilabtastung zusammen mit ihrem Speicherinhalt
dargestellt, und man sieht, daß die Speicherreihe 27 eine Eins an der Position speichert, die dem augenblicklichen
Anfang der Kette 1 in der zuletzt abgetasteten Zeile entspricht, während alle anderen Speicherplätze
eine Null enthalten. Die Speicherreihe 28 speichert eine Zwei an der Position, die dem augenblicklichen
Ende der Kette 2 entspricht. Wenn daher bei der Abtastung der augenblicklichen (laufenden) Zeile 67 ein
Rand festgestellt und die Position dieses Randes zur Adressierung des entsprechenden Registers der Register
27 und 28 verwendet wird, wird die Nummer bzw. Zahl einer Kette aufgefunden, zu der ein neues Segment (das
durch einen Vektor dargestellt wird) addiert werden muß.
Wenn Richtungszahlen 1 und 8 festgestellt werden, kann keine Kette mit dem Anfang des festgestellten Segments
verbunden werden, weil eine Verbindung erst später während der Abtastung möglich ist. In ähnlicher Weise kann
bei den Richtungen 3 und 4 keine Kette mit dem Ende des festgestellten Segments verbunden werden. Wenn daher
die Richtungen 1 und 8 auftreten, wird die Speicherreihe 28 nicht adressiert, und wenn die Richtungen 3 und 4
auftreten, wird die Speicherreihe 27 nicht adressiert.
Andere Maßnahmen als das Addieren zu vorhandenen Ketten können ebenfalls erforderlich sein, wie noch ersichtlich
wird, und wenn ein Rand festgestellt wird, prüft eine logische Schaltung 30 den Inhalt der Speicherreihen 27
und 28, um die nächste Maßnahme zu bestimmen. Die logische Schaltung 30 führt die folgenden fünf Bedingungsprüfungen aus, weil S und F die Inhalte der Speicherreihen
27 und 28 im adressierten Speicherplatz darstellen und NCH eine einer Kette zugeordnete Zahl oder Nummer
20 ist:
Bedingung (l)
Wenn F und S=O, dann keine Verbindung, Erzeugung eines neuen Kettencodes.
Bedingung (2)
Wenn F = NCH 30 und S=O
dann verbindet sich das Randsegment mit dem Ende der Kette NCH.
Bedingung (3) 35
Wenn F=O und S = NCH
dann verbindet sich das Randsegment mit dem Anfang einer Kette NCH.
Bedingung (4) 5
Wenn F=S= NCH, dann verbindet das Randsegment die Enden der Kette NCH.
Bedingung (5) 10
Wenn F = NCHl
und S = NCH2, dann verbindet das Randsegment Ketten NCHl und NCH2.
Die Bedingungen 1 bis 5 sind in Fig. 5 dargestellt, die ein Bild darstellt, das aus mehreren Formen besteht.
Wenn die erste Zeile 80 und die folgende Zeile 81 abgetastet werden, ist die Bedingung 1 erfüllt und die Ketten
1, 2 und 3 (bei denen es sich nicht um die gleichen Ketten wie in Fig. 4 handelt) werden ausgelöst. Bei einer
typischen Abtastzeile 83 ist die Bedingung 2 durch die Ketten 2 und 3 und die Bedingung 3 durch die Ketten
1 und 3 erfüllt. Bei einer Abtastzeile 84 geht die Kette
2 über den Bildrand hinaus und wird zur weiteren Verarbeitung
(wie nachstehend noch beschrieben wird) aus dem Speicher entfernt. Die Bedingung 5 ist in einer Zeile
87 erfüllt, bei der sich die Kette 3 an eine Kette 4 anschließt bzw. mit dieser verbunden ist, und dann ist
in einer Zeile 85 die Bedingung 4 erfüllt, und die beiden Enden der resultierenden Kette sind miteinander verbunden,
so daß sie eine geschlossene Schleife bilden. Diese Kette kann jetzt aus dem Speicher entfernt werden.
In ähnlicher Weise erfüllen bei einer Zeile 86 die beiden Enden einer Kette 5 die Bedingung 4, so daß die Ket-
35 te aus dem Speicher entfernt werden kann.
Wenn die Bedingung 1 erfüllt ist, muß eine neue Kettenzahl zugeordnet und das erste Segment gespeichert werden,
wie nachstehend beschrieben wird. Verfügbare Kettenzahlen sind auf einem Stapel (d.h. der Reihe nach)
in einem RAM 31 (Festwertspeicher) gespeichert, und ein Zähler 32 zeigt die nächste verfügbare Zahl auf dem Stapel
an.
Die neue Kettenzahl wird zur Adressierung eines Speicherplatzes in jedem von sieben RAMs 33 bis 39 verwendet,
wobei die RAMs 33 bis 36 zur Speicherung der x- und y-Koordinaten des Anfangs einer Kette und ihres Endes
dienen, während diese Information verwendet wird. Wenn der Anfang (und nicht das Ende) einer Kette festgestellt
worden ist, was durch die Richtung des ersten Segments und mithin durch das Ausgangssignal des PROM
17 angezeigt wird, wird der Inhalt des Zählers 25 in den RAM 33 eingelesen, um die x-Koordinate des Anfangs
zu bilden. Die y-Koordinate wird durch einen Zähler 41 bestimmt, der den y-Zählwert aus dem Zähler 24 und die
y-Verschiebung für das Segment der neuen Kette von einem der Anschlüsse 19 des PROM 17 erhält. Der Inhalt des
Zählers 41 wird in den RAM 34 übertragen. Wenn es sich dagegen um das Ende einer neuen Kette handelt, die festgestellt
wird, wird die x-Koordinate des Endes aus dem Zähler 26 in den RAM 35 und die y-Koordinate in den RAM
36 aus einem Zähler 42 übertragen, der an den Zähler 24 angeschlossen und ferner so geschaltet ist, daß er
die y-Verschiebung von einem anderen Anschluß der An-
30 Schlüsse 19 erhält.
Die Kettensegmente, d.h. die Richtungsvektoren in Form von dreistelligen Binärzahlen, werden in einem RAM 45
gespeichert, der durch ein Register 46 adressiert wird. 35
Die Segmente werden nicht in einer Reihenfolge gespeichert, die davon abhängt, daß alle Segmente einer Kette
aneinanderliegen, sondern davon, daß ein Segment bei seiner Feststellung in dem RAM 45 gespeichert und mittels
der RAMs 37 und 38, die jeweils zur Speicherung der Adressen des ersten und letzten Segments der Kette verwendet
werden, und eines RAK 47, der einen die verschiedenen Segmente einer Kette verbindenden bzw. verkettenden
Zeiger speichert, als zu einer bestimmten Kette gehörig identifiziert wird.
Wenn eine neue Kette angefangen wird, wird ein in einem RAM 48 gespeicherter Stapel mittels eines in einem Zähler
49 gespeicherten Zeigers adressiert, um den nächsten verfügbaren Speicherplatz im RAM 45 zu erhalten. Unter
Verwendung der Adresse dieses Speicherplatzes wird der Vektor für das erste Segment der neuen Kette in den RAM
45 eingelesen, der die Adresse aus dem jetzt im Register
46 gespeicherten Stapel benutzt. Gleichzeitig wird die Stapeladresse aus dem RAM 48 in die beiden RAMs 37 und
38 unter einer Adresse eingelesen, die der aus dem Stapel im RAM 31 ausgelesenen Kettenzahl entspricht. Da eine
neue Kette eingegeben wird, sind die Adressen des ersten und letzten Kettensegments anfänglich gleich.
Eine weitere Operation, die jetzt durch die logische Schaltung 30 ausgelöst wird, ist das Laden der Speicherreihe
27 oder 28 mit der der neuen Kette zugeordneten Zahl bzw. Nummer unter der im Zähler 25 oder 26 fest-
30 gehaltenen Adresse.
Wenn ein festgestellter Rand mit dem Anfang oder Ende einer vorhandenen Kette zusammenfällt, d.h. die oben erwähnte
Bedingung 2 oder 3 erfüllt ist, wird die Nummer bzw. Zahl dieser Kette aus einer der Speicherreihen 27
und 28 verfügbar und zur Adressierung der RAMs 33 bis
36 zur Einspeicherung verwendet. Auf diese Weise werden die x- und y-Koordinaten des Anfangs oder Endes der Kette
aus den Zählern 25 und 41 oder 26 und 42 auf den neuesten Stand gebracht. Die Zahl der Segmente in jeder Kette wird
durch den RAM 39 gespeichert und bei einer vorhandenen Kette mittels eines Zählers 51 schrittweise erhöht, wobei
die Kettenzahl zum Einlesen der Zahl der Segmente in den Zähler 51 verwendet wird, wenn die Zahl erhöht worden
ist, bevor sie in den RAM 39 zurückgelesen wird.
Bei der Bedingung 2 wird der im Zähler 49 enthaltene Stapelzeiger zum Anzeigen der Adresse des nächsten verfügbaren
Speicherplatzes im RAM 45 durch Zeigen auf die Adresse des nächsten verfügbaren Speicherplatzes in dem durch
den RAM 38 gespeicherten Stapel verwendet. Der neue Vektor wird daher im RAM 45 gespeichert, doch wird außerdem
der Inhalt des RAM 38, der den Speicherplatz des letzten Segments im RAM 45 angibt, in den RAM 47 eingelesen, bevor
der Zeiger aus dem Stapel 48 mit der im RAM 45 gespeicherten Adresse des neuen Segments auf den neuesten
Stand gebracht wird.
Zur Verdeutlichung der Wirkungsweise der Schaltungen 38,
45 und 47 bis 49 wird nachstehend ein Beispiel anhand von Fig. 6 beschrieben. Wenn ein neues Segment gespeichert
werden soll, wird der Stapelzeiger im Zähler 49 zur Adressierung des RAM 48 verwendet, wie es durch eine
Leitung 70 dargestellt ist, um die Adresse des nächsten verfügbaren Speicherplatzes im RAM 45 zur Speicherung
des das neue Segment darstellenden Vektors anzugeben.
Dann wird der RAM 45 adressiert und der Vektor eingegeben, wie es durch Leitungen 71 und 72 angedeutet ist.
Gleichzeitig wird die Zahl der Kette, mit der das Segment verbunden bzw. verkettet werden soll, zur Adressierung
des RAM's 38 verwendet (siehe Leitung 73). Aus diesem
RAIi wird daher die Adresse im RAM 45 des vorhergehenden
Segments in der Kette zum Adressieren des RAM 47 (Leitung 74) verwendet, und die Adresse im RAM 45 des neuen Segments
wird aus dem RAM 48 in den RAM 47 (Leitung 75) eingegeben, so daß ein Verbindungszeiger zwischen Segmenten
der Kette gebildet wird. Schließlich wird die Adresse des neuen Segments in den RAM 38 unter einer Adresse eingegeben,
die der Kettenzahl entspricht, wie es durch die Leitung 76 dargestellt ist.
10
10
Wenn die Bedingung 3 erfüllt ist, ist der Verfahrensablauf dem bei der Bedingung 2 ähnlich, nur daß der RAM
37 anstelle des RAM 38 benutzt wird.
Die Anordnung nach Fig. 6 wird verwendet, weil sie die Ausbildung des RAM 45 mit kleinsten Abmessungen gestattet,
da nur so viele Speicherplätze vorgesehen werden, wie benötigt werden, statt Speicherbereiche für eine unbestimmte
Anzahl von Ketten unbestimmter Länge vorzusehen. Die Anordnung gestattet das Auslesen und ein leichtes
Löschen von Ketten, wie nachstehend beschrieben wird, und die Substitution neuer Ketten.
Wenn die oben erwähnten Bedingungen 2 oder 3 erfüllt sind, gibt die logische Schaltung 30 wieder die laufende
Kettenzahl, die durch den RAM 31 angezeigt wird, in die Speicheranordnung 27 oder 28 unter der Adresse ein, die
durch den Zähler 25 oder 26 gespeichert wird, doch ist es häufig erforderlich, eine Kettenzahl in einem benachbarten
Speicherplatz durch eine Null zu ersetzen, wie nachstehend ausführlicher erläutert wird.
Wenn die Bedingung 4 oder 5 erfüllt ist oder eine Kette
den seitlichen Rand des Bildes überschreitet oder mehr als hundert Kettensegmente gespeichert sind, bewirkt die
Entscheidungslogik 30 das Entfernen der Kette aus dem Speicher und deren Übertragung über Kanäle 56 bis 60 in
beispielsweise einen Rechner zur weiteren Verarbeitung. Unter Verwendung der Kettenzahl wird der RAM 37, der die
Adresse des ersten Segments der Kette im RAM 85 angibt, adressiert und der im RAM 45 unter der angegebenen Adresse
gespeicherte Inhalt ausgelesen. Der Inhalt des entsprechenden Speicherplatzes im RAM 47 wird in ein Register
46 übertragen. Die Adresse im RAM 45, wo der Inhalt ausgelesen worden ist, wird oben zum Stapel 48 addiert
und der Stapelzeiger im Zähler 49 um eins verringert. Die im Register 46 gespeicherte Adresse wird zum Aufsuchen
des zweiten Segments der Kette im RAM 45 verwendet, und das oben angegebene Verfahren wird so oft wiederholt,
bis die gesamte Kette ausgelesen ist. Um das Ende des Auslesens zu signalisieren, wird die Kettenzahl zum Auslesen
der Zahl der Segmente in der Kette aus dem Speicher 39 in den Zähler 51 verwendet, wobei der Zählwert
dieses Zählers jedesmal, wenn ein Segment ausgelesen wird, um eins verringert wird. Wenn der Zählwert des Zählers
null erreicht, wird das Auslesen angehalten. Das Auslesen über die Kanäle 59 und 60 findet statt, während
die Segmente ausgelesen werden, doch eine Analyse der Ketten ist nicht Teil dieser Erfindung und wird daher
25 nicht beschrieben.
Wenn eine Kette gelöscht wird, weil die Anzahl der gespeicherten Segmente eine vorbestimmte Zahl erreicht hat,
z.B. 100 (was dadurch überprüft wird, daß jedesmal, wenn ein Segment durch Auslesen bei der entsprechenden Kette
aus dem Speicher 39 festgestellt wird), dann können die ersten und/oder letzten fünfzehn Segmente für Überlappungszwecke
zurückgehalten werden, so daß eine neue Kette, die die vorhergehende Kette fortsetzt, jedoch mit
den fünfzehn gespeicherten Segmenten beginnt oder endet, gespeichert wird. Diese neue Kette hat die gleiche Zahl
bzw. Nummer wie die Kette, die gelöscht wurde. Um festzustellen, ob eine Überlappung bei einem oder beiden Enden
der Kette erforderlich ist, werden die Speicherreihen 27 und 28 über Multiplexer 53 und 54 bei den Anfangs-
und Endadressen der Kette adressiert, die durch die RAMs 33 und 35 vorgegeben werden. Wenn die Zahl der Kette in
einem oder beiden adressierten Speicherplätzen aufgefunden wird, dann wird das entsprechende Ende oder werden
die entsprechenden Enden der Kette zurückgehalten.
Wenn die Bedingungen 4 und 5 erfüllt sind, werden in die Speicherreihen 27 und 28 Nullen unter den Adressen eingegeben,
die durch die Zähler 25 und 26 gespeichert werden.
Ein Steuerwerk 52 steuert den zeitlichen Ablauf der Übertragung von Informationen zwischen den verschiedenen
Schaltungen nach Fig. 1, das Auslesen über Kanäle 56 bis 60 und Multiplexer 53 bis 55, die zur Datenübertragung
verwendet werden. Diese Abläufe werden aus Gründen der Vereinfachung der Beschreibung nicht ausführlicher geschildert.
Abwandlungen vom dargestellten Ausführungsbeispiel liegen im Rahmen der Erfindung. Insbesondere können die Schaltungsanordnungen
nach Fig. 1 abgeändert und eine Vielzahl anderer Schaltungen verwendet werden. Ferner läßt sich
die Erfindung unter Verwendung eines programmierten Rechners verwirklichen.
Claims (7)
10650
NATIONAL RESEARCH DEVELOPMENT CORP., London, England
Patentansprüche
1Λ Gerät zum Codieren und Speichern von Rasterabtastbildern,
mit einer Feststelleinrichtung zum Feststellen von Diskontinuitäten, so wie sie in einer Rasterabtastzeile
auftreten, und zum Ableiten sowohl zugehöriger Positionssignale, die die Positionen der Diskontinuitäten
in der Zeile darstellen, als auch zugehöriger Segmentsignale, die Segmente der Diskontinuitäten in der
Zeile darstellen, und einem ersten Speicher zum Speichern von Ketten der Segmentsignale, wobei die Ketten
jeweils Diskontinuitäten in einem abgetasteten Bild darstellen,
gekennzeichnet durch einen zweiten Speicher zum Speichern von Identifizierungssignalen,
die alle Ketten identifizieren, die in dieser Zeile liegende Segmente aufweisen, für jede Zeile
und für die Dauer der nächsten Zeile, wobei jedes Identifizierungssignal
in einem Speicherplatz gespeichert wird, der der Position in derjenigen Zeile entspricht,
deren Diskontinuität durch die von diesem Signal identifizierte Kette dargestellt wird, und eine Einrichtung
zum Lesen des zweiten Speichers, während jeder Punkt einer Zeile abgetastet wird, an dem Speicherplatz, der
sich auf den entsprechenden Punkt der vorherigen Zeile bezieht, und zum Speichern von Segmentsignalen, die je-
des neue Segment darstellen, entweder als den Anfang einer neuen Kette, wenn in dem ausgelesenen Speicherplatz
kein Kettenidentifizierungssignal gespeichert ist, oder als weiteres Segmentsignal in einer vorhandenen
Kette, wenn das Identifizierungssignal der vorhandenen Kette in dem ausgelesenen Speicherplatz vorgefunden
wird.
2. Gerät nach Anspruch 1, bei dem der erste Speicher
einen Segmentspeicherteil für die Segmentsignale aufweist ,
dadurch gekennzeichnet,
daß der erste Speicher ebenfalls eine Einrichtung zum Zuordnen von Speicherplätzen in dem Segmentspeicherteil
in Abhängigkeit von der Verfügbarkeit, während Segmentsignale abgeleitet werden, und einen Bindungsspeicherteil
zum Speichern von Bindungen, die die Bestimmung des Speicherplatzes eines Segmentsignals aus dem Speicherplatz
eines benachbarten Segmentsignals in der glei-
20 chen Kette gestatten.
3. Gerät nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
dadurch gekennzeichnet,
daß die Feststelleinrichtung eine Einrichtung zum Zuordnen von Segmentsignalen in Abhängigkeit von der Richtung
einer Diskontinuität aufweist.
4. Gerät nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet,
dadurch gekennzeichnet,
daß die Einrichtung zum Zuordnen von Segmentsignalen einem Signal die Darstellung jedes Segments zuordnet,
das ein Polaritätszeichen aufweist, wobei die Polarität durch die Richtung einer Begrenzung bestimmt wird, von
der dieses Segment einen Teil bildet, und die Richtung der Begrenzung entweder im Uhrzeigersinne oder im Gegenuhrzeigersinne
um eine durch sie eingeschlossene Form herum positiv ist.
5. Gerät nach Anspruch 4,
dadurch gekennzeichnet, daß der zweite Speicher eine erste und eine zweite Reihe
aus Speicherplätzen aufweist, und zwar einen Speicherplatz in jeder Reihe für jedes Bildelement einer Abtastzeile,
wobei die beiden Reihen zur Speicherung der Identifizierungssignale
von Ketten dienen, die jeweils einen Segmentanfang und ein Segmentende, die durch die positive
Richtung bestimmt werden, in Speicherplätzen aufweisen, die den Zeilenpositionen der Anfangs- und Endesegmente
entsprechen.
6. Gerät nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet,
daß ein programmierter Rechner zumindest einen Teil mindestens einer der Einrichtungen und eines der Speicher
bildet.
7. Verfahren zum Codieren und Speichern von Rasterabtastbildern, bei dem Diskontinuitäten, die in einer Rasterzeile
während einer Rasterabtastung auftreten, festgestellt und sowohl zugehörige Positionssignale, die
die Positionen der Diskontinuitäten in der Rasterzeile darstellen, als auch zugehörige Segmentsignale, die Segmente
der Diskontinuitäten in der Abtastzeile darstellen, abgeleitet und Ketten der Segmentsignale, von denen
jede Kette eine Diskontinuität darstellt, gespeichert werden,
dadurch gekennzeichnet, daß für jede Zeile und für die Dauer der nächsten Zeile Identifizierungssignale gespeichert werden, die alle Ketten identifizieren, die Segmente in dieser Zeile aufweisen, daß jedes Identifizierungssignal durch einen Speicher in einem Speicherplatz gespeichert wird, der der Zeilenposition derjenigen Diskontinuität entspricht,
dadurch gekennzeichnet, daß für jede Zeile und für die Dauer der nächsten Zeile Identifizierungssignale gespeichert werden, die alle Ketten identifizieren, die Segmente in dieser Zeile aufweisen, daß jedes Identifizierungssignal durch einen Speicher in einem Speicherplatz gespeichert wird, der der Zeilenposition derjenigen Diskontinuität entspricht,
die durch die durch dieses Signal identifizierte Kette
dargestellt wird, daß bei der Abtastung jedes Punktes einer Zeile derjenige Speicherplatz des Speichers ausgelesen
wird, der sich auf den entsprechenden Punkt in der vorhergehenden Zeile bezieht, und daß Segmentsignale
gespeichert werden, die jedes neue Segment entweder als den Anfang einer neuen Kette, wenn in dem ausgelesenen
Speicherplatz kein Kettenidentifizierungssignal gespeichert ist, oder als ein weiteres Segmentsignal in einer
vorhandenen Kette darstellen, wenn das Identifizierungssignal der vorhandenen Kette im ausgelesenen Speicherplatz
vorgefunden wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB838311813A GB8311813D0 (en) | 1983-04-29 | 1983-04-29 | Coding and storing raster scan images |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3415470A1 true DE3415470A1 (de) | 1984-10-31 |
Family
ID=10541942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19843415470 Withdrawn DE3415470A1 (de) | 1983-04-29 | 1984-04-26 | Geraet und verfahren zum codieren und speichern von rasterabtastbildern |
Country Status (3)
Country | Link |
---|---|
US (1) | US4630306A (de) |
DE (1) | DE3415470A1 (de) |
GB (1) | GB8311813D0 (de) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4777651A (en) * | 1984-06-25 | 1988-10-11 | Tektronix, Inc. | Method of pixel to vector conversion in an automatic picture coding system |
US4953224A (en) * | 1984-09-27 | 1990-08-28 | Hitachi, Ltd. | Pattern defects detection method and apparatus |
JPS61246877A (ja) * | 1985-04-25 | 1986-11-04 | Canon Inc | 図形変換装置 |
US4791676A (en) * | 1985-09-12 | 1988-12-13 | International Business Machines Corporation | Method and means for efficiently handling boundary conditions in connected component labeling |
DE3854822T2 (de) * | 1987-03-16 | 1996-05-23 | Meidensha Electric Mfg Co Ltd | Gerät zur Bildkonturentdeckung |
US4837848A (en) * | 1987-03-27 | 1989-06-06 | Netexpress Systems, Inc. | Apparatus for selecting a reference line for image data compression |
US4754490A (en) * | 1987-05-22 | 1988-06-28 | Environmental Research Institute Of Michigan | Linked-list image feature extraction |
US4833722A (en) * | 1987-07-24 | 1989-05-23 | Eastman Kodak Company | Apparatus and methods for locating edges and document boundaries in video scan lines |
US5485531A (en) * | 1987-12-17 | 1996-01-16 | Fuji Electric Co., Ltd. | Character-feature extraction device |
US4969202A (en) * | 1988-03-31 | 1990-11-06 | Honeywell Inc. | Image recognition edge detection method and system |
US5018214A (en) * | 1988-06-23 | 1991-05-21 | Lsi Logic Corporation | Method and apparatus for identifying discrete objects in a visual field |
US4987603A (en) * | 1988-09-22 | 1991-01-22 | Glory Kogyo Kabushiki Kaisha | Recognition method for letter patterns |
JPH02130692A (ja) * | 1988-11-11 | 1990-05-18 | Canon Inc | 特徴抽出回路 |
US6067379A (en) * | 1988-12-09 | 2000-05-23 | Cognex Corporation | Method and apparatus for locating patterns in an optical image |
US5717785A (en) * | 1992-01-30 | 1998-02-10 | Cognex Corporation | Method and apparatus for locating patterns in an optical image |
US5007098A (en) * | 1988-12-30 | 1991-04-09 | Ezel, Inc. | Vectorizing method |
US5113451A (en) * | 1989-10-16 | 1992-05-12 | Vlsi Technology, Inc. | Method for labelling polygons |
JPH0528317A (ja) * | 1991-07-23 | 1993-02-05 | Canon Inc | 画像処理方法及び装置 |
CA2085853C (en) * | 1991-12-25 | 1999-03-23 | Hiroshi Nittaya | Labeling method of a binary image and apparatus therof |
US5371690A (en) * | 1992-01-17 | 1994-12-06 | Cognex Corporation | Method and apparatus for inspection of surface mounted devices |
US5841903A (en) * | 1992-01-17 | 1998-11-24 | Yamaha Corporation | Method and device for extracting a connected component of image data |
US6002793A (en) * | 1992-01-30 | 1999-12-14 | Cognex Corporation | Machine vision method and apparatus for finding an object orientation angle of a rectilinear object |
US5850479A (en) * | 1992-11-13 | 1998-12-15 | The Johns Hopkins University | Optical feature extraction apparatus and encoding method for detection of DNA sequences |
US5424823A (en) * | 1993-08-17 | 1995-06-13 | Loral Vought Systems Corporation | System for identifying flat orthogonal objects using reflected energy signals |
US5430806A (en) * | 1993-09-07 | 1995-07-04 | Loral Vought Systems Corporation | System for changing perspective of 3-D images obtained from reflected energy signals |
US5805722A (en) * | 1993-11-22 | 1998-09-08 | Cognex Corporation | Method and apparatus for locating, inspecting, and placing large leaded devices |
US5608816A (en) * | 1993-12-24 | 1997-03-04 | Matsushita Electric Industrial Co., Ltd. | Apparatus for inspecting a wiring pattern according to a micro-inspection and a macro-inspection performed in parallel |
US5602937A (en) * | 1994-06-01 | 1997-02-11 | Cognex Corporation | Methods and apparatus for machine vision high accuracy searching |
US5801966A (en) * | 1995-07-24 | 1998-09-01 | Cognex Corporation | Machine vision methods and articles of manufacture for determination of convex hull and convex hull angle |
US6026176A (en) | 1995-07-25 | 2000-02-15 | Cognex Corporation | Machine vision methods and articles of manufacture for ball grid array inspection |
US5959673A (en) * | 1995-10-05 | 1999-09-28 | Microsoft Corporation | Transform coding of dense motion vector fields for frame and object based video coding applications |
US5872870A (en) * | 1996-02-16 | 1999-02-16 | Cognex Corporation | Machine vision methods for identifying extrema of objects in rotated reference frames |
US5909504A (en) * | 1996-03-15 | 1999-06-01 | Cognex Corporation | Method of testing a machine vision inspection system |
US6259827B1 (en) | 1996-03-21 | 2001-07-10 | Cognex Corporation | Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images |
US6298149B1 (en) | 1996-03-21 | 2001-10-02 | Cognex Corporation | Semiconductor device image inspection with contrast enhancement |
US6037988A (en) * | 1996-03-22 | 2000-03-14 | Microsoft Corp | Method for generating sprites for object-based coding sytems using masks and rounding average |
US5978502A (en) * | 1996-04-01 | 1999-11-02 | Cognex Corporation | Machine vision methods for determining characteristics of three-dimensional objects |
US6075875A (en) * | 1996-09-30 | 2000-06-13 | Microsoft Corporation | Segmentation of image features using hierarchical analysis of multi-valued image data and weighted averaging of segmentation results |
US6137893A (en) * | 1996-10-07 | 2000-10-24 | Cognex Corporation | Machine vision calibration targets and methods of determining their location and orientation in an image |
US5960125A (en) | 1996-11-21 | 1999-09-28 | Cognex Corporation | Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object |
US5953130A (en) * | 1997-01-06 | 1999-09-14 | Cognex Corporation | Machine vision methods and apparatus for machine vision illumination of an object |
US6075881A (en) * | 1997-03-18 | 2000-06-13 | Cognex Corporation | Machine vision methods for identifying collinear sets of points from an image |
US5974169A (en) * | 1997-03-20 | 1999-10-26 | Cognex Corporation | Machine vision methods for determining characteristics of an object using boundary points and bounding regions |
US6141033A (en) * | 1997-05-15 | 2000-10-31 | Cognex Corporation | Bandwidth reduction of multichannel images for machine vision |
US5956428A (en) * | 1997-05-19 | 1999-09-21 | Ausbeck, Jr.; Paul James | Stroke code for image partitions |
EP0880108A1 (de) * | 1997-05-23 | 1998-11-25 | Koninklijke Philips Electronics N.V. | Verkettungsstufe enthaltende Bildverarbeitungsverfahren und medisches Abbildungsgerät mit Mitteln zur Durchfürung dieses Verfahrens |
US6608647B1 (en) | 1997-06-24 | 2003-08-19 | Cognex Corporation | Methods and apparatus for charge coupled device image acquisition with independent integration and readout |
US5978080A (en) * | 1997-09-25 | 1999-11-02 | Cognex Corporation | Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view |
US6025854A (en) * | 1997-12-31 | 2000-02-15 | Cognex Corporation | Method and apparatus for high speed image acquisition |
US6236769B1 (en) | 1998-01-28 | 2001-05-22 | Cognex Corporation | Machine vision systems and methods for morphological transformation of an image with zero or other uniform offsets |
US6282328B1 (en) | 1998-01-28 | 2001-08-28 | Cognex Corporation | Machine vision systems and methods for morphological transformation of an image with non-uniform offsets |
US6381375B1 (en) | 1998-02-20 | 2002-04-30 | Cognex Corporation | Methods and apparatus for generating a projection of an image |
US6215915B1 (en) | 1998-02-20 | 2001-04-10 | Cognex Corporation | Image processing methods and apparatus for separable, general affine transformation of an image |
US6400831B2 (en) | 1998-04-02 | 2002-06-04 | Microsoft Corporation | Semantic video object segmentation and tracking |
US6381366B1 (en) | 1998-12-18 | 2002-04-30 | Cognex Corporation | Machine vision methods and system for boundary point-based comparison of patterns and images |
US6687402B1 (en) | 1998-12-18 | 2004-02-03 | Cognex Corporation | Machine vision methods and systems for boundary feature comparison of patterns and images |
US6516097B1 (en) * | 1999-07-16 | 2003-02-04 | Lockheed Martin Corporation | Image segmentation system |
US6684402B1 (en) | 1999-12-01 | 2004-01-27 | Cognex Technology And Investment Corporation | Control methods and apparatus for coupling multiple image acquisition devices to a digital data processor |
US6748104B1 (en) | 2000-03-24 | 2004-06-08 | Cognex Corporation | Methods and apparatus for machine vision inspection using single and multiple templates or patterns |
US7006669B1 (en) | 2000-12-31 | 2006-02-28 | Cognex Corporation | Machine vision method and apparatus for thresholding images of non-uniform materials |
US7330288B2 (en) * | 2003-03-31 | 2008-02-12 | Eastman Kodak Company | Post RIP image rendering in a MICR electrographic printer to improve readability |
JP2007527169A (ja) * | 2004-02-23 | 2007-09-20 | イーストマン コダック カンパニー | 電気記録印刷機におけるラスタ画像処理後の画像レンダリング |
US7639861B2 (en) | 2005-09-14 | 2009-12-29 | Cognex Technology And Investment Corporation | Method and apparatus for backlighting a wafer during alignment |
US8111904B2 (en) | 2005-10-07 | 2012-02-07 | Cognex Technology And Investment Corp. | Methods and apparatus for practical 3D vision system |
US8162584B2 (en) | 2006-08-23 | 2012-04-24 | Cognex Corporation | Method and apparatus for semiconductor wafer alignment |
BRPI0820150A2 (pt) * | 2007-11-13 | 2015-05-12 | Infinite Edge Technologies Llc | Unidade selada e espaçador |
US8203747B2 (en) * | 2008-03-20 | 2012-06-19 | Sharp Laboratories Of America, Inc. | Methods and systems for time-efficient print-data rendering |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4934385A (de) * | 1972-07-28 | 1974-03-29 | ||
US3737881A (en) * | 1972-04-13 | 1973-06-05 | Ibm | Implementation of the least recently used (lru) algorithm using magnetic bubble domains |
US4107648A (en) * | 1976-04-12 | 1978-08-15 | Bell Telephone Laboratories, Incorporated | Scan encoding of two dimensional pictorial entities |
US4183013A (en) * | 1976-11-29 | 1980-01-08 | Coulter Electronics, Inc. | System for extracting shape features from an image |
US4080652A (en) * | 1977-02-17 | 1978-03-21 | Xerox Corporation | Data processing system |
US4189711A (en) * | 1977-11-08 | 1980-02-19 | Bell Telephone Laboratories, Incorporated | Multilevel processing of image signals |
US4445191A (en) * | 1979-08-13 | 1984-04-24 | Burroughs Corporation | Data word handling enhancement in a page oriented named-data hierarchical memory system |
US4379308A (en) * | 1980-02-25 | 1983-04-05 | Cooper Industries, Inc. | Apparatus for determining the parameters of figures on a surface |
-
1983
- 1983-04-29 GB GB838311813A patent/GB8311813D0/en active Pending
-
1984
- 1984-04-17 US US06/601,340 patent/US4630306A/en not_active Expired - Fee Related
- 1984-04-26 DE DE19843415470 patent/DE3415470A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US4630306A (en) | 1986-12-16 |
GB8311813D0 (en) | 1983-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3415470A1 (de) | Geraet und verfahren zum codieren und speichern von rasterabtastbildern | |
DE2432129C3 (de) | Verfahren zum maschinellen Lesen von Zeichen und Vorrichtung zur Durchführung des Verfahrens | |
DE3111027C2 (de) | ||
DE69937785T2 (de) | Verfahren zur Selektion von Farbblockpunkten für die Blockkodierung | |
DE2909153C2 (de) | Einrichtung zur digitalen Analyse von Bild- oder Zeichenmustern | |
DE2239765C2 (de) | Anordnungen zum Bestimmen des Randes eines Zeichens | |
DE3326725C2 (de) | Vorrichtung zur Datenkomprimierung für zweidimensionale Zeichenbilder | |
EP0096079B1 (de) | Verfahren zur Aufbereitung von Punktrasterdaten für Zeichen- und/oder Bilddarstellungen | |
DE2340597A1 (de) | Bildverarbeitungsanordnung | |
DE3036711C2 (de) | Verfahren zum Verkleinern von grafischen Mustern | |
DE3210814A1 (de) | Verfahren zum bestimmen einer optimalen schwelle, um ein binaeres abbildungssignal zur verwendung in einem mustererkennungssystem zu erhalten | |
DE69729368T2 (de) | Bildprozessor, Gerät und Verfahren zur Bildverarbeitung | |
DE2725395A1 (de) | Einrichtung zur echtzeittransformation einer n . n bitkonfiguration | |
DE2816609C2 (de) | Anordnung zur Bildverarbeitung | |
DE2755728B2 (de) | Kathodenstrahlröhren-Anzeigegerät | |
DE2740105A1 (de) | Optische zeichenerkennungseinrichtung | |
DE2431451A1 (de) | Verfahren und einrichtung zum normieren der linienstaerke von schriftzeichen | |
DE2728889C3 (de) | Verfahren und Vorrichtung zum Übertragen eines Zweipegel-Faksimilesignals | |
DE3241673C2 (de) | Verfahren zum Verdichten von Daten Zwei-wertiger Bilddarstellungen | |
EP0301384A2 (de) | Schaltungsanordnung zur Aufbereitung von schrägstehenden, insbesondere handgeschriebenen Zeichen | |
DE4409066C2 (de) | Bilddaten-Kompressions/Expansions-Schaltung | |
DE2119439C3 (de) | Verfahren zur Codierung von Informationen eines figürlichen Musters | |
DE3814471A1 (de) | Adaptive m-til-signalwert-erzeugungseinrichtung | |
DE2414239A1 (de) | Verfahren und vorrichtung zum komprimieren von in form einer elektrischen impulskette kodierter graphischer information | |
DE1205743B (de) | Verfahren und Vorrichtung zur maschinellen Zeichenerkennung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |