DE3804450C2 - - Google Patents
Info
- Publication number
- DE3804450C2 DE3804450C2 DE3804450A DE3804450A DE3804450C2 DE 3804450 C2 DE3804450 C2 DE 3804450C2 DE 3804450 A DE3804450 A DE 3804450A DE 3804450 A DE3804450 A DE 3804450A DE 3804450 C2 DE3804450 C2 DE 3804450C2
- Authority
- DE
- Germany
- Prior art keywords
- contour
- line
- scanning
- basic
- basic pattern
- 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 - Lifetime
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
- 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
-
- 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/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10008—Still image; Photographic image from scanner, fax or copier
-
- 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/30176—Document
Description
Die Erfindung betrifft ein Verfahren zur Abtastung der Kontur
eines Objektes zur Ermittlung von Konturkoordinaten durch Ableiten
der Konturlinien eines aufgenommenen binären Bildes.
Aus der DE 28 22 458 C2 ist eine Anordnung zum Erkennen von
Schriftzeichen bekannt, bei der ein das Schriftzeichen aufweisendes
Bildfeld nach zeilenweiser Abtastung digitalisiert gespeichert
und zonenweise auf das Vorliegenden bestimmter zweizeiliger
Formenelemente untersucht wird. Dazu wird die Länge
eines schwarzen Bereichs erfaßt, und die Informationen aus aufeinanderfolgenden
Abtastzeilen werden derart miteinander verknüpft,
daß das Schriftzeichen unabhängig von Einzelheiten der
tatsächlichen Form (der Dicke der Linien, der Größe, einer
Schräglage usw.) erkannt wird.
Eine ähnliche Einrichtung, ebenfalls zum Erkennen von Schriftzeichen,
ist aus der DE 15 49 930 B2 bekannt.
Es erfolgt bei diesen bekannten Anordnungen somit keine Erfassung
der äußeren Kontur eines Objektes, sondern es wird im
Gegenteil die äußere Form unterdrückt. Bei keiner dieser bekannten
Anordnungen ist es zum Beispiel möglich, aus den gewonnenen
Informationen wieder ein genaues Bild des Originalmusters
zusammenzusetzen.
Die allgemeine Methode zur Ableitung der Konturkoordinaten eines
abgetasteten Objektes besteht darin, daß die Koordinaten von
Bild-Übergangspunkten mittels einer Abtastung in zwei Richtungen
festgestellt werden, die einen rechten Winkel zueinander haben.
Dazu müssen jedoch die Bild-Übergangspunkte sowohl in der horizontalen
als auch in der vertikalen Richtung abgeleitet werden,
was eine große Menge an zu verarbeitenden Daten ergibt. Nachdem
die Koordinaten der Bild-Übergangspunkte gewonnen wurden, wird
die Konturabtastung weiter dadurch bewirkt, daß eine Maske auf
eine Koordinatentafel angewendet wird, wozu wiederum eine große
Verarbeitungszeit erforderlich ist (vgl. z. B. die DE 25 50 645
A1).
Aufgabe der Erfindung ist es daher, ein Verfahren zur Konturabtastung
zu schaffen, das eine Abtastung und Erfassung der
Kontur eines Objektes mit hoher Geschwindigkeit ermöglicht.
Diese Aufgabe wird erfindungsgemäß mit dem im Patentanspruch 1
beschriebenen Verfahren gelöst. Vorteilhafte Ausgestaltungen
dieses Verfahrens sind Gegenstand der Ansprüche 2 bis 6.
Zur Festlegung der Kontur von beliebigen zweidimensional verbundenen
Komponenten oder Formen in der binären Abbildung eines
Objekts werden demnach Grundmuster verwendet, die aus der relativen
Lage der Bild-Übergangspunkte in zwei benachbarten Abtastzeilen
bestimmt werden. Die anhand der Übergangspunkte zu einer
Folge verknüpften Grundmuster werden dann in eine entsprechende
Folge von Konturkoordinaten umgewandelt.
Jedes der Grundmuster besteht dabei aus einem oder drei aufeinanderfolgenden
Vektoren, wobei der erste und der dritte Vektor
so festgelegt sind, daß sie die Abtastrichtung unter einem
bestimmten Winkel (vorzugsweise 90°) schneiden.
Durch diese Grundmuster kann jede beliebige zweidimensionale
Form anhand ihrer Kontur beschrieben werden. Die festgelegte
Grundmusterfolge bzw. die daraus abgeleitete Folge von Konturkoordinaten
ist jeweils charakteristisch für die erfaßte Form,
aus ihr läßt sich die ursprüngliche Form zum Beispiel auch
wieder originalgetreu gewinnen. Die Erfassung der Form wird
dabei bereits durch eine eindimensionale Abtastung erhalten,
wodurch eine hohe Verarbeitungsgeschwindigkeit möglich ist.
Das erfindungsgemäße Konturabtastverfahren wird im folgenden
anhand von Beispielen und der Zeichnung näher erläutert. Es
zeigen:
Fig. 1 den Aufbau eines Ausführungsbeispieles für eine Anordnung
zur Konturabtastung;
Fig. 2 verschiedene Arten von Grundmustern;
Fig. 3 ein Beispiel zur Beschreibung einer Kontur eines
Bildes unter Verwendung der Grundmuster der Fig. 2;
Fig. 4 die Datenstruktur eines Zeilenpuffers;
Fig. 5 den Abschnitt der Fig. 1 zur automatischen Ableitung
eines Grundmusters;
Fig. 6 eine Tafel für eine Bild-Übergangspunkt-Analyse
zur Illustration der Automatisierung nach Fig. 5 in
Abhängigkeit vom Status;
Fig. 7 die Datenstruktur der Grundmuster-Verbindungstafel
der Fig. 1; und
Fig. 8 ein Ablaufdiagramm der Datenverarbeitung.
Zuerst soll ein Überblick über die Arbeitsweise des Systems
zur Konturabtastung gegeben werden.
Zur Ableitung eines Grundmusters, das einen Abschnitt der
Konturlinie bildet, erfolgt ein Bezug auf einen Bild-
Übergangspunkt einer laufenden Zeile, der gespeichert wird,
und einen Bild-Übergangspunkt (X-Koordinate) einer
vorhergehenden Zeile. Aus der Beziehung zwischen den entsprechenden Positionen
wird ein bestimmtes Grundmuster
abgeleitet und mittels eines Zeigers mit dem Grundmuster
verbunden, das bei der Verarbeitung der vorhergehenden Zeile
gewonnen wurde. Mit der Ableitung des Grundmusters für eine
Zeile wird der Bild-Übergangspunkt der laufenden Zeile
zu einem Speicher für die vorhergehende Zeile übertragen,
und ein Bild-Übergangspunkt einer neuen Zeile wird
einem Speicher für die laufende Zeile eingegeben. Dieser
Vorgang wird für alle Zeilen ausgeführt, und dann werden die
durch die Zeiger verbundenen Grundmuster integriert, um die
Konturkoordinaten zu erhalten.
Mit diesem System ist es möglich, die Kontur unter Verwendung
der Bild-Übergangspunkte nur einer Richtung
abzutasten. Des weiteren sind die Grundmuster mit Zeigern
versehen, so daß sie mit hoher Geschwindigkeit in Konturkoordinaten
umgewandelt werden können.
Beim Vorgang des Übertragens der Inhalte des Speichers für
die laufende Zeile zum Speicher für die vorhergehende Zeile
werden die Adressen von jedem der Zeilenspeicher abwechselnd
umgeschaltet, so daß die Daten nicht wirklich übertragen
werden müssen.
Das Konturabtastsystem wird nun mit Bezug auf die Zeichnung
näher beschrieben. Die Fig. 1 zeigt die Struktur des Verfahrens
zur Konturabtastung anhand einer Anordnung zur
Durchführung des Verfahrens. In der Fig. 1 bezeichnet das
Bezugszeichen 1 eine Bild-Übergangspunktdatei, 2 eine
Steuerung, 3 einen Eingangsabschnitt für Bild-Übergangspunkte,
4 einen Puffer für die laufende Zeile, 5 einen
Puffer für die vorhergehende Zeile, 6 einen Grundmuster-
Extraktor, 7 eine Grundmuster-Verbindungstafel, 8 einen
Konturkoordinatenkonverter und 9 eine Konturkoordinatendatei.
Die Bild-Übergangspunktdatei 1 speichert die
Koordinaten von Bild-Übergangspunkten von jeder der
Zeilen, die durch den Eingangsabschnitt 3 für jede der
Zeilen in den Puffer 4 für die laufende Zeile eingegeben
werden. Zu diesem Zeitpunkt werden die Bild-Übergangspunkte,
die in dem Puffer 4 für die laufende Zeile
gespeichert waren, zu dem Puffer 5 für die vorhergehende
Zeile übertragen. Als nächstes liest der Grundmuster-Extraktor
6 die Inhalte der Zeilenpuffer 4 und 5 nacheinander aus
und leitet auf der Basis der Werte der Koordinaten das
Grundmuster ab, das einen Teil der Konturlinie bildet. Das
abgeleitete Grundmuster wird in der Grundmuster-Verbindungstafel
7 gespeichert. Das Grundmuster ist hier durch einen
Zeiger mit dem in der vorhergehenden Zeile abgeleiteten
Grundmuster verbunden. Nachdem für die Inhalte der Zeilenpuffer
4 und 5 alle Grundmuster abgeleitet wurden, wird ein
Bild-Übergangspunkt der nächsten Zeile aus der Bild-
Übergangspunktdatei 1 ausgelesen. Nachdem dieser
Vorgang für alle Zeilen ausgeführt wurde, integriert der
Konturkoordinatenkonverter 8 die Grundmuster der Grundmuster-
Verbindungstafel 7 unter Abtastung der Zeiger,
erstellt die Konturkoordinaten und sendet diese zu der
Konturkoordinatendatei 9, womit das Abtasten der Kontur
beendet ist. Die Steuerung 2 steuert alle diese Vorgänge.
Die Fig. 2 zeigt zehn Arten von Grundmustern, die von dem
Grundmuster-Extraktor 6 abgeleitet werden. Alle Konturlinien
können durch Kombinationen dieser Grundmuster ausgedrückt
werden. Diese Grundmuster sind mit Bezeichnungen bis
versehen und werden RD-Codes (für "Run-types Direction
Codes" bzw. Laufrichtungscodes) genannt. Der Endpunkt an der
Spitze des Pfeiles des RD-Codes wird Kopf und der Endpunkt
an der anderen Seite Fuß genannt. In der Fig. 2 zeigen
schwarze Punkte die Positionen entsprechender Punkte des
RD-Codes an, die dazu bestimmt sind, diese Positionen anzugeben.
Wenn die Konturlinien durch Grundmuster beschrieben
werden, die RD-Codes genannt werden, wird der Zeiger so
betrieben, daß der Kopf des RD-Codes notwendigerweise mit
dem Fuß eines anderen RD-Codes verbunden ist.
Die Fig. 3 zeigt ein Beispiel, bei dem die Kontur eines
Bildes in einer Abbildung mit einem Abbildungsmaß von 8×6
unter Verwendung von RD-Codes beschrieben wird. Die Kontur
des Bildes 50 wird durch ( . . . ) mit 14 RD-
Codes beschrieben. Die RD-Codes können leicht in allgemeine
Konturkoordinaten umgewandelt werden. Wenn die Positionen
repräsentativer Punkte nur von RD-Codes als Konturkoordinaten
verwendet werden, sind die dazwischenliegenden Koordinaten
nicht eingeschlossen. Die dazwischenliegenden Koordinaten
können jedoch durch Verwendung der Positionen repräsentativer
Punkte des vorhergehenden der aufeinanderfolgenden
Codes interpoliert werden. Wenn in ( . . .)
zum Beispiel die Position des repräsentativen Punktes von
gleich (2,5; 1,5) und die Position des repräsentativen
Punktes von gleich (1,5; 2,5) ist, dann ist die dazwischenliegende
Koordinate gleich (2,5; 2,5), und die
Koordinaten ergeben sich zu ((2,5; 1,5) (2,5; 2,5) (1,5;
2,5) . . .). Die Positionen der repräsentativen Punkte haben
hier einen Bruchteil 0,5, da die Koordinate am Mittelpunkt
des Bildpunktes als Referenz verwendet wird. Der Bruchteil
kann gegebenenfalls zur Vereinfachung der Notation weggelassen
werden.
Die Fig. 4 zeigt die Datenstruktur von Zeilenpuffern gemäß
einem Ausführungsbeispiel. Die X-Koordinaten von Bild-
Übergangspunkten sind in dem Puffer 4 für die laufende Zeile
und dem Puffer 5 für die vorhergehende Zeile gespeichert,
und ein Endcode ∞ befindet sich am Ende der Daten. Ein
Zeiger P1 wird zum Auslesen des Puffers 5 für die vorhergehende
Zeile und ein Zeiger P2 zum Auslesen des Puffers 4
für die laufende Zeile verwendet.
Die Fig. 5a zeigt eine Automatisierung für das Ableiten von
RD-Codes im Grundmuster-Extraktor 6 im Umriß und die Fig. 5b
zeigt die Automatisierung im Detail. Dabei bezeichnet
eine Kombination von Läufen zwischen den
oberen und unteren Zeilen für einen gegebenen Status. Die
obere Reihe stellt dabei die Art der Läufe in der vorhergehenden
Zeile und die untere Reihe die Art der Läufe in der
laufenden Zeile dar, das Symbol B bezeichnet einen Schwarzlauf
(Fortführung von 1s, das heißt Fortführung schwarzer
Bildelemente in der Abbildung), und das Symbol W einen Weißlauf
(Fortführung von 0s, das heißt Fortführung weißer
Bildelemente). In der Fig. 5 bezeichnet weiter das Symbol X1
die Position eines Bild-Übergangspunktes, die aus dem
Puffer 5 für die vorhergehende Zeile ausgelesen wurde, und
das Symbol X2 die Position eines Bild-Übergangspunktes,
die aus dem Puffer 4 für die laufende Zeile ausgelesen
wurde. Es gibt insgesamt 6 Statusarten, und der Beginn
und das Ende des Abtastens laufen notwendigerweise durch den
Status 1 mit jeder Zeile als Einheit. Bei jedem Status gibt
es drei Arten von Statusübergängen in Abhängigkeit von dem
Ergebnis des Vergleichs von X1 mit X2, wodurch RD-Codes
bis abgeleitet werden. Die Bild-Übergangspunkte
X1, X2 werden aus den Zeilenpuffern 5 und 4 in der Reihenfolge
ansteigender Werte für die Übergangspunkte durch
Vergleich der Werte ausgelesen. Wenn die Bild-Übergangspunkte
die gleichen Werte haben, werden sie aus beiden
Zeilenpuffern ausgelesen. Gemäß dieser Automatisierung wird
der RD-Code gemäß den folgenden Bedingungen abgeleitet;
das heißt X1 <X2 gilt im Status 1, und nachdem X2 erneuert
ist, gilt X1 <X2 im Status 3. Vom Standpunkt des Bildes aus
betrachtet heißt dies, daß bestätigt wird, daß die obere
Seite des Laufes (des Schwarzlaufes in diesem Fall), der nun
betrachtet wird, der Hintergrund ist. Wie mit Bezug zu der
Fig. 4 erläutert, ist der Code ∞ im Ende des Zeilenpuffers
enthalten und wird vom Standpunkt der Verarbeitung als
linker Rand B betrachtet. Nachdem alle Daten ausgelesen
sind, wird daher wieder der Status 1 angenommen, das heißt
es wird
angenommen.
Die Fig. 6 zeigt die auszuführenden Arbeitsabläufe gemäß der
Automatisierung von Fig. 5, die in Abhängigkeit vom Status
gruppiert sind. Die X-Koordinate der Position des repräsentativen
Punktes des RD-Codes wird erneuert, der RD-Code
abgeleitet, eingegeben und zu der Nummer des nächsten Status
erneuert, und der nächste Bild-Übergangspunkt wird in
Abhängigkeit von der Bedingung, ob X1 größer ist als X2 oder
umgekehrt, ausgelesen. Wenn der RD-Code eingegeben wird,
wird die Verbindung mit dem RD-Code bewirkt, der auf eine
solche Verbindung wartet. Die RD-Codes können in die
folgenden zwei Arten eingeteilt werden:
- 1. Codes, die nicht auf eine Verbindung warten:
, ---; Kopf und Fuß sind beide nach oben gerichtet; - 2. Codes, die auf eine Verbindung warten: ---; Kopf oder Fuß ist abwärts gerichtet.
Die RD-Codes der zweiten Gruppe werden durch den Zeiger als
die Warteliste zur Verbindung zum Zeitpunkt der Ableitung
gesteuert, und der RD-Code, der nun abgeleitet wird, wird
aufeinanderfolgend mit dem RD-Code in der Warteliste verbunden.
Die Fig. 7 zeigt ein Beispiel für eine Grundmuster-Verbindungstafel.
Die Verbindungstafel 7 besteht aus 5 Spalten,
nämlich der Position X, Y eines repräsentativen Punktes des
RD-Codes, einer Codenummer CODE dafür, einem Verbindungszeiger
zum Verbinden der RD-Codes und einem W-Verbindungszeiger,
der vorübergehend jene RD-Codes enthält, die auf eine
Verbindung warten. Des weiteren sind drei Zeiger A, B und C
für das Arbeiten mit der Grundmuster-Verbindungstafel 7 vorgesehen.
Der Zeiger A zeigt eine Adresse für eine neue RD-
Code-Eingabe an, der Zeiger B die erste Adresse der Warteliste
für die RD-Code-Verbindung, und der Zeiger C die
letzte Adresse der Warteliste für die RD-Code-Verbindung.
Die Fig. 7 zeigt die Verarbeitung der Abbildung der Fig. 3.
Die Fig. 8 ist ein Ablaufdiagramm (PAD) für die Verarbeitung
der Konturabtastung unter Verwendung der Steuerung 2 der
Fig. 1. Im Ablaufdiagramm der Fig. 8 sind die Variablen wie
folgt definiert:
C-Zeilenpuffer: Puffer 4 für die laufende Zeile;
P-Zeilenpuffer: Puffer 5 für die vorhergehende Zeile;
Status: Statusnummern (1 bis 6);
A, B, C: Zeiger;
Flag: Steuerzeichen (0 bis 1) des Zeigers B;
K: Abbildungs-Zeilennummer, die gerade abgetastet wird;
NY: Maximale Zeilenzahl der Abbildung;
RD-Liste: Grundmuster-Verbindungstafel 7.
P-Zeilenpuffer: Puffer 5 für die vorhergehende Zeile;
Status: Statusnummern (1 bis 6);
A, B, C: Zeiger;
Flag: Steuerzeichen (0 bis 1) des Zeigers B;
K: Abbildungs-Zeilennummer, die gerade abgetastet wird;
NY: Maximale Zeilenzahl der Abbildung;
RD-Liste: Grundmuster-Verbindungstafel 7.
Der Ablauf der Verarbeitung einer Konturabtastung ist
folgendermaßen:
C-Zeilenpuffer (1) = ∞; Einstellen des Puffers 4 für die
laufende Zeile auf "leer".
Status = 1; Einstellen des Anfangsstatus der Automatisierung auf 1.
A = 0, B = 1, C = 1, Flag = 0;, Initialisierung der Variablen.
Status = 1; Einstellen des Anfangsstatus der Automatisierung auf 1.
A = 0, B = 1, C = 1, Flag = 0;, Initialisierung der Variablen.
Ausführung der Verarbeitung zum (NY+1)ten Male.
Verschieben des Zeilenpufferinhalts.
Die Pufferverschiebung ist hier ein System, bei dem die
Daten nicht wirklich übertragen werden, sondern die Adressen
der Zeilenpuffer in Abhängigkeit davon, ob K geradzahlig
oder ungeradzahlig ist, umgeschaltet werden.
Der Inhalt des C-Zeilenpuffers wird so zum P-Zeilenpuffer
übertragen (das heißt, es werden die Adressen des C-Zeilenpuffers
und des P-Zeilenpuffers ausgetauscht).
Bild-Übergangspunkte einer Zeile werden ausgelesen.
Wenn K <NY, ist der C-Zeilenpuffer (1) = ∞. Wenn nicht,
werden Bild-Übergangspunkte einer Zeile aus der
Übergangspunktdatei 1 ausgelesen und zum C-Zeilenpuffer
gebracht.
Initialisierung zur Konturabtastung zwischen
zwei Zeilen
P₁ = 1, P₂ = 1 : Initialisierung der Lesezeiger der Zeilenpuffer
5 und 4.
X1 = P-Zeilenpuffer (P1); Einstellen der ersten Daten des Puffers 5 für die vorhergehende Zeile auf die Variable X1.
X2 = C-Zeilenpuffer (P2); Einstellen der ersten Daten des Puffers 4 für die laufende Zeile auf die Variable X2.
X1 = P-Zeilenpuffer (P1); Einstellen der ersten Daten des Puffers 5 für die vorhergehende Zeile auf die Variable X1.
X2 = C-Zeilenpuffer (P2); Einstellen der ersten Daten des Puffers 4 für die laufende Zeile auf die Variable X2.
Konturabtastung zwischen diesen beiden Zeilen.
Ausführen der folgenden Vorgänge, bis sowohl X1 als auch X2
den Code ∞ annehmen.
Ableiten, Eingabe und Verbinden der RD-Codes.
Datenerneuerung von X1 und X2.
Anmerkung: Die Schritte 2.4.1 und 2.4.2 werden auf der Basis der Tafel der Fig. 6 ausgeführt.
Anmerkung: Die Schritte 2.4.1 und 2.4.2 werden auf der Basis der Tafel der Fig. 6 ausgeführt.
Umwandlung der im Schritt 2 gefundenen RD-Codes
in Koordinaten.
Gemäß der beschriebenen Ausführungsform ist der Abbildungsspeicher
für die Konturabtastung ein Zeilenpuffer für zwei
Zeilen. Dies ist bezüglich der Wirtschaftlichkeit vorteilhaft.
Des weiteren werden für die Konturabtastung die Positionen
der Bild-Übergangspunkte nur in einer Richtung
verwendet , wodurch es möglich ist, die Abtastoperation mit
einer größeren Geschwindigkeit auszuführen als bei der
Verwendung von Bild-Übergangspunktpositionen zweier
Richtungen. Die zehn Grundmuster, die die Konturlinien
bilden, können an Bilder jeder Art angepaßt werden, wodurch
es möglich ist, die Kontur des Bildes wirklichkeitsgetreu zu
beschreiben. Bilddateien von Dokumenten und Zeichnungen
sind im allgemeinen in Lauflängencodes gespeichert,
was gut zu dem vorliegenden Konturabtastsystem paßt. Darüber hinaus
werden beim vorliegenden System keine besonderen
Recheneinheiten benötigt, sondern nur gewöhnliche Allzweckrechner,
womit eine schnelle Verarbeitung erreicht wird.
Wie erläutert, kann die Konturabtastung unter Verwendung von
Bild-Übergangspunkten für nur eine Richtung ausgeführt
werden. Da den durch Vergleich der Positionen von
Bild-Übergangspunkten zwischen zwei Zeilen erhaltenen
Grundmustern Zeiger zugeordnet werden, ist keine zusätzliche
Suche zur Umwandlung der Grundmuster in die Konturkoordinaten
erforderlich. Die Konturkoordinaten werden dadurch mit
großer Geschwindigkeit erhalten.
Claims (6)
1. Verfahren zur Abtastung einer Kontur zur Ermittlung
von Konturkoordinaten durch Ableiten der Konturlinien eines
aufgenommenen binären Bildes, das aus einem Satz von mehreren
Zeilen besteht, mit folgenden Schritten:
- a) Erfassen eines Überganges der Dichte des binären Bildes als Bild-Übergangspunkt für jede Abtastzeile bei einer sequentiellen Abtastung;
- b) Feststellen der Positionen der Übergangspunkte in einer ersten Abtastzeile und der Positionen der Übergangspunkte in einer auf die erste Abtastzeile folgenden zweiten Abtastzeile;
- c) Auswählen eines Grundmusters aus jeweils einem Paar von Übergangspunkt-Positionen aus der ersten und der zweiten Abtastzeile, die in der Reihenfolge ansteigender Werte ausgelesen werden, aus mehreren vorgegebenen Grundmustern (Fig. 2), wobei die Grundmuster jeweils aus einem oder drei aufeinanderfolgenden Vektoren aufgespannt sind, von denen der erste und der dritte Vektor in eine Richtung gerichtet sind, die die Abtastrichtung unter einem bestimmten Winkel schneidet;
- d) mehrfaches Durchführen der Schritte b) und c);
- e) Verknüpfen der so ausgewählten Grundmuster entsprechend der Positionen der Bild-Übergangspunkte in den Abtastzeilen zu einer Grundmusterfolge; und
- f) Umwandeln der Grundmusterfolge in eine Folge von Konturkoordinanten für wenigstens eine von zweidimensional verbundenen Komponenten.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die
Grundmuster aus zehn Grundmustern bestehen, die jede Form von
zweidimensional verbundenen Komponenten durch Aneinanderreihen
der zehn Grundmuster umschließen können.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der
erste und der dritte Vektor eine feste Länge von 0,5 Einheiten
oder 1 Einheit haben, und daß der zweite Vektor ein Vektor in
Richtung der Abtastrichtung mit variabler Länge ist.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die
die Richtung der Abtastzeile schneidende Richtung im wesentlichen
senkrecht zur Abtastrichtung verläuft.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die
Richtung des zweiten Vektors im wesentlichen horizontal und die
Richtung des ersten und des dritten Vektors im wesentlichen
vertikal ist.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der
Schritt d) die Registrierung von Zeigern für die bestimmten
Grundmuster, die mit einem folgenden Grundmuster zu verbinden
sind, gemäß der Art des bestimmten Grundmusters in eine Warteliste
einschließt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62035511A JP3014097B2 (ja) | 1987-02-20 | 1987-02-20 | 輪郭追跡方法及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3804450A1 DE3804450A1 (de) | 1988-09-01 |
DE3804450C2 true DE3804450C2 (de) | 1992-09-03 |
Family
ID=12443783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3804450A Granted DE3804450A1 (de) | 1987-02-20 | 1988-02-12 | Verfahren zur konturabtastung und anordnung dafuer |
Country Status (5)
Country | Link |
---|---|
US (1) | US4956869A (de) |
JP (1) | JP3014097B2 (de) |
KR (1) | KR910005387B1 (de) |
DE (1) | DE3804450A1 (de) |
GB (1) | GB2201562B (de) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4982293A (en) * | 1988-06-02 | 1991-01-01 | Ricoh Company, Ltd. | Method of compressing halftone image data |
JP2833654B2 (ja) * | 1988-11-11 | 1998-12-09 | キヤノン株式会社 | 図形処理装置 |
US5195147A (en) * | 1989-05-02 | 1993-03-16 | Ricoh Company, Ltd. | Image forming apparatus |
DE69032318T2 (de) * | 1989-08-31 | 1998-09-24 | Canon Kk | Vorrichtung zur Bildverarbeitung |
JP2521090Y2 (ja) * | 1990-07-25 | 1996-12-25 | 村田機械株式会社 | 綾落ち検査装置 |
JP2689179B2 (ja) * | 1990-09-03 | 1997-12-10 | 日立ソフトウェアエンジニアリング株式会社 | 画像端点再追跡方法 |
JP3026592B2 (ja) | 1990-10-22 | 2000-03-27 | キヤノン株式会社 | 輪郭抽出方法及びその装置 |
US5666440A (en) * | 1991-07-31 | 1997-09-09 | Victor Company Of Japan, Ltd. | Method and apparatus for extracting outline data from bi-level image data |
JP3576570B2 (ja) * | 1991-11-19 | 2004-10-13 | ゼロックス コーポレイション | 比較方法 |
CA2077970C (en) * | 1991-11-19 | 1999-02-23 | Daniel P. Huttenlocher | Optical word recognition by examination of word shape |
CA2077969C (en) * | 1991-11-19 | 1997-03-04 | Daniel P. Huttenlocher | Method of deriving wordshapes for subsequent comparison |
US5321770A (en) * | 1991-11-19 | 1994-06-14 | Xerox Corporation | Method for determining boundaries of words in text |
JP3049672B2 (ja) * | 1991-12-26 | 2000-06-05 | キヤノン株式会社 | 画像処理方法及び装置 |
DE69332918D1 (de) * | 1992-01-24 | 2003-06-05 | Canon Kk | Gerät und Verfahren zum Extrahieren von Kantendaten und zur Kodierung von Bilddaten mit diesen Kantendaten |
US5933528A (en) * | 1992-01-27 | 1999-08-03 | Canon Kabushiki Kaisha | Image processing apparatus |
JP2918383B2 (ja) * | 1992-02-27 | 1999-07-12 | 大日本スクリーン製造株式会社 | 画像の輪郭抽出方法および装置 |
EP0574251B1 (de) * | 1992-06-11 | 2002-09-11 | Canon Kabushiki Kaisha | Verfahren und Einrichtung zur Bildverarbeitung |
JP2954426B2 (ja) * | 1992-06-26 | 1999-09-27 | キヤノン株式会社 | 画像処理方法及び装置 |
EP0589702B1 (de) * | 1992-09-24 | 1999-05-12 | Canon Kabushiki Kaisha | Bildverarbeitungsverfahren und -gerät |
ATE191980T1 (de) | 1992-12-30 | 2000-05-15 | Koninkl Kpn Nv | Verfahren zum ableiten der merkmale von zeichen in einem zeichenerkennungssystem |
JP2904671B2 (ja) * | 1993-03-03 | 1999-06-14 | 大日本スクリーン製造株式会社 | 多階調画像の修正装置 |
JP2710202B2 (ja) * | 1993-03-24 | 1998-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 閉じた輪郭イメージを凸多角形で境界づける方法及びデータ処理装置 |
DE69433603D1 (de) * | 1993-10-26 | 2004-04-15 | Canon Kk | Bildverarbeitungsverfahren und -gerät |
JP3445394B2 (ja) * | 1993-12-17 | 2003-09-08 | ゼロックス・コーポレーション | 少なくとも二つのイメージセクションの比較方法 |
US5410611A (en) * | 1993-12-17 | 1995-04-25 | Xerox Corporation | Method for identifying word bounding boxes in text |
US5577134A (en) * | 1994-01-07 | 1996-11-19 | Panasonic Technologies, Inc. | Method and apparatus for encoding a segmented image without loss of information |
JPH07222011A (ja) * | 1994-01-31 | 1995-08-18 | Canon Inc | 色再現範囲表現方法及び画像処理方法及び装置 |
US6166740A (en) * | 1994-04-15 | 2000-12-26 | Hewlett Packard Company | Method and system for viewing three-dimensional data for a tracked structure |
US5724435A (en) * | 1994-04-15 | 1998-03-03 | Hewlett Packard Company | Digital filter and method of tracking a structure extending in three spatial dimensions |
EP0687994B1 (de) | 1994-06-17 | 2002-02-13 | Canon Kabushiki Kaisha | Verfahren und Vorrichtung zur Gewinnung von Konturinformation |
IL114475A0 (en) * | 1995-07-06 | 1995-11-27 | Grid Point Ltd | Method for 2D and 3D image capturing representation processing and compression |
US5835638A (en) * | 1996-05-30 | 1998-11-10 | Xerox Corporation | Method and apparatus for comparing symbols extracted from binary images of text using topology preserved dilated representations of the symbols |
US5956428A (en) * | 1997-05-19 | 1999-09-21 | Ausbeck, Jr.; Paul James | Stroke code for image partitions |
US7075681B1 (en) | 1999-11-09 | 2006-07-11 | Kodak Graphic Communications Canada Company | System and method for reducing the data volume of images |
JP4614487B2 (ja) * | 2000-01-25 | 2011-01-19 | Juki株式会社 | 部品位置検出方法、部品位置検出装置、部品データ格納方法及びその装置 |
US20040174361A1 (en) * | 2000-10-13 | 2004-09-09 | Yosef Yomdin | Geometric and brightness modeling of images |
US20050063596A1 (en) * | 2001-11-23 | 2005-03-24 | Yosef Yomdin | Encoding of geometric modeled images |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1180290A (en) * | 1966-10-31 | 1970-02-04 | Tokyo Shibaura Electric Co | Apparatus for Recognising a Pattern |
DE2017246C3 (de) * | 1970-04-10 | 1975-11-06 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Verfahren und Einrichtung zum Ermitteln des Konturverlaufes eines spaltenweise abgetasteten Schrittzeichens |
US3968475A (en) * | 1974-11-11 | 1976-07-06 | Sperry Rand Corporation | Digital processor for extracting data from a binary image |
JPS5215235A (en) * | 1975-07-26 | 1977-02-04 | Fujitsu Ltd | Character recognition unit |
DE2822458C2 (de) * | 1977-05-23 | 1983-11-03 | Sharp K.K., Osaka | Einrichtung zum Erkennen von Schriftzeichen |
US4326190A (en) * | 1978-08-30 | 1982-04-20 | Borland David L | Boundary trace slope feature detection system |
US4270172A (en) * | 1978-09-15 | 1981-05-26 | Alphatype Corporation | Ultrahigh resolution photocomposition system employing electronic character generation from magnetically stored data |
JPS56103773A (en) * | 1980-01-21 | 1981-08-19 | Agency Of Ind Science & Technol | Feature extracing system of binary pattern |
JPS6074092A (ja) * | 1983-09-30 | 1985-04-26 | Yokogawa Hokushin Electric Corp | 輪郭形状情報抽出回路 |
US4646134A (en) * | 1984-03-21 | 1987-02-24 | Sony Corporation | Apparatus for encoding image signal |
-
1987
- 1987-02-20 JP JP62035511A patent/JP3014097B2/ja not_active Expired - Lifetime
-
1988
- 1988-01-22 GB GB8801483A patent/GB2201562B/en not_active Expired - Lifetime
- 1988-02-10 US US07/154,378 patent/US4956869A/en not_active Expired - Lifetime
- 1988-02-11 KR KR1019880001313A patent/KR910005387B1/ko not_active IP Right Cessation
- 1988-02-12 DE DE3804450A patent/DE3804450A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS63204376A (ja) | 1988-08-24 |
GB8801483D0 (en) | 1988-02-24 |
US4956869A (en) | 1990-09-11 |
DE3804450A1 (de) | 1988-09-01 |
KR880010372A (ko) | 1988-10-08 |
GB2201562B (en) | 1991-10-16 |
GB2201562A (en) | 1988-09-01 |
KR910005387B1 (ko) | 1991-07-29 |
JP3014097B2 (ja) | 2000-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3804450C2 (de) | ||
EP0150813B1 (de) | Verfahren zur Manipulation von Bildschirmdarstellungen durch Sprachbefehle | |
DE3716787C2 (de) | ||
DE3346816C2 (de) | ||
DE2909153C2 (de) | Einrichtung zur digitalen Analyse von Bild- oder Zeichenmustern | |
DE3440377C2 (de) | ||
DE69535098T2 (de) | Verfahren und -vorrichtung zur Suche von Bildern in einer Datenbank | |
EP0096079B1 (de) | Verfahren zur Aufbereitung von Punktrasterdaten für Zeichen- und/oder Bilddarstellungen | |
DE2432129C3 (de) | Verfahren zum maschinellen Lesen von Zeichen und Vorrichtung zur Durchführung des Verfahrens | |
DE3239606A1 (de) | Abtastzeilen-generator | |
DE3415470A1 (de) | Geraet und verfahren zum codieren und speichern von rasterabtastbildern | |
DE3036711C2 (de) | Verfahren zum Verkleinern von grafischen Mustern | |
DE3416939A1 (de) | Verfahren zur steuerung von betriebseinrichtungen | |
DE3134282A1 (de) | Verfahren zur darstellung ideografischer zeichen und vergleichbarer graphiken | |
DE3633743A1 (de) | Zeichenerkennungssystem | |
DE2247942A1 (de) | Zeichenerkennungsverfahren zur verbesserung der erkennbarkeit gestoerter zeichen | |
DE2144596A1 (de) | Video-Anzeigevorrichtung | |
DE3505117A1 (de) | Vorrichtung und verfahren zum emulieren eines rechnertastatureingangs mit einem handschrifteingabeterminal | |
DE3716752C2 (de) | ||
DE3328308A1 (de) | Eingabeverfahren fuer daten eines grafischen musters | |
DE2410306C3 (de) | Anordnung zur Einstellung eines Abtastrasters oder einer Erkennungslogik auf die Schräglage von abzutastenden bzw. zu erkennenden Zeichen | |
DE3441640A1 (de) | Streifenfeldspeichercontroller | |
DE3100481A1 (de) | "verfahren und durchfuehrungsanordnung zum aufbau und zur wiedergabe graphischer informationen in form eines bildes auf einem wiedergabegeraet" | |
DE2825321A1 (de) | Rasterdrucker | |
DE3103592A1 (de) | Verfahren und vorrichtung zur zeichenidentifizierung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBE |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |