DE60203653T2 - Lauflängenbasierte verbundene Komponenten und Konturverfolgung zur Laufzeitverbesserung eines Extraktionsalgorithmus für kreisförmige Bereiche - Google Patents

Lauflängenbasierte verbundene Komponenten und Konturverfolgung zur Laufzeitverbesserung eines Extraktionsalgorithmus für kreisförmige Bereiche Download PDF

Info

Publication number
DE60203653T2
DE60203653T2 DE60203653T DE60203653T DE60203653T2 DE 60203653 T2 DE60203653 T2 DE 60203653T2 DE 60203653 T DE60203653 T DE 60203653T DE 60203653 T DE60203653 T DE 60203653T DE 60203653 T2 DE60203653 T2 DE 60203653T2
Authority
DE
Germany
Prior art keywords
child
parent
sibling
run
pixels
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
DE60203653T
Other languages
English (en)
Other versions
DE60203653D1 (de
Inventor
Jinhong K. West Windsor Guo
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE60203653D1 publication Critical patent/DE60203653D1/de
Application granted granted Critical
Publication of DE60203653T2 publication Critical patent/DE60203653T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/182Extraction of features or characteristics of the image by coding the contour of the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/184Extraction of features or characteristics of the image by analysing segments intersecting the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Description

  • HINTERGRUND UND ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein Bildverarbeitung. Insbesondere betrifft die Erfindung ein Verfahren und ein System zum Identifizieren von Konturen innerhalb bildpunktbasierter Bilddaten. Die identifizierten Konturen können z. B. zum Identifizieren von eingekreisten Bereichen auf einem abgetasteten Dokument verwendet werden. so dass das Bildverarbeitungssystem in der Lage ist, den Inhalt innerhalb des eingekreisten Bereichs zu extrahieren, um das Dokument zu indizieren oder andere auf den Informationen basierende Verarbeitungsaufgaben auszuführen.
  • Gegenwärtig besteht ein beträchtliches Interesse an intelligenten automatischen Dokumentbildgebungssystemen, die abgetastete Dokumente und andere bildpunktbasierte Bilddaten mit minimaler Dokumentcodierung durch den Benutzer speichern und abrufen können. Bei einem herkömmlichen Dokumentbildgebungssystem wird das abgetastete Bild auf dem Computer-Bildschirm angezeigt und der Benutzer kann einen Abschnitt des abgetasteten Bilds hervorheben, aus dem Indexierungsinformationen extrahiert werden können. Der Benutzer kann z. B. den Titel eines abgetasteten Zeitungsartikels hervorheben und der Titel wird durch optische Zeichenerkennung (optical character recognition – OCR) verarbeitet und dann als ein Index oder eine Kennung für dieses abgetastete Bild verwendet. Der Index oder die Kennung wird verwendet, um den abgetasteten Zeitungsausschnitt später abzurufen.
  • Obwohl die Verwendung der Computeranzeige zur Hervorhebung relevanter Abschnitte eines Dokuments bei einigen Anwendungen gut funktioniert, gibt es andere Anwendun gen, bei denen die physische Interaktion mit dem Computer-Bildschirm nicht praktisch ist. In solchen Fällen kann es für den Benutzer praktischer sein, den interessierenden Bereich auf dem ausgedruckten Dokument einfach einzukreisen, bevor es in das System abgetastet wird. Mit anderen Worten, der Benutzer würde einen Bleistift oder Kugelschreiber verwenden, um einen Kreis um den interessierenden Bereich zu zeichnen, und das Bildverarbeitungssystem würde dann den handgezeichneten Kreis des Benutzers identifizieren, den Text innerhalb des eingekreisten Bereichs extrahieren und verarbeiten und ihn zu Indexierungs- oder Dokumentverarbeitungszwecken verwenden.
  • Das Identifizieren eines eingekreisten Bereichs innerhalb bildpunktbasierter Bilddaten eines abgetasteten Dokuments ist ein ziemlich schwieriges Problem. Herkömmliche Algorithmen zum Identifizieren eingekreister Bereiche versuchen, angeschlossene Komponenten zu identifizieren, die ein Profil aus Attributen haben wonach sie einen eingekreisten Bereich bilden könnten. Herkömmlicherweise weist eine angeschlossene Komponente eine Ansammlung von schwarzen, aufeinander folgend aneinander grenzenden Bildpunkten auf. Je nach dem verwendeten Algorithmus sind aneinander grenzende Bildpunkte diejenigen, die in der einen gegebenen Bildpunkt umgebenden unmittelbaren Nachbarschaft liegen, typischerweise entweder die wie Punkte auf einem Kompass angeordneten vier Bildpunkte oder die acht Bildpunkte, die diese vier plus diagonale Bildpunkte enthalten. Wenn eine herkömmliche Analyse angeschlossener Komponenten durchgeführt wird, kann das abgetastete Bild mehrere Kandidaten für angeschlossene Komponenten enthalten, die einen vom Benutzer gezeichneten Kreis darstellen könnten. Nachverarbeitungsalgorithmen werden bei den Daten angeschlossener Komponenten ausgeführt, um diejenigen auszuschließen, die zu klein sind und daher wahrscheinlicher einzelnen Buchstaben oder Rauschdaten entsprechen. Nachverarbeitungsalgorithmen prüfen auch die Daten angeschlossener Komponenten, um zu bestimmen, ob es innerhalb einer gegebenen angeschlossenen Komponente einen Abschluss gibt. Auf diese Weise werden geschlossene Kreise identifiziert und andere Markierungen wie z. B. Linien am Rand oder Unterstreichungen werden eliminiert.
  • Strathy et al. beschreiben in "A sequential method of extracting contour chains from an image", Proceedings of the 12th IAPR, auf den Seiten 580–582 eine Konturkettenextraktion, bei der ein Bild zeilenweise von links nach rechts und von oben nach unten abgetastet wird. Acht angeschlossene Bildpunkte in aufeinander folgenden Linien werden gemischt und bestimmen die endgültige Kontur.
  • Duda et al. offenbaren in "Contour following" Pattern Classification and Scene Analysis, New York, J. Wiley & Sons, US, 1973, auf den Seiten 290–293 Konturverfolgung mittels eines einfachen regelbasierten Ansatzes, bei dem sich ein imaginärer Beobachter entlang der Kontur bewegt und je nach seiner Position (d. h. innerhalb oder außerhalb des Objekts, dessen Kontur zu bestimmen ist) nach links oder rechts abbiegt.
  • Die US-A-5 228 097 beschreibt das Erzeugen von Bilddarstellungen durch linienweises Abtasten eines Bilds und Kodieren von Ketten aufeinander folgender Bildpunkte mit ähnlicher Dichte, wodurch Objekt- und Hintergrundbereich in einem Bild bestimmt werden.
  • Obwohl die herkömmliche Analyse angeschlossener Komponenten potentielle Kandidaten für eingekreiste Bereiche ziemlich gut identifiziert, ist der Prozess rechnerisch relativ kostspielig. Die vorliegende Erfindung geht dieses Thema durch einen wesentlich effizienteren Algorithmus an. Statt angeschlossene Komponenten auf die herkömmliche Weise zu suchen – ein Prozess, der möglicherweise viele Kandidaten erzeugt, von denen jeder analysiert werden muss -, verwendet der vorliegende Algorithmus eine einzige Datenstruktur, die während der Abtastung des Bilds mit Lauflängeninformationen bestückt wird. Wie hierin ausführlicher erläutert wird, unterhält die Datenstruktur Informationen über Eltern-, Kind- und Geschwisterbeziehungen über jeden "Lauf" aufeinander folgender Bildpunkte in einer gegebenen abgetasteten Zeile. Dann werden die Eltern-, Kind- und Geschwister-Informationen durchlaufen, um Konturen zu identifizieren, die geschlossene Kreise mit geeigneter Größe darstellen. Der Lauflängenalgorithmus eliminiert so die Notwendigkeit, jeden Bildpunkt zu seinen benachbarten Bildpunkten auf die herkömmliche Art und Weise für angeschlossene Komponenten gründlich zu untersuchen. Obwohl der Algorithmus zum Identifizieren eingekreister Bereiche gut geeignet ist, kann der Algorithmus außerdem in seinem allgemeineren Fall zum Identifizieren verschiedener unterschiedlicher Konturen, die einem vordefinierten Satz Kriterien entsprechen, verwendet werden. Die vorliegende "Schwarz-Weiß"-Ausführungsform versucht zwar Läufe aufeinander folgender schwarzer Bildpunkte zu identifizieren, der Algorithmus kann jedoch ferner ohne Weiteres so erweitert werden, dass er auch Grauskalen- und Farbbilddaten berücksichtigt. Bei solchen Anwendungen muss das System lediglich identifizieren, welche Bildpunktzustände oder Bildpunktwerte (z. B. Schattierungen oder Farben) ein Element eines Laufs bilden können, und der Algorithmus identifiziert Konturen, die aus irgendwelche der identifizierten Zustände oder Werte aufweisenden Bildpunkten bestehen.
  • Gemäß einem Aspekt der Erfindung umfasst das Verfahren zum Identifizieren von Konturen innerhalb von bildpunktbasierten Bilddaten Ausdrücken der Bilddaten als ein Gitter aus Spalten und Zeilen. Anschließend wird eine Abtastreihenfolge über dem Gitter festgelegt, um Eltern-Kind-Beziehungen zwischen aufeinander folgenden Bildpunkten in benachbarten Zeilen und Geschwisterbeziehungen zwischen nicht aufeinander folgenden Bildpunkten in derselben Zeile zu definieren. Eine Laufdatenstruktur wird im computerlesbaren Speicher festgelegt, die ein Laufelement anhand seiner Position in der Zeile und anhand seinen Anfangs- und Endpositionen in der Spalte definiert. Die Laufdatenstruktur definiert ferner Eltern-, Kind- und Geschwisterstrukturen zum Speichern von Informationen über diese Beziehungen.
  • Während die Bilddaten gemäß der oben festgelegten Abtastreihenfolge abgetastet werden, identifiziert der Prozessor aufeinander folgende Bildpunkte eines vorgegebenen Zustands als identifizierte Laufelemente. Er bestimmt auch die Eltern-Kind- und Geschwisterbeziehungen der identifizierten Laufelemente. Mit diesen Informationen wird die Laufdatenstruktur mit der Zeilenposition und den Anfangs- und Endspaltenpositionen des identifizierten Laufelements und mit den Eltern-Kind- und Geschwisterbeziehungen des identifizierten Laufelements bestückt. Die bestückte Datenstruktur wird anschließend durch Verfolgen der Eltern-Kind- und Geschwisterbeziehungen durchlaufen, um Konturen innerhalb der bildpunktbasierten Bilddaten zu identifizieren. Falls gewünscht, kann nach dem Identifizieren der Konturen eine zusätzliche Verarbeitung durchgeführt werden, um die Wahrscheinlichkeit zu erhöhen, dass die identifizierte Kontur einen vom Benutzer gezeichneten Kreis darstellt. Die zusätzliche Verarbeitung hilft bei der Unterscheidung eines vom Benutzer gezeichneten Kreises von einem anderen, wenn sich zwei Kreise überlappen. Die zusätzliche Verarbeitung betrifft die Berechnung von Merkmalpunkten entlang der Kontur und dann das Brechen der Kontur an den Merkmalpunkten in Segmente. Anschließend werden die gebrochenen Konturen zum Erzeugen rekonstruierter Kreise verwendet, von denen jeder seine eigene Identität hat und folglich jeder von anderen Kreisen, die sich überlappen können, getrennt ist.
  • Für ein vollständigeres Verständnis der Erfindung, ihrer Aufgaben und Vorteile wird auf die folgende Beschreibung und die beiliegenden Zeichnungen verwiesen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Bildpunktdiagramm der Konzepte von Lauflänge, Eltern-Kind-Beziehungen und Geschwisterbeziehungen;
  • 2 ist ein Datenstrukturdiagramm einer derzeit bevorzugten Datenstruktur zum Implementieren der Erfindung;
  • 3 ist ein Ablaufdiagramm eines gegenwärtig bevorzugten Algorithmus zum Bestücken der Datenstruktur von 2;
  • 4 ist ein Bildpunktdiagramm eines Beispiels für eine Kontur, das erläutert, wie die Datenstruktur von 2 durch Anwendung des Algorithmus von 3 bestückt wird;
  • 5 ist ein Flussdiagramm zur Erläuterung, wie die Datenstruktur durchlaufen wird, um eine Kontur zu identifizieren;
  • 6 ist ein Bildpunktdiagramm des Konturverfolgungsprozesses von 5, wie er auf die beispielhaften Daten von 4 angewendet wird;
  • 7 ist ein Bildpunktdiagramm zur Veranschaulichung der Lauflängenmittelpunkte mit dunklerer Schattierung;
  • 8 ist ein Bildpunktdiagramm ähnlich dem von 6, das aber die zwei Hauptkonturen mit unterschiedlichen Linienarten zeigt, um zu veranschaulichen, wie die Konturen verbunden werden; und
  • 9 ist ein Flussdiagramm eines verbesserten Algorithmus zur Extraktion eingekreister Bereiche, der zur Unterscheidung von einander überlappenden Kreisen geeignet ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Das lauflängenbasierte Verfahren der bevorzugten Ausführungsform tastet Bilddaten in einer vorher festgelegten Abtastreihenfolge ab, um Eltern-, Kind- und Geschwisterstrukturen innerhalb der Bilddaten zu identifizieren. In dieser Hinsicht können die Bilddaten als ein Rechteckgitter 10 aus Spalten und Zeilen ausgedrückt werden, die einzelne Bildpunkte aufweisen, die in 1 als Quadrate 12 dargestellt sind. Im allgemeinen Fall kann jeder Bildpunkt einen Datenwert enthalten, der einen speziellen Zustand, einen speziellen Ton oder eine spezielle Farbe darstellt, woraus das Gesamtbild erzeugt ist. Bei Schwarzweißbildern enthält jeder Bildpunkt Binärdaten, die angeben, ob der Bildpunkt schwarz oder weiß ist. Bei einem Grauskalenbild kann jeder Bildpunkt ein Byte oder Wort aus Daten enthalten, das angibt, welchen Grauskalenton der Bildpunkt darstellt. Bei einem Farbbild kann der Bildpunkt Daten enthalten, die die Farbe und Intensität des Bildpunkts angeben. Die vorliegende Erfindung eignet sich für alle Arten von Bilddaten, unabhängig davon, ob das Bild ein Schwarzweiß-, Grauskalen- oder Farbbild ist.
  • Wie nachstehend ausführlicher erläutert wird, tastet der Verarbeitungsalgorithmus das Gitter aus Bildpunktdaten in einer vorher festgelegten Abtastreihenfolge ab. Zu Veranschaulichungszwecken sei angenommen, dass die Abtastreihenfolge von oben nach unten und von links nach rechts ist. Demgemäß würde das Gitter 10 bei Bildpunkt 14 in der linken oberen Ecke beginnend und bei Bildpunkt 16 in der rechten unteren Ecke endend abgetastet.
  • Der Algorithmus ist so ausgelegt, dass er Gruppen benachbarter Bildpunkte, die eine als Lauf oder Lauflänge bezeichnete lineare Kette definieren, identifiziert und korreliert. Der Abtastprozess fasst Bildpunkte eines vorgegebenen Zustands in Gruppen zusammen, um Lauflängen innerhalb des Bilds zu bilden.
  • In 1 ist ein Schwarzweißbild dargestellt. Weiße Bildpunkte erscheinen als weiße Rechtecke wie z. B. Bildpunkte 12. Schwarze Bildpunkte erscheinen als schwarze Punkte innerhalb des Bildpunktquadrats wie z. B. Bildpunkte 18. Im Normalfall ist das System so ausgelegt, dass es aus aufeinander folgenden undurchsichtigen Bildpunkten wie z. B. den schwarzen Bildpunkten in 1 Lauflängen bildet. Im allgemeineren Fall kann das System jedoch zum Bilden von Lauflängen aus Bildpunkten verwendet werden, die verschiedene unterschiedliche Zustände belegen. Werden z. B. Grauskalenbilder bereitgestellt, könnte das System so konfiguriert werden, dass es alle Bildpunkte berücksichtigt, die dunkler sind als ein vorgegebenes bei der Bildung von Lauflängen zu berücksichtigendes Grauskalenniveau. Bei einem Farbbild können Farben mit vorgegebenen Intensitäten oder Farbtönen zur potentiellen Mitgliedschaft in einer Lauflänge ausgewählt werden.
  • Die bevorzugte Ausführungsform betrachtet Lauflängen, die durch eine Ansammlung aufeinander folgender Bildpunkte eines vorgegebenen Zustands zu definieren sind (z. B. der schwarze Bildpunktzustand in einem Schwarzweißbild). Drei solche Lauflängen sind in 1 bei 20, 22 und 24 dargestellt. In 1 sind Begrenzungsrechtecke um jede dieser Lauflängen dargestellt worden, um sie besser sichtbar zu machen. Jede Lauflänge kann durch ihre X- und Y-Koordinate dargestellt werden, d. h. ihre Zeilen- und Spaltenkoordinaten innerhalb von Gitter 10. Weil die Abtastung in zeilenweiser Reihenfolge durchgeführt wird, kann jede Lauflänge durch die Position ihrer Anfangs- und Endspalte und durch ihre Zeilenposition identifiziert werden. Diese drei eine Lauflänge eindeutig identifizierenden Koordinatenpositionen werden als X-Minimum- 36, X-Maximum- 38 und Y-Koordinate- 40 Datenwerte innerhalb der in 2 gezeigten Laufdatenstruktur 30 gespeichert. Konkret weist die Laufdatenstruktur 30 eine verbundene Liste auf, die Daten werte zum Speichern der X-Minimum-, X-Maximum- und Y-Koordinatenwerte für jede während des Abtastprozesses identifizierte Lauflänge enthält.
  • Einzelne Bildpunkte (wie z. B. die schwarzen Bildpunkte in 1) werden als eine Lauflänge identifiziert, falls sie aufeinander folgende Bildpunktpositionen innerhalb einer gegebenen Zeile belegen. Um geringfügigen Unvollkommenheiten und Datenausfällen im Bild Rechnung zu tragen, kann der Algorithmus so konfiguriert werden, dass er einzelne (oder mehrere) Bildpunkte des inkorrekten Zustands innerhalb einer potentiellen Lauflänge ignoriert. Dies kann durch Vorverarbeiten oder zwischendurch erfolgen, während der Abtastalgorithmus seine anderen Aufgaben ausführt. Falls ein einziger weißer Bildpunkt in einer ansonsten vollständigen Lauflänge vorgefunden wird, kann der Algorithmus diesen Bildpunkt tatsächlich so behandeln als ob er ein schwarzer Bildpunkt wäre, und ihn dadurch der Lauflänge zuordnen, sofern an den weißen Bildpunkt auf beiden Seiten schwarze Bildpunkte angrenzen.
  • Der Abtastalgorithmus und die zugehörige Datenstruktur von 2 definieren eine Hierarchie unter Lauflängen. Die Hierarchie wird als eine Eltern-Kind-Geschwisterhierarchie bezeichnet. Das Konzept ist in 1 veranschaulicht. Eine Eltern-Kind-Beziehung besteht dort, wo zwei Lauflängen einen oder mehrere benachbarte schwarze Bildpunkte (oder Bildpunkte jeglichen vorgegebenen Zustands, der eine Lauflänge definiert) in einer gegebenen Spalte haben. In 1 haben Lauflängen 20 und 22 zwei Paare vertikal benachbarter Bildpunkte (eingekreist gezeigt und mit dem Bezugszeichen 32 bezeichnet), die diese Lauflängen für die Eltern-Kind-Beziehung qualifizieren. Insbesondere gilt die Lauflänge 20 als die Eltern und die Lauflänge 22 gilt als das Kind, weil die Lauflänge 20 vor der Lauflänge 22 abgetastet wird. Das Vorhandensein dieser Eltern-Kind-Beziehung wird automatisch entdeckt, während der Abtastalgorithmus seine Aufgaben ausführt, und die Beziehung wird in der Laufdatenstruktur 30 aufgezeichnet. Die Einzelheiten dessen, wie dies erreicht wird, werden im Folgenden in Verbindung mit dem Flussdiagramm von 3 besprochen.
  • Der Abtastalgorithmus und seine zugeordnete Datenstruktur 30 definieren auch eine Geschwisterbeziehung zwischen zwei Lauflängen, die auf derselben Zeile liegen und sich dieselben Eltern teilen, wie z. B. die Lauflängen 22 und 24. Der Abtastalgorithmus entdeckt automatisch Geschwisterbeziehungen und speichert sie in der Datenstruktur 30 wie in Verbindung mit 3 ausführlicher beschrieben wird.
  • Die derzeit bevorzugte Laufdatenstruktur 30 definiert jede Lauflänge 34 durch ihren zugeordneten X-Minimum- 36, X-Maximum- 38 und Y-Koordinatenwert 40. Der Lauflängendatenstruktur ist auch ein Elternzeiger 42, ein Kindzeiger 44 und ein Geschwisterzeiger 46 zugeordnet. Die Eltern-, Kind- und Geschwisterzeiger 42 bis 46 legen eine verbundene Liste der Lauflängen-Datenstrukturen fest. Der Abtastalgorithmus bestückt diese Datenstruktur, während er jeden Bildpunkt im Gitter 10 besucht. Bei der bevorzugten Ausführungsform wird eine einzige mehrfach verbundene Liste mit einzelnen Lauflängen-Datenstrukturen 34 bestückt, die jeder durch den Abtastalgorithmus identifizierten Lauflänge entsprechen.
  • Lauflängen-Abtastalgorithmus
  • In 3 ist der derzeit bevorzugte Lauflängen-Abtastalgorithmus dargestellt. Zum besseren Verstädnis des Algorithmus sei angenommen, dass das Abtasten bis zu dem Punkt fortgeschritten ist, an dem eine Lauflänge "k" identifiziert worden ist und der Algorithmus gegenwärtig eine eine Geschwisterlauflänge "s" aufweisende Lauflänge "j" verarbeitet. Die Beziehungen von Abtastlängen k, j und s sind bei 50 bezeichnet schematisch dargestellt.
  • Der Abtastalgorithmus beginnt bei Schritt 60 durch Abtasten des Bildes in der vorgegebenen Abtastreihenfolge, wobei er nach Vorkommen von Lauflängen sucht. Wie oben erläutert werden Lauflängen als aufeinander folgende Bildpunkte in einer gemeinsamen Zeile, die denselben Bildpunktzustand aufweisen (z. B. aufeinander folgende schwarze Bildpunkte) identifiziert. Der bevorzugte Abtastalgorithmus ist rekursiv. Für jede identifizierte Lauflänge (wie z. B. Lauflänge "j") wird der folgende Prozess durchgeführt.
  • Wenn wie bei Schritt 62 dargestellt die identifizierte Lauflänge (j) vertikal auf eine Lauflänge (k) aus einer vorherigen Reihe angrenzt, wird die Elterndatenstruktur (die Elterndatenstruktur von j) der aktuellen Lauflänge mit einer Referenz auf die vertikal angrenzende Lauflänge (k) bestückt, wie bei 64 dargestellt. Der Algorithmus testet dann in Schritt 66 die Kinddatenstruktur, um zu bestimmen, ob sie gegenwärtig leer ist (einen Nullwert enthält). Wird ein Nullwert gefunden, bestückt der Algorithmus die Kinddatenstruktur von k mit einer Referenz auf die Abtastlänge j, wie bei 68 dargestellt. Ist die Kinddatenstruktur von k aktuelle nicht leer (mit anderen Worten, wenn sie eine Referenz auf ein anderes Kind (s) enthält) und wenn das andere Kind (s) noch kein Geschwister hat, entdeckt der Algorithmus dies in Schritt 70 und bestückt dann die Geschwisterdatenstruktur von s mit j wie bei 72 dargestellt. Folglich testen die Schritte 66 bis 72 eigentlich, ob das Kind von k null ist. Wenn dies der Fall ist, setzt der Algorithmus j auf das Kind von k. Andernfalls setzt er j als Geschwister des Kinds von k (s), falls s keine anderen Geschwister hat.
  • In einigen Fällen entdeckt der Algorithmus, dass das Kind (s) schon ein Geschwister hat. In diesem Fall prüft der Algorithmus, ob das Geschwister von s ein Geschwister hat usw. (Setzt das Kind als Geschwister des Geschwisters usw.) Dies ist in den Schritten 74 und 76 dargestellt. Wenn schließlich eine Nullreferenz erreicht ist, wird die Nullreferenz durch eine Referenz auf j ersetzt, wie bei Schritt 78 dargestellt ist.
  • Der in 3 dargestellte Abtastalgorithmus bestückt die Laufdatenstruktur zum späteren Abrufen angeschlossener Komponenten. Der Prozess zum Abrufen angeschlossener Komponenten wirkt, indem er eine Verfolgung von den Eltern zum Kind und vom Geschwister zum Geschwister durchführt. 4 liefert ein Beispiel für ein Bild einer allgemein u-förmigen Kontur, die aus einer Mehrzahl einzelner Lauflängen besteht. Aufgabe des Prozesses zum Abrufen angeschlossener Komponenten ist die Identifizierung dieser u-förmigen Kontur durch Verfolgen der Eltern-Kind- und Geschwister-Geschwister-Beziehungen der betroffenen Lauflängen.
  • Es sei darauf hingewiesen, dass die u-förmige Kontur in 4 einen aus Eltern-Kind-Beziehungen bestehenden linken Schenkel 50 hat, wenn die Abtastung von links nach rechts und von oben nach unten erfolgt. Der rechte Schenkel 52 besteht ebenfalls aus Eltern-Kind-Beziehungen. Der linke und rechte Schenkel werden durch den unteren Schenkel 54 verbunden. Weil die Abtastreihenfolge von links nach rechts und von oben nach unten ausgelegt ist, umfasst der Punkt, an dem der untere Schenkel 54 den rechten Schenkel 52 verbindet, eine Geschwisterbeziehung. Insbesondere eine Lauflänge 56 und eine Lauflänge 58 überlappen sich bei 60. Die Lauflänge 56 wird folglich als das Geschwister der Eltern 62 der Lauflänge 58 behandelt.
  • Abruf angeschlossener Komponenten
  • Sobald die Laufdatenstruktur 30 vom Abtastprozess bestückt worden ist, beginnt ein Prozess zum Abrufen angeschlossener Komponenten. Wie aus dem Flussdiagramm von 5 ersichtlich ist, verwendet der Abrufprozess die aus der anfänglichen Abtastung erhaltenen und gespeicherten Eltern-, Kind- und Geschwisterinformationen. Dieser anfängliche Abtastschritt ist bei Schritt 102 dargestellt.
  • Die verbliebenen angeschlossenen Komponenten werden wie folgt verarbeitet. Mit der die obere ganz links befindliche Ecke belegenden Lauflänge (durch ihre X-Minimum-, X-Maximum- und Y-Koordinatenwerte bestimmt) beginnend identifiziert der Prozess zuerst durch Untersuchen der Laufdatenstruktur, ob diese Lauflänge ein Kind hat. Dies ist bei Schritt 104 dargestellt und auch im Diagramm über den Abruf angeschlossener Komponenten von 6 veranschaulicht. In 6 ist der Anfangspunkt als 80 gekennzeichnet angegeben. Wird kein Kind gefunden wie im Falle der Lauflänge bei 82 in 6, verbindet das Verfahren zum Geschwister, wie bei 84 angegeben. Der Geschwisterverbindungsschritt ist bei 106 in 5 dargestellt.
  • Das Verfahren ist rekursiv. Es fährt mit dem Suchen von Kind- und Geschwisterverbindungen fort, bis keine Kinder oder Geschwister mehr identifiziert werden, wie bei Schritt 108 angegeben. Diese Bedingung tritt bei 86 in 6 auf. Sobald keine weiteren Kinder oder Geschwister gefunden werden können, beginnt das Verfahren, nach Eltern einer gegebenen Lauflänge zu suchen, wie bei Schritt 110 dargestellt ist. Wie z. B. aus 5 ersichtlich ist, würde das Verfahren die Laufverbindung 88 mit ihren Eltern 90 verbinden. Schließlich wird die gesamte angeschlossene Komponente abgerufen, was zu einer verbunden Struktur führt, die identifiziert, welche Lauflängen an welche anderen Lauflängen angeschlossen sind. Die gesamte verbundene Struktur stellt eine angeschlossene Komponente dar. Es sei darauf hingewiesen, dass es möglich ist, dass ein gegebenes Bild mehrere angeschlossene Komponenten hat, die voneinander losgelöst sind. Das in 5 beschriebene Verfahren kann mehrere Male wiederholt werden, bis alle angeschlossenen Komponenten identifiziert worden sind.
  • Obwohl das bisher beschriebene Verfahren in bildpunktbasierten Bildern zu findende angeschlossene Komponenten gut zu identifizieren vermag, profitieren einige Bildverarbeitungsaufgaben wie z. B. Identifizieren eingekreister Bereiche durch weitere Verarbeitung. Insbesondere wandelt die gegenwärtig bevorzugte Ausführungsform die angeschlossene Komponente in eine Kontur um, die dann zum Erzeugen neuer Strukturen verwendet werden kann, die einfacher und zuverlässiger verarbeitet werden. In einer Anwendung, in der vom Benutzer gezeichnete Kreise identifiziert werden, so dass der eingekreiste Bereich extrahiert werden kann, werden die angeschlossenen Komponenten in Konturen umgewandelt, die dann zum Wiedererzeugen von Kreisen verwendet werden, die durch den Computer leichter verarbeitet werden.
  • Der Konturverfolgungsalgorithmus verwendet die gleiche Datenstruktur, die die angeschlossenen Komponenten erzeugte, nämlich die Laufdatenstruktur 30. Beim Abrufen von angeschlossenen Komponenten ruft der Algorithmus rekursiv das Kind oder die Eltern jeder Lauflänge ab. Wenn kein Kind oder Eltern gefunden werden können, wechselt der Algorithmus zu Geschwistern. Für jedes Geschwister setzt der Algorithmus die Suche zunächst nach Kindern und Eltern fort. Die Eltern- und Kind-Beziehung stellt sicher, dass die in Zusammenhang stehenden abgerufenen Lauflängen Bildpunkte haben, die zur selben Kontur gehören und sich in einem Abschnitt der Kontur nebeneinander befinden.
  • Bei der derzeit bevorzugten Ausführungsform definiert der Konturverfolgungsalgorithmus den Mittelpunkt jeder Lauflänge. Der Mittelpunkt wird demgemäß durch seine PX- und PY-Komponenten definiert, wie folgt:
    Figure 00110001
  • 7 zeigt die Mittelpunkte einer beispielhaften Lauflängendarstellung, bei der die Mittelpunkte als dunkle Punkte und die übrigen Bildpunkte durch heller schraffiert gekennzeichnet sind. Es sei darauf hingewiesen, dass der Algorithmus bei jedem Wechsel des Abrufs auf eines der Geschwister ein anderes Kontursegment beginnt. Folglich gibt es in 7 zwei Kontursegmente, ein ganz linkes Kontursegment 98 und ein ganz rechtes Kontursegment 99. Die zwei Segmente werden entlang der horizontalen Lauflänge 96 verbunden. Folglich teilen sie sich einen gemeinsamen Mittelpunkt, nämlich den Mittelpunkt 120. Der Konturverfolgungsalgorithmus weist den Mittelpunkt am Ende einer Kontur als Anfangsmittelpunkt der folgenden Kontur zu. Auf diese Weise werden beide Konturen miteinander verbunden, wie in 8 veranschaulicht. In 8 ist die Kontur 98 mittels ununterbrochener Linien verbunden dargestellt, und die Kontur 99 ist mittels gestrichelter Linien verbunden dargestellt.
  • Zum besseren Verstädnis, wie die lauflängenbasierte Analyse angeschlossener Komponenten in einer Anwendung verwendet werden kann, sei auf das Ablaufdiagramm von 9 verwiesen. 9 zeigt, wie ein vom Benutzer gezeichneter Kreis in einem abgetasteten Bild verwendet werden kann. Der vom Benutzer gezeichnete Kreis kann z. B. eine Dateibezeichnungskennung oder Nummer einkreisen, die zum Indexieren des abgetasteten Bilds zum Speichern und Abrufen verwendet wird.
  • Bei Schritt 200 beginnend führt das Verfahren zuerst eine Vorverarbeitung des Bilds durch, um die Bilddaten in eine geeignete Auflösung und Bittiefe für die Analyse angeschlossener Komponenten umzuwandeln. Dies ist ein wahlfreier Schritt, der z. B. zum Umwandeln von Farbbilddaten in Schwarzweißdaten oder zum Umwandeln von Grauskalendaten in Schwarzweißdaten durchgeführt werden kann.
  • Als nächstes geht das Verfahren zu Schritt 202 weiter, wo unter Verwendung der oben beschriebenen Lauflängen-Analysetechniken eine Analyse angeschlossener Komponenten durchgeführt wird. Falls gewünscht, können bei Schritt 204 Halbtondaten und kleine (Rauschen zuzuschreibende) Lücken in Pixeldaten eliminiert werden. Einzelne weiße Bildpunkte in einer ansonsten schwarzen Bildpunktdomäne können in schwarze Bildpunkte umgewandelt werden, um die Bilddaten "aufzufüllen" oder zu "entsprenkeln".
  • Nachdem die angeschlossenen Komponenten identifiziert worden sind und die Laufdatenstruktur bestückt worden ist, geht der Prozess zu Schritt 206 weiter, wo Kontursegmentinformationen aus den Daten extrahiert werden. Der Kontursegment-Extraktionsprozess wird durchgeführt wie oben beschrieben, was eine oder mehrere angeschlossene Konturen ergibt wie z. B. die in 8 dargestellte angeschlossene Kontur. Die angeschlossene Kontur dient als "Ersatz" für den ursprünglich gezeichneten Kreis. Merkmalpunkte werden in der Kontur identifiziert, Schritt 208, und diese Merkmalpunkte werden verwendet, um die Kontur in Kontursegmente zu brechen, Schritt 210. Brechen der Kontur gemäß ihren Merkmalpunkten ist in Situationen nützlich, in denen vom Benutzer gezeichnete Kreise andere Konturstrukturen berühren oder überlappen können. Die Merkmalpunkte werden dann bei Schritt 212 verwendet, um Kreise zu rekonstruieren, die dann bei Schritt 214 ausgegeben werden. Die rekonstruierten Kreise werden ohne Lücken oder Zweideutigkeit bezüglich des Abschlusses erzeugt. Folglich kann die nachfolgende Bildverarbeitung effizienter durchgeführt werden.

Claims (5)

  1. Verfahren zum Identifizieren von Konturen innerhalb bildpunktbasierter Bilddaten, mit: Ausdrücken der Bilddaten als Gitter aus Spalten und Zeilen, gekennzeichnet durch: Festlegen einer Abtastreihenfolge über das Gitter, um eine Eltern-Kind-Beziehung zwischen aufeinander folgenden Bildpunkten in benachbarten Zeilen zu definieren, und um eine Geschwisterbeziehung zwischen nicht aufeinander folgenden Bildpunkten in derselben Zeile zu definieren; Festlegen einer Laufdatenstruktur in einem computerlesbaren Speicher, die ein Laufelement anhand seiner Position in der Zeile und anhand seiner Anfangs- und Endpositionen in der Spalte definiert; wobei die Laufdatenstruktur ferner Eltern-, Kind- und Geschwisterstrukturen zum Speichern von Informationen über die Eltern-Kind-Beziehungen und Geschwisterbeziehungen von zu diesem Laufelemente gehörigen Bildpunkten definiert; Abtasten der Bilddaten gemäß der Abtastreihenfolge, um aufeinander folgende Bildpunkte eines vorgegebenen Zustands als identifizierte Laufelemente zu identifizieren; Bestimmen der Eltern-Kind- und Geschwisterbeziehungen der identifizierten Laufelemente; Bestücken der Laufdatenstruktur mit der Zeilenposition und den Anfangs- und Endpositionen in der Spalte des identifizierten Laufelements und mit den Eltern-Kind- und Geschwisterbeziehungen des identifizierten Laufelements; Verwenden der bestückten Laufdatenstruktur, um die Eltern-Kind- und Geschwisterbeziehungen zu durchlaufen und dadurch Konturen innerhalb der bildpunktbasierten Bilddaten zu identifizieren.
  2. Verfahren nach Anspruch 1, ferner die Schritte enthaltend: Erzeugen rekonstruierter Kreise auf der Basis gebrochener Konturen, wobei die rekonstruierten Kreise eindeutig identifiziert werden und von allen anderen Kreisen getrennt sind, die die rekonstruierten Kreise überlappen.
  3. Verfahren nach Anspruch 1, bei dem der vorgegebene Zustand ein Farbton, eine Farbe und Kombinationen derselben ist.
  4. Verfahren nach Anspruch 1, bei dem die Eltern-Kind- und Geschwisterbeziehungen Zeiger sind, die eine verbundene Liste von Laufelement-Datenstrukturen festlegen.
  5. Verfahren nach Anspruch 1, ferner die Schritte enthaltend: Identifizieren des ersten Laufelements, das eine Zeilenposition und Anfangs- und Endpositionen in der Spalte belegt; Bestimmen aller Eltern-Kind- und Geschwisterbeziehungen von zum ersten Laufelement gehörigen Bildpunkten; Identifizieren zusätzlicher Laufelemente auf Basis der Eltern-Kind- und Geschwisterbeziehungen; und bei dem eine angeschlossene Komponente auf Basis der identifizierenden Verbindungen aus der Eltern-Kind-Beziehung abgerufen wird.
DE60203653T 2001-01-31 2002-01-22 Lauflängenbasierte verbundene Komponenten und Konturverfolgung zur Laufzeitverbesserung eines Extraktionsalgorithmus für kreisförmige Bereiche Expired - Fee Related DE60203653T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US773214 2001-01-31
US09/773,214 US20020126898A1 (en) 2001-01-31 2001-01-31 Run length based connected components and contour following for enhancing the performance of circled region extraction algorithm

Publications (2)

Publication Number Publication Date
DE60203653D1 DE60203653D1 (de) 2005-05-19
DE60203653T2 true DE60203653T2 (de) 2006-03-02

Family

ID=25097555

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60203653T Expired - Fee Related DE60203653T2 (de) 2001-01-31 2002-01-22 Lauflängenbasierte verbundene Komponenten und Konturverfolgung zur Laufzeitverbesserung eines Extraktionsalgorithmus für kreisförmige Bereiche

Country Status (4)

Country Link
US (2) US20020126898A1 (de)
EP (1) EP1229497B1 (de)
JP (1) JP2002269574A (de)
DE (1) DE60203653T2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8547401B2 (en) 2004-08-19 2013-10-01 Sony Computer Entertainment Inc. Portable augmented reality device and method
US8300945B2 (en) * 2008-07-28 2012-10-30 Sharp Laboratories Of America, Inc. Methods and systems for connected-component labeling
KR101772676B1 (ko) * 2017-03-31 2017-08-29 (주) 엠브이텍 이미지 내 연결화소 검출 방법 및 장치
CN109300458A (zh) * 2018-11-19 2019-02-01 李炜 一种自动翻页的电子翻谱器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4876728A (en) * 1985-06-04 1989-10-24 Adept Technology, Inc. Vision system for distinguishing touching parts
US4908716A (en) * 1987-12-08 1990-03-13 Ricoh Company, Ltd. Image processing apparatus
US5228097A (en) * 1989-02-07 1993-07-13 Ezel, Inc. Method for registering image data
US5138465A (en) * 1989-09-14 1992-08-11 Eastman Kodak Company Method and apparatus for highlighting nested information areas for selective editing
US5179599A (en) * 1991-06-17 1993-01-12 Hewlett-Packard Company Dynamic thresholding system for documents using structural information of the documents
JP2918383B2 (ja) * 1992-02-27 1999-07-12 大日本スクリーン製造株式会社 画像の輪郭抽出方法および装置
JP3026698B2 (ja) * 1993-05-27 2000-03-27 キヤノン株式会社 画像処理方法及びその装置
JPH10293852A (ja) * 1997-04-21 1998-11-04 Fuji Photo Film Co Ltd 輪郭線抽出方法

Also Published As

Publication number Publication date
EP1229497B1 (de) 2005-04-13
EP1229497A2 (de) 2002-08-07
DE60203653D1 (de) 2005-05-19
EP1229497A3 (de) 2003-05-07
JP2002269574A (ja) 2002-09-20
US20050238235A1 (en) 2005-10-27
US20020126898A1 (en) 2002-09-12

Similar Documents

Publication Publication Date Title
DE69724755T2 (de) Auffinden von Titeln und Photos in abgetasteten Dokumentbildern
DE60129872T2 (de) Verfahren zur Extrahierung von Titeln aus numerischen Bildern
DE3926327C2 (de) Verfahren und System zum Erkennen von Zeichen auf einem Medium
DE60303202T2 (de) System und verfahren zum identifizieren und extrahieren von zeichenketten aus erfassten bilddaten
DE69724557T2 (de) Dokumentenanalyse
DE3633743C2 (de)
DE60118240T2 (de) Methode zur bildanalyse
DE3716787C2 (de)
DE19814075B4 (de) Verfahren zum Abtasten und Erkennen mehrerer Fotografien und zum Beseitigen von Randfehlern
DE10195927B4 (de) Verallgemeinerte Textlokalisation in Bildern
DE19530829C2 (de) Verfahren zum elektronischen Wiederauffinden von einem Dokument hinzugefügter Information
DE69822608T2 (de) Binarisierungsverfahren in einem Zeichenerkennungssystem
DE4427992C2 (de) Verfahren zum Erzeugen einer Dokumenten-Darstellung aus einem Bitmap-Bild eines Dokuments
DE4311172A1 (de) Verfahren und Einrichtung zum Korrigieren der Schräge eines Vorlagenbildes sowie Vorlagensegmentierungssystem
DE3425449A1 (de) Verfahren und vorrichtung zur alphanumerischen handschriftenerkennung
DE2557553A1 (de) Verfahren und anordnung zur bilddatenverdichtung und -reexpansion
DE19529142A1 (de) Verfahren zum automatischen Identifizieren einer Anzahl Fehlerstellen in einem digitalen Bild
DE69728724T2 (de) Bildbereichs-Erkennungsverfahren und Bildverarbeitungsvorrichtung
DE2858688C2 (de)
DE2220693C3 (de) Verfahren und Einrichtung zum Trennen von in einem Abtastbildbereich vorhandenen, miteinander nicht verbundenen Teilbildern
DE102008013789A1 (de) Vorrichtung, Verfahren und Programm zum Eliminieren von Zeichenstörungen
DE2435982A1 (de) Verfahren und vorrichtung zur verarbeitung von durch abtastung eines mehrfarbigen musters erhaltenen informationen
DE60203653T2 (de) Lauflängenbasierte verbundene Komponenten und Konturverfolgung zur Laufzeitverbesserung eines Extraktionsalgorithmus für kreisförmige Bereiche
DE60317455T2 (de) Segmentierung eines zusammengesetzten Bildes mittels Basis-Rechtecken
DE69817973T2 (de) Gerät und Verfahren zur Bilderkennung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee