DE69231050T2 - Gerät zur Bildverarbeitung - Google Patents
Gerät zur BildverarbeitungInfo
- Publication number
- DE69231050T2 DE69231050T2 DE69231050T DE69231050T DE69231050T2 DE 69231050 T2 DE69231050 T2 DE 69231050T2 DE 69231050 T DE69231050 T DE 69231050T DE 69231050 T DE69231050 T DE 69231050T DE 69231050 T2 DE69231050 T2 DE 69231050T2
- Authority
- DE
- Germany
- Prior art keywords
- image
- distance
- directions
- data
- pixel
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 18
- 238000000034 method Methods 0.000 claims description 33
- 238000010191 image analysis Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 30
- 238000005259 measurement Methods 0.000 description 25
- 239000011159 matrix material Substances 0.000 description 16
- 238000009826 distribution Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 210000001015 abdomen Anatomy 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Character Discrimination (AREA)
Description
- Die vorliegende Erfindung betrifft eine Bildvorrichtung und ein Verfahren zum Durchführen einer Bildverarbeitung.
- US-A-4,847,912 beschreibt eine Technik zum Feststellen eines Zwischenraums zwischen Wörtern mit einem optischen Zeichenleser. Wie in Fig. 2-6 gezeigt und mit Bezug auf dieselben beschrieben, scannt der Leser jede gedruckte Zeile in der vertikalen Richtung vom Anfang bis zum Ende sequentiell mit einem vorbestimmten Intervall. Die Intervalle werden entweder als einen gedruckten Teü enthaltend, was durch ein schwarzes Bit wiedergegeben wird, oder als vollständig weiß identifiziert, was durch ein weißes Bit wiedergegeben wird. Die Anzahl der kontinuierlich weißen Bits zwischen schwarzen Bits wird gezählt. Das Histogramm der Zählungen weist zwei Spitzen auf, welche den Zwischenräumen zwischen Buchstaben und den Zwischenräumen zwischen Wörtern entsprechen.
- US-A-2,838,602 gibt ein Bildverarbeitungsverfahren an, welches das Messen von Distanzen von einem Anfangspunkt zu Punkten in einem Bild umfaßt, die ein bestimmtes Kriterium erfüllen.
- Pattern Recognition, Vol. 23, No. 11, 1990, pp. 1141-1154 "Automated Entry System for Printed Documents" von Akiyama T. und Hagita N. behandelt das Problem, ein automatisiertes Lesesystem vorzusehen, das entweder japanische oder englische gedruckte Dokumente lesen kann. Dieses Dokument gibt eine Zeichenerkennungstechnik an, die verschiedene Typen von Zeichen unter Verwendung eines Merkmalsvektors auf der Basis eines Richtungsbeitrags erkennen kann. Nachdem ein Zeichen segmentiert wurde, werden zwei Stufen der Erkennung durchgeführt. Nachdem ein Zeichen segmentiert wurde, werden zwei Stufen der Erkennung durchgeführt. In einer Kandidatenauswahlstufe, werden zwei Arten von Merkmalsvektoren auf der Basis des Richtungsbeitrags verwendet, während in einer Identifikationsstufe ein peripherer Richtungsbeitrag auf die Kandidaten angewendet wird. Der Richtungsbeitrag ist ein Vollkomponentenvektor, wobei jede Komponente durchschnittliche Lauflängen in entgegengesetzten Richtungen wiedergibt, die über alle Richtungen bei jedem schwarzen Pixel eines Zeichens normalisiert sind.
- Es ist eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren und eine verbesserte Vorrichtung zum Erhalten von Information zu Bildeigenschaften anzugeben.
- Diese Aufgabe wird durch das Verfahren nach Anspruch 1 und durch eine Bildanalysevorrichtung nach Anspruch 6 gelöst.
- Bevorzugte Ausführungsformen der vorliegenden Erfindung sind Gegenstand der abhängigen Ansprüche.
- Im folgenden werden bevorzugte Ausführungsformen der vorliegenden Erfindung mit Bezug auf die beigefügten Zeichnungen beschrieben:
- Fig. 1 ist eine schematische Zeichnung eines Teils eines Bildes, die zeigt, wie eine Fleckkante durch das Messen der Distanz von einer Anfangsposition als eine Funktion der Richtung festgestellt werden kann,
- Fig. 2 ist eine schematische Zeichnung eines Teils eines Bildes, die eine andere Möglichkeit zeigt, wie eine Fleckkante durch das Messen der Distanz von einer Anfangsposition als eine Funktion der Richtung festgestellt werden kann,
- Fig. 3 ist ein Flußdiagramm, das allgemeine Schritte zum Finden der Distanz als eine Funktion der Richtung zeigt,
- Fig. 4 ist eine schematische Zeichnung, die darstellt, wie in der Technik von Fig. 3 die Distanz von einem Anfangspixel zu einem Pixel gefunden werden kann, das ein Kriterium erfüllt,
- Fig. 5 ist ein Flußdiagramm, das Schritte zum Finden der Distanz nach Fig. 4 zeigt,
- Fig. 6 ist ein Flußdiagramm, das Schritte zeigt, die eine Datenstruktur mit der Distanz als einer Funktion der Ausrichtung unter Verwendung der Schritte von Fig. 5 zeigt,
- Fig. 7A und 7B zeigen jeweils, wie ein Zeichen mit Hilfe von Techniken aus dem Stand der Technik in einem Histogramm wiedergegeben werden kann, um einen Typ von Aliasing darzustellen,
- Fig. 8A und 8B stellen jeweils dar, wie ein Zeichen durch das Finden der Distanz als eine Funktion der Richtung festgestellt werden kann, um ein Aliasing zu vermeiden,
- Fig. 9A und 9B zeigen jeweils ein Zeichen, das durch das Finden der Distanz als einer Funktion der Richtung festgestellt wird, wobei aber unterschiedliche Winkel zwischen den benachbarten Richtungen liegen,
- Fig. 10 ist ein Flußdiagramm, das allgemeine Schritte zum Erhalten eines Profils für ein Bild durch das Kombinieren von Daten von Fig. 6 zeigt,
- Fig. 11 ist ein Flußdiagramm, das allgemeine Schritte zum Speichern eines Profils von Fig. 10 auf einem Speichermedium zeigt,
- Fig. 12 ist ein Flußdiagramm, das allgemeine Schritte zum Übertragen eines Profils von Fig. 10 zeigt,
- Fig. 13 ist ein schematisches Blockdiagramm, das Komponenten eines Systems zum Implementieren einer Bildverarbeitung unter Verwendung der Distanz als einer Funktion der Richtung zeigt,
- Fig. 14 ist ein Flußdiagramm, das Schritte zum Erhalten der Distanz als einer Funktion der Richtung zeigt,
- Fig. 15 ist ein Flußdiagramm, das Schritte zum Feststellen der Schrägstellung unter Verwendung der Distanz als einer Funktion der Richtung zeigt,
- Fig. 16 ist ein Flußdiagramm, das Schritte zum Feststellen der vorherrschenden Schriftart unter Verwendung der Distanz als einer Funktion der Richtung zeigt,
- Fig. 17 ist eine Probe eines Textbildes mit einer Schrägstellung,
- Fig. 18 ist ein Profil der Distanz als einer Funktion der Richtung für das Bild von Fig. 17,
- Fig. 19 ist eine Probe eines Textbildes in der Schriftart Bookman,
- Fig. 20 ist ein Profil der Distanz als einer Funktion der Richtung für das Bild von Fig. 19,
- Fig. 21 ist eine Probe eines Textbildes in der Schriftart Avant Garde,
- Fig. 22 ist ein Profil der Distanz als einer Funktion der Richtung für das Bild von Fig. 21,
- Fig. 23 ist ein schematisches Blockdiagramm eines Systems, das einen parallelen Prozessor zum Finden der Distanz als einer Funktion der Richtung in einem Bild umfaßt,
- Fig. 24A ist ein Textbild mit Bereichen mit jeweils verschiedenen Schrägstellungsrichtungen,
- Fig. 24B ist ein Bild mit kurzen Linien, welche die Schrägstellungsrichtung für das Bild von Fig. 24A angeben, und
- Fig. 25 ist ein schematisches Blockdiagramm eines Kopiergeräts, das ein Bildverarbeitungssystem umfaßt, das die Distanz als eine Funktion der Richtung findet.
- Fig. 1 bis 4 stellen allgemeine Merkmale der vorliegenden Erfindung dar. Fig. 1 und 2 zeigen zwei Möglichkeiten, wie Messungen von einer Position zu anderen Positionen gemacht werden können, die ein Kriterium erfüllen. Das Flußdiagramm von Fig. 3 zeigt allgemeine Schritte zum Finden von Richtungsmessungen. Fig. 4 zeigt ein Verfahren zum Zählen von Pixeln von einer Anfangsposition zu einer Endposition, die ein Kriterium erfüllt.
- Fig. 1 zeigt verbundene Komponenten 20 und eine Anfangsposition 10. Die Distanzmessungen werden zwischen der Anfangsposition und verschiedenen Endpositionen vorgenom men, die ein Kantenkriterium erfüllen, was von der Richtung der Anfangsposition abhängig ist.
- Von der Position 10 wird eine erste Distanz d&sub1; zu einem Kantenkriterium entlang einer Linie in einer ersten Richtung zur Position 22 gemessen, wo die Linie auf eine Kante trifft. Eine zweite Distanz d&sub2; wird entlang einer Linie in einer zweiten Richtung, die durch einen Winkel θ&sub1; von der ersten Richtung getrennt ist, zu der Position 24 gemessen, wo die Linie auf eine Kante trifft. Die Distanz d&sub3; zu der Position 26 wird entlang einer Linie in einer dritten Richtung gemessen, die durch einen Winkel θ&sub2; von der zweiten Richtung getrennt ist, und die Distanz d&sub4; zu der Position 28 wird entlang einer Linie in einer vierten Richtung gemessen, die durch einen Winkel θ&sub3; von der dritten Richtung getrennt ist.
- Die Distanz d&sub5; wird entlang einer Linie in einer Richtung gemessen, die durch einen Winkel θ&sub4; von der vierten Richtung getrennt ist. Die Linie in dieser Richtung schneidet die verbundene Komponente jedoch nicht. Der Effizienz halber wird die Distanz in diesem Fall gemessen, bis sie eine willkürlich bestimmte Grenze erreicht, wie etwa die Dimensionen eines Bildes, ein Mehrfaches der Zeichengrenze in Pixeln oder einen anderen entsprechenden Wert.
- Die Distanz in jeder Richtung wird aufgezeichnet, nachdem sie gemessen wurde. Die Messungen können seriell um eine Anfangsposition 10 herum gemacht werden, bis die Richtung zu der ersten Richtung zurückkehrt; die Distanzen können aber auch parallel gemessen werden. Die Trennungswinkel zwischen den Richtungen können gleiche Werte aufweisen, θi = (360º)/n, wobei n die Anzahl der Richtungen ist, in welchen die Distanz gemessen wird.
- Fig. 2 zeigt, wie Messungen von innerhalb der verbundenen Komponente 40 gemacht werden können. Die Anfangsposition 42 ist innerhalb der verbundenen Komponente 40 gelegen. Wenn das Kriterium eine Kante ist, dann werden die Distanzen von der Position 42 zu den Kantenpositionen auf der verbundenen Komponente 40, d. h. in diesem Fall den Positionen 44, 46, 48, 50 und 52 usw. gemessen.
- Fig. 3 stellt allgemeine Schritte zum seriellen Erhalten von Distanzdaten dar. Der Schritt in Kasten 60 beginnt eine iterative Schleife, die jede aus einer Anzahl von Richtungen behandelt. Bei jeder Wiederholung der Schleife mißt der Schritt in Kasten 62 die Distanz in einer der Richtungen von einer Anfangsposition zu einer Position, die ein Kriterium erfüllt. Zum Beispiel kann das Kriterium ein schwarzes Pixel, ein weißes Pixel oder eine Distanzgrenze sein.
- Fig. 4 stellt ein Verfahren zum Messen der Distanz dar, in diesem Fall vom Anfangspixel 80 zum Endpixel 82. Die durch eine Linie zwischen den Pixeln 80 und 82 gekreuzten Pixel werden geprüft, um zu bestimmen, ob sie ein Kriterium erfüllen. Wenn festgestellt wird, daß das Pixel 82 das Kriterium erfüllt, ist die Distanz entlang der Linie eine Distanzmessung für das Pixel 80 in der Richtung der Linie.
- Das Flußdiagramm von Fig. 5 zeigt Schritte zum Messen der Distanz zu einer Endposition. Das Flußdiagramm von Fig. 6 zeigt Schritte zum Speichern der Distanzdaten in einer Datenstruktur.
- Fig. 5 zeigt Schritte zum Erhalten von Daten, welche die Distanz entlang einer Richtungslinie von einer ersten Position zu der nächsten das Kriterium erfüllenden Position entlang der Linie angeben. Der Schritt in Kasten 101 setzt die Distanzzählung auf Null zurück. Der Schritt in Kasten 102 inkrementiert die Distanzzählung. Der Test in Kasten 104 bestimmt, ob die Distanzzählung eine Obergrenze überschreitet. Wenn nicht, greift der Schritt in Kasten 106 auf Daten zu, welche die Position entlang der Richtungslinie in der Distanzzählung definieren. Der Schritt in Kasten 108 testet dann, ob die Position das Kriterium erfüllt.
- Wenn die Position das Kriterium nicht erfüllt und die Distanzgrenze nicht überschritten wird, beginnt eine weitere Wiederholung mit dem Schritt in Kasten 102. Die Wiederholungen werden fortgesetzt, bis eine Position gefunden wird, die das Kriterium erfüllt, oder bis die Distanzzählung die Distanzgrenze überschreitet. Wenn das Kriterium zum Beispiel ein schwarzes Pixel ist, dann testet der Schritt in Kasten 108, ob das nächste Pixel schwarz ist, und der Prozeß fährt fort, bis ein schwarzes Pixel gefunden wird oder die Distanzgrenze überschritten wird. An diesem Punkt gibt der Schritt in Kasten 110 die Distanzzählung aus, was die Distanz zu dem nächsten schwarzen Pixel oder der Distanzgrenze angibt.
- Fig. 6 zeigt allgemeine Schritte zum Speichern von Distanzdaten für ein Pixel in einer Datenstruktur. Der Schritt in Kasten 120 beginnt eine iterative Schleife, die jede aus einer Vielzahl von Richtungen behandelt. Bei jeder Wiederholung mißt der Schritt in Kasten 122 die Distanzdaten, indem er eine Zählung in der nächsten Richtung von dem Pixel erhält, wobei er etwa den Schritten in Fig. 5 folgt. Dann speichert der Schritt in Kasten 124 die Distanzdaten in einer Datenstruktur im Speicher, so daß auf dieselben mit der Richtung zugegriffen werden kann, für die sie erhalten wurden. Wenn die Distanzen in allen Richtungen gemessen wurden, dann ist die Datenstruktur für das Pixel vollständig und kann entweder verwendet oder gespeichert werden.
- Fig. 7A und 7B stellen ein übliches Problem des Aliasing bei ähnlichen Zeichen unter Verwendung von herkömmlichen Projektionshistogrammtechniken dar.
- Fig. 7A zeigt ein Zeichen 130, eine Instanz von "P" mit durch das Zeichen projizierten vertikalen Linien 132 und 134. Die Linie 132 tritt oben im Zeichen am Pixel 136 ein und tritt unten am Pixel 146 aus. Die Linie 134 tritt in das Zeichen zuerst am Pixel 138 ein, tritt dann am Pixel 140 aus, tritt am Pixel 142 wieder ein und tritt am Pixel 144 wieder aus. Fig. 7B zeigt das Zeichen 150, das eine Instanz von "b" ist, wobei vertikale Linien 152 und 154 durch das Zeichen projiziert sind. Die Linie 152 tritt oben im Zeichen am Pixel 156 ein und tritt unten am Pixel 166 aus. Die Linie 154 tritt in das Zeichen zuerst am Pixel 158 ein, tritt dann am Pixel 160 aus, tritt am Pixel 162 wieder ein und tritt am Pixel 164 wieder aus. Wenn die Information die Anzahl der schwarzen Pixel angibt, die durch die Linie geschnitten werden, dann erscheint die zu den zwei Zeichen gesammelte Information identisch.
- Fig. 8A und 8B zeigen, wie die Distanzdaten das Aliasingproblem in Fig. 7A und 7B vermeiden. Die für ähnliche Pixel in der Nähe von jedem der Zeichen erhaltenen Distanzdaten sind sehr verschieden.
- Vom Pixel 172 in der Nähe des Zeichens "P" 170 folgen die Distanzmessungen in einigen Richtungen dem unteren Teil des Zeichens. In anderen Richtungen fahren die Distanzmessungen bis zu der Distanzgrenze fort oder bis ein anderes Objekt erreicht wird. Im Gegensatz dazu folgen die Distanzmessungen in allen Richtungen vom Pixel 182 innerhalb des Bauchs des Zeichens "b" 180 der Innenkante des Bauchs. Weiterhin sind die Distanzmessungen von einem Pixel direkt über dem Pixel 182, aber außerhalb des Bauchs denjenigen vom Pixel 172 ähnlich, fahren aber in einigen anderen Richtungen bis zu der Distanzgrenze fort.
- Die Profile der Distanzmessungen, die von ähnlichen Pixeln in Fig. 8A und 8B erhalten werden, können leicht unterschieden werden.
- Fig. 9A und 9B stellen einen Vorteil der Distanzmessung in einer großen Anzahl von Richtungen fest. Zum Beispiel zeigt Fig. 9A das Zeichen 190. Die Distanzen vom Pixel 200 werden in 12 Richtungen gemessen. Die Distanz d&sub1; wird zum Pixel 192 auf der Zeichenkante gemessen. Die Distanz d&sub2; wird zum Pixel 194 auf der Zeichenkante gemessen. Zusätzliche Messungen werden um das Pixel 200 vorgenommen. In diesem Beispiel wird keine Abtastung zwischen dem Pixel 192 und 194 genommen, und die Distanzdaten umfassen keine Information, so daß ein Zwischenraum in dem Zeichen zwischen diesen beiden Pixeln vorhanden ist.
- Fig. 9B zeigt ein ähnliches Zeichen 210. In diesem Fall werden Messungen vom Pixel 222 in 28 Richtungen genommen. Vom Pixel 222 wird die Distanz d&sub1; zum Pixel 212 auf einer Kante des Zeichens 210 gemessen. Zusätzliche Distanzen d&sub2;, d&sub3;, d&sub4; und d&sub5; werden jeweils zu den Pixeln 214, 216, 218 und 220 gemessen. In Fig. 9B geben die Distanzdaten viel mehr Information zu dem Zeichen 210 an als die Distanzdaten zu dem Zeichen 190 in Fig. 9A. Diese Information gibt die ungefähre Breite des Zeichens, das Vorhandensein eines Zwischenraums an der Unterseite der Figur und die ungefähre Breite des Zwischenraums an.
- Fig. 10 zeigt Schritte zum Kombinieren von Profilen des Bildes an einer Vielzahl von ausgewählten Positionen, um ein Distanzprofil als eine Funktion der Richtung für ein Bild zu erhalten, das die Positionen enthält.
- Der Schritt in Kasten 230 beginnt eine iterative Schleife, indem er bestimmt, ob zu behandelnde Positionen übrigbleiben. Das Profil wird für die nächste Position in dem Schritt in Kasten 232 erhalten, indem etwa den Schritten in Fig. 6 gefolgt wird, um eine Profildatenstruktur zu erzeugen. Dann kombiniert der Schritt von Kasten 234 das Profil mit vorhergehenden Profilen, indem er etwa die Distanzdaten in jeder Richtung addiert. Wenn Profile erhalten und für alle Positionen kombiniert wurden, dann kann alternativ dazu das Durchschnittsprofil in jeder Richtung in dem Schritt in Kasten 236 durch das Teilen der Summe der Distanzen in jeder Richtung durch die Anzahl der Positionen erhalten werden.
- Fig. 11 und 12 zeigen Schritte zum Verwenden von Profilen, die durch die Schritte in Fig. 6 oder 10 erzeugt wurden. Fig. 11 stellt dar, daß das in dem Schritt von Kasten 250 erhaltene Profil durch den Schritt von Kasten 252 auf einem Speichermedium gespeichert werden kann. Dieser Speicher kann eine Festplatte, eine Diskette, ein ROM, CD-ROM, RAM oder an anderes geeignetes Speichermedium sein. In Fig. 12 wird das in dem Schritt von Kasten 260 erhaltene Profil durch den Schritt von Kasten 262 über ein Übertragungsmedium wie etwa ein Netzwerk, eine Telefonleitung, eine Funkverbindung oder ein anderes geeignetes Medium übertragen.
- Fig. 13 zeigt das System 270, in dem die vorliegende Erfindung implementiert ist. Der Prozessor 272 ist verbunden, um Eingabedaten von der Eingabeeinrichtung 274 zu empfangen und um Ausgabedaten zu der Ausgabeeinrichtung 276 auszugeben. Der Prozessor 272 kann die CPU einer Workstation sein, und die Eingabeeinrichtung 274 und die Ausgabeeinrichtung 276 können E/A-Einrichtungen sein. Zum Beispiel kann die Eingabeeinrichtung 274 eine Bildeingabeeinrichtung wie ein Scanner oder eine digitale Bildquelle sein. Weiterhin kann die Eingabeeinrichtung 274 eine Verbindung zu einem peripheren Speichergerät oder einem anderen Speicher- oder Übertragungsmedium vorsehen, von dem Modellprofile, welche die Distanz als eine Funktion der Richtung angeben, empfangen werden können. Entsprechend kann die Ausgabeeinrichtung 276 eine Einrichtung zum Ausgeben von durch den Prozessor 272 erhaltenen Daten, wie etwa von Daten, die eine Schriftart angeben, oder einem Profil, das die Distanz als eine Funktion der Richtung in einem Bild angibt, zu einem Speicher- oder Übertragungsmedium sein.
- Während des Betriebs führt der Prozessor 272 Befehle aus einem Programmspeicher 278 aus und greift auf einen Datenspeicher 280 zu, um Daten zu lesen und zu schreiben. Der Programmspeicher 278 speichert Befehle für eine Vielzahl von Operationen. Der Datenspeicher 280 speichert wie gezeigt Datenstrukturen und kann auch temporär Zwischendaten speichern, die durch den Prozessor 272 zum Durchführen seiner Operationen benötigt werden.
- Die Profilspeicheroperation 282 empfängt einen Satz von Profilen durch die Eingabeeinrichtung 274 und speichert die Profile im Datenspeicher 280. Entsprechend gibt die Profilausgabeoperation 284 ein neu erzeugtes Profil an die Ausgabeeinrichtung 276 aus.
- Die Schrägstellungsoperation 286 erhält Daten, welche die Schrägstellung von Zeilen aus Zeichen in einem Bild angeben. Die Schriftartoperation 288 erhält Daten, welche die vorherrschende Schriftart der Zeichen in einem Bild angeben. Diese Operationen können jeweils die Distanzdatenoperation 290 mit entsprechenden Parametern aufrufen, um Distanzdaten für einen Satz von Anfangspixeln und eine Anzahl von Richtungen zu erhalten. Die Parameter von der Schrägstellungsoperation 286 können Distanzdaten anfordern, welche eine Distanz über weiße Pixel zu einer Kante angeben, während die Parameter von der Schriftartoperation 288 Distanzdaten anfordern können, die eine Distanz über schwarze Pixel zu einer Kante angeben.
- Die Distanzdatenoperation 290 kann eine Längenoperation 292, eine Kriteriumsoperation 294 und eine Speicheroperation 296 aufrufen, um die angeforderten Distanzdaten zu erzeugen. Die Längenoperation 292 erhält Längendaten, die eine Länge entlang einer Linie von einem Anfangspixel in einer bestimmten Richtung angeben. Die Kriteriumsoperation 294 verwendet die Längendaten, um zu bestimmen, ob ein Pixel an der angegebenen Länge von dem Anfangspixel ein Kriterium wie etwa ein Kantenkriterium erfüllt. Wenn ein Pixel gefunden wird, welches das Kriterium erfüllt, dann speichert die Speicheroperation 296 die Längendaten für das Pixel, welche die Distanzdaten für die Richtung sind. Die Speicheroperation 296 kann die Längendaten derart speichern, daß unter Verwendung von Daten, welche die Richtung angeben, auf dieselben zugegriffen werden kann.
- Die Kombinationsoperation 298 wird durch die Schrägstellungsoperation 286 und die Schriftartoperation 288 aufgerufen, um die Distanzdaten für jede Richtung für alle Anfangspixel zu kombinieren, um kombinierte Distanzdaten für jede Richtung zu erhalten und ein Distanzprofil als eine Funktion der Richtung zu erzeugen. Die Vergleichsoperation 300 wird durch die Schriftartoperation 286 aufgerufen, um ein durch die Kombinationsoperation 298 erzeugtes Profil mit durch die Profilspeicheroperation 282 gespeicherten Modellprofilen zu vergleichen.
- Die Bilddaten 302 im Datenspeicher 280 umfassen Daten, welche einen Wert für jedes Bildpixel angeben. Diese können durch eine Bildspeicheroperation (nicht gezeigt) gespeichert werden. Die Kriteriumsoperation 294 greift auf den Wert eines Pixels in den Bilddaten 302 zu, um zu bestimmen, ob das Pixel das Kriterium erfüllt. Die Speicheroperation 296 speichert Distanzdaten 304 wie oben beschrieben. Die Kombinationsoperation 298 greift auf Distanzdaten 304 zu und erzeugt Profildaten 306. Die Profilspeicheroperation 282 speichert Modellprofile 308. Auf die Profildaten 306 und die Modellprofile 308 wird durch die Vergleichsoperation 298 zugegriffen, und auch die Profilausgabeoperation 284 greift auf die Profildaten 306 zu.
- Fig. 14-16 zeigen einige Implementierungen der Techniken der vorliegenden Erfindung. Fig. 14 zeigt die allgemeine Technik zum Erzeugen einer Distanz als Funktion des Richtungsprofils. Fig. 15 verwendet das Durchschnittsprofil, um die Schrägstellung des Textes in einem Bild festzustellen. Fig. 16 verwendet das Durchschnittsprofil, um die vorherrschende Schriftart des Textes in einem Bild zu bestimmen.
- Fig. 14 zeigt ein Verfahren zum Bestimmen des Durchschnittsprofils der Distanz als einer Funktion der Richtung für ein Bild. Der Schritt in Kasten 310 initialisiert das System und lädt die Bildmatrix, die das zu analysierende Bild definiert. Wenn die Bilddaten in einem anderen Format erhalten werden als für die durchzuführenden Schritte geeignet ist, wie etwa ein Plattendateiformat oder ein Scannerausgabeformat, dann müssen sie in eine Matrix oder ein anderes geeignetes Format umgewandelt werden. Der Schritt in Kasten 312 setzt Konstanten wie distance-limit; scan-values, welche die Anzahl der zu verwendenden Richtungen angeben, und location-samples, welche die Anzahl der zum Charakterisieren des Bildes zu verwendenden Positionen angibt.
- Die Konstante distance-limit muß auf einen Wert gesetzt werden, der ausreichend größer als der Abstand zwischen den Zeilen des Bildes ist, um Distanzen zwischen benachbarten Textzeilen festzustellen. Zum Beispiel hat die Technik bei einem Satz von Bildern gut mit einer auf 70 gesetzten Konstante distance-limit gearbeitet.
- Weil die Richtungen durch das Teilen von 360º durch scan-values erhalten werden, stellt ein größerer Wert für scan-values die Bildeigenschaften mit einer größeren Auflösung fest. Eine zufriedenstellende Auflösung wurde für einige Eigenschaften mit scan-values erhalten, das auf einen Wert von ungefähr 24 gesetzt wurde.
- Zufriedenstellende Ergebnisse für einige Eigenschaften wurden mit einer auf 1000, 3000 und in einigen Fällen auf 5000 gesetzten Konstante location-samples erhalten. Größere Werte für location-samples erfordern mehr Berechnung, können aber keine größere Genauigkeit erreichen, wenn eine entsprechende Stufe von statistischer Signifikanz erreicht wurde. Die Auflösung des empfangenen Bildes und die bestimmte gemessene Eigenschaft können den Wert beeinflussen, der zum Erhalten von zufriedenstellenden Messungen erforderlich ist.
- Geeignete Werte für scan-values und location-samples können experimentell oder durch eine statistische Analyse bestimmt werden. Allgemein kann ein zufriedenstellender Wert für eine bestimmte Messung in einem bestimmten Bild erhalten werden, indem jede dieser Konstanten erhöht wird, bis eine weitere Erhöhung die Zuverlässigkeit der Ergebnisse nicht weiter erhöht.
- Der Schritt in Kasten 314 erstellt eine Matrix mit der Größe scan-values. Diese Matrix wird verwendet, um die Scannrichtungen eines segmentierten Kreises zu speichern. Um die Scannrichtungen zu erhalten, teilt der Schritt in Kasten 316 den Wert des Kreises, 360º, durch scan-values. Jede Richtung kann in der Matrix als ein Winkel gespeichert werden, der zu einer bestimmten Richtung versetzt ist, etwa zu der vertikal nach unten ausgerichteten (d. h. 0º = 4)
- Der Schritt in Kasten 318 erstellt eine andere Matrix, die Profilmatrix. Diese Matrix weist auch eine Größe von scan-values auf und wird verwendet, um die Distanzmessungen für jede Richtung zu speichern.
- Der Schritt in Kasten 320 setzt den Richtungszähler auf null und inkrementiert den Positionszähler, um die Anzahl der abgetasteten Positionen zu verfolgen. Der Schritt in Kasten 322 prüft, wann der Positionszähler location-samples erreicht.
- Wenn die gewünschte Anzahl von Positionen noch nicht abgetastet wurde, wählt der Schritt in Kasten 324 eine andere Position. Dabei kann es sich um eine zufällige oder pseudozufällige Wahl handeln. Der Schritt in Kasten 326 prüft, um sicherzustellen, daß die Position eine richtige Wahl für ein Anfangspixel ist, was von der Anwendung abhängt. Für einige Anwendungen sollte das Anfangspixel in einer verbundenen Komponenten sein. Zusätzliche Eigenschaften wie etwa, ob das Pixel auf der Kante einer Komponente liegt, können ebenfalls erwünscht sein. Um zum Beispiel die Schrägstellung eines Bildes festzustellen, kann ein auf einer Kante einer Komponente liegendes Pixel als Anfangspixel verwendet werden. Um die Schriftart des Texts in einem Bild zu bestimmen, kann als Anfangspixel ein Kantenpixel oder ein beliebiges schwarzes Pixel ausgewählt werden.
- Wenn das gewählte Pixel nicht die gewünschten Eigenschaften aufweist, werden keine Messungen von dem Pixel vorgenommen und kehrt das System zu Kasten 324 zurück. Wenn das Pixel geeignet ist, prüft der Schritt in Kasten 328, ob scan-values Richtungen gemessen wurden. Wenn nicht, inkrementiert der Schritt in Kasten 332 den Richtungszähler für eine neue Richtung. Der Schritt in Kasten 334 setzt Grenzen für die Höhe und die Breite der Bildmatrix für das gewählte Pixel. Diese können die Außenkanten des Bildes angeben, so daß Messungen nicht über die Kanten des Bildes hinaus vorgenommen zu werden brauchen. Der Schritt in Kasten 336 berechnet Inkremente entlang der x- und y-Achsen für jedes Inkrement entlang einer Linie in der neuen Richtung. Der Schritt in Kasten 338 startet die Variablen x-bar und y-bar in dem ersten Inkrement von dem Anfangspixel entlang dieser Linie und setzt den Distanzzähler dist zurück.
- Der Schritt in Kasten 340 prüft, ob die Länge vom Anfangspixel die Grenzen für die Breite, Höhe oder Distanz überschreitet. Wenn nicht, werden aktuelle Werte von x-bar und y-bar auf ganze Zahlen gerundet, um auf das Datenelement eines Pixels in der Bildmatrix zuzugreifen. Der Schritt von Kasten 344 prüft, ob das Pixel an dieser Position das Stoppkriterium erfüllt. Wenn nicht, inkrementiert der Schritt in Kasten 346 x-bar, y-bar und dist und kehrt zu Kasten 340 zurück, um die Grenzen zu prüfen. Wenn das Pixel in der Matrix in Kasten 344 das Stoppixelkriterium erfüllt oder wenn eine Grenze überschritten wird, dann werden die Distanzdaten dist, welche die Länge von dem Anfangspixel angeben, durch den Schritt in Kasten 348 in der Profilmatrix gespeichert. Das System kehrt dann zu Kasten 328 zurück, bis die Distanz in scan-values Richtungen gemessen wurde.
- Wenn alle Richtungen gemessen wurden, wird das Profil in Kasten 330 mit vorhergehenden Profilen für alle bisherigen Positionen kombiniert und wird der Positionszähler in Kasten 320 inkrementiert. Wenn in dem Schritt von Kasten 322 location-samples Positionen abgetastet wurden, berechnet der Schritt in Kasten 350 das Durchschnittsprofil für das Bild aus der Summe der Profile. Das Durchschnittsprofil wird in dem Schritt in Kasten 352 ausgegeben.
- Fig. 15 zeigt eine Operation, die das in Fig. 14 erhaltene Durchschnittsprofil verwendet, um die Schrägstellung des Bildes zu bestimmen. In Kasten 360 wird das Durchschnittsprofil unter Verwendung der Technik von Fig. 14 berechnet. Für dieses Beispiel kann jedes Anfangspixel ein schwarzes Kantenpixel und jedes Stoppixel ein anderes schwarzes Pixel sein. Der Schritt in Kasten 362 setzt einen Wert für das Falsche-Spitze-Rasterintervall ε. Diese Konstante ist eine Fehlertoleranz, die erlaubt, daß Spitzen in Richtungen auftreten können, die einem maximalen Spitzenwert sehr nahe sind. Diese Konstante kann zum Beispiel auf 10 Grad gesetzt werden. Der Schritt in Kasten 364 findet jedes lokale Minimum und fügt für jedes Minimum einen Eintrag zu einem Stapel, der den Minimalwert angibt. Der Schritt in Kasten 366 sortiert den Stapel in Übereinstimmung mit dem Wert bei jedem Minimum, um den Minimalwert im Stapel zu finden. Die Richtung valley&sub1;, die diesem Minimumwert in der Matrix entspricht, wird als die Schrägstellung des Bildes betrachtet.
- Um zu prüfen, ob valley&sub1; tatsächlich die Schrägstellung ist, findet der Schritt in Kasten 368 den nächstniedrigen Wert in der Matrix in einer Richtung valley&sub2;. Der Schritt in Kasten 370 prüft, ob valley&sub2; nicht innerhalb des Falsche-Spitze-Rasterintervalls ε von valley&sub1; ist. Wenn ja, nimmt der Kasten 368 den nächsten Minimalwert für valley&sub2;. Wenn ein valley&sub2; gefunden wird, das nicht in das Intervall ε um valley&sub1; fällt, prüft der Schritt in Kasten 372, ob das zweite Minimum valley&sub2; ungefähr 180º von dem ersten Minimum valley&sub1; entfernt ist, das die Schräg stellung in der entgegengesetzten Richtung über das Bild zeigt. Wenn diese gefunden wird, gibt der Schritt in Kasten 374 die Schrägstellungsrichtung valley&sub1; aus. Wenn die Differenz zwischen valley&sub1; und valley&sub2; nicht in den Bereich von (180º - ε) bis (180º + ε) fällt, wird ein Fehler festgestellt und in dem Schritt von Kasten 376 ausgegeben. In diesem Fall ist es wahrscheinlich, daß das analysierte Bild kein Textbild ist.
- Fig. 16 zeigt eine Operation, die das Durchschnittsprofil verwendet, um die vorherrschende Schriftart des Textes in einem Bild zu bestimmen. Der Schritt in Kasten 380 verwendet die Technik von Fig. 15, um die Schrägstellung des Bildes zu erhalten, die bei späteren Berechnungen berücksichtigt werden kann oder zum Geradestellen des Bildes verwendet werden kann. Der Schritt in Kasten 382 berechnet ein neues Durchschnittsprofil für das Bild, wobei dieses Mal schwarze Pixel als Anfangspixel verwendet werden und die Distanz zu dem nächsten weißen Pixel in jeder Richtung gemessen wird. Es könnten alternativ dazu Kantenpixel als Anfangspixel verwendet werden. Modellprofile für bekannte Schriftarten sind im Datenspeicher gespeichert. Der Kasten 384 beginnt eine iterative Schleife, die fortfährt, solange weitere Modellprofile vorhanden sind, die mit dem Profil des aktuellen Bildes verglichen werden können. Der Schritt in Kasten 386 ruft das Modellprofil der nächsten Schriftart ab. Der Schritt in Kasten 388 berechnet die kleinste quadratische Distanz zwischen dem Modellprofil und dem aktuellen Durchschnittsprofil. Dies kann unter Verwendung der folgenden Formel vorgenommen werden
- i = scan-values
- min Σ (a(i) - b(i) - x)²
- x R i = 0
- um eine Summe der Quadrate zu erhalten, von welchen dann die Quadratwurzel als ein Maß für die Distanz zwischen dem Modellprofil und dem aktuellen Durchschnittsprofil erhalten werden kann. Es können auch andere Standard-Vergleichstechniken wie etwa das Erhalten einer Differenz in absoluten Werten oder ein anderes herkömmliches Maß für die Distanz verwendet werden.
- Das Ergebnis der Berechnung wird in dem Schritt in Kasten 390 in einer Ergebnismatrix in Übereinstimmung mit der Schriftart gespeichert. Wenn keine weiteren Schriftart-Modellprofile für die Prüfung in Kasten 384 vorhanden sind, sortiert der Schritt in Kasten 392 die Ergebnismatrix, um die kleinste Differenz zu finden. Ein Kennzeichner der Schriftart mit der kleinsten Differenz wird in dem Schritt in Kasten 396 ausgegeben.
- Zusätzliche Details zu der Identifikation der vorherrschenden Schriftart sind in US-A-5 254 307 mit dem Titel "Image Analysis to Obtain Typeface Information" beschrieben.
- Fig. 17 und 18 zeigen ein Beispiel unter Verwendung der Techniken von Fig. 14 und 15. Ein Profil der durchschnittlichen Distanz als einer Funktion der Richtung wird für eine in Fig. 17 gezeigte Probe mit schräggestelltem Text unter Verwendung der Technik von Fig. 14 erhalten. Fig. 18 ist die Kurve der mittleren Distanz zwischen Komponenten als eine Funktion der Richtung für den Text. Die Statistik wird über die Probe in einem Satz von 128 unterschiedlichen Richtungen berechnet, die über 360º verteilt sind. Der Punkt 400 zeigt ein Minimum bei ungefähr 330 Grad, das der ungefähren Schrägstellung der Textprobe auf der Seite entspricht. Das zweite Minimum 402 liegt bei ungefähr 150 Grad und gibt die 180- Grad-Differenz der parallelen Linie in der entgegengesetzten Richtung an.
- Fig. 19-22 zeigen Beispiele, welche die Techniken von Fig. 14 und 16 verwenden. Ein Profil der durchschnittlichen Distanz als einer Funktion der Richtung wird unter Verwendung der Technik von Fig. 14 auf einem in Fig. 19 gezeigten Probetext in der Bookman-Schriftart erhalten. Fig. 20 ist eine Kurve des Profils für die Bookman-Schriftart. Fig. 21 zeigt eine Textprobe in der Schriftart Avant Garde. Fig. 22 zeigt eine Kurve der Durchschnittsdistanz als eine Funktion des Richtungsprofils der Probe von Avant Garde, die unter Verwendung der Technik von Fig. 14 erhalten wird. Diese Profile können wie oben beschrieben mit Modellprofilen oder untereinander verglichen werden.
- Die vorliegende Erfindung kann in verschiedener Weise in vielen verschiedenen Systemen implementiert werden. Fig. 23 zeigt eine Implementierung, die einen parallelen Prozessor enthält.
- Fig. 23 zeigt ein System 450, das dem System von Fig. 13 ähnlich ist. Das System 450 umfaßt einen Hostprozessor 452, der verbunden ist, um Daten von einer Eingabeeinrichtung 454 zu empfangen und um Daten zu der Ausgabeeinrichtung 456 auszugeben. Der Hostprozessor 452 ist auch verbunden, um Daten mit dem parallelen Prozessor 460 auszutauschen, die zum Beispiel eine Connection Machine von Thinking Machines Corporation sein kann. Der parallele Prozessor 460 umfaßt Verarbeitungseinheiten 462 mit jeweils einem Lokalspeicher 464. Daten, die ein Bild definieren, können im Lokalspeicher 464 derart gespeichert werden, daß der Wert jedes Pixels in dem Lokalspeicher einer entsprechenden Verarbeitungseinheit gespeichert wird. Konzeptuell wird jedes Pixel durch eine separate reale oder virtuelle Verarbeitungseinheit behandelt. Der Hostprozessor führt Befehle aus einem Programmspeicher 470 aus und greift auf einen Datenspeicher 472 zu, um die Bildverarbeitung wie oben mit Bezug auf Fig. 13 beschrieben durchzuführen. Der Hostprozessor 452 führt eine Distanzdaten-Subroutine durch, die das parallele Betreiben der entsprechenden Verarbeitungseinheit für jedes Pixel umfaßt, um Distanzdaten zu erhalten, um die Distanz von dem Pixel in einer Richtung zu einem anderen Pixel zu erhalten, das ein Kriterium erfüllt.
- Fig. 24A und 24B stellen ein zusätzliches Merkmal der parallelen Implementierung dar, das nützlich sein kann, um ein Bild in Bereiche zu unterteilen, von denen jeder einen vorherrschenden Wert für eine Bildeigenschaft aufweist. Fig. 24A zeigt ein Textbild, das fünf Bereiche umfaßt, die jeweils Text mit einer anderen vorherrschenden Schrägstellung als der Text in den anderen Bereichen aufweisen. Fig. 24B zeigt ein Bild, das aus dem Bild von Fig. 24A abgeleitet wird, in welchem kurze Linien parallel zu der lokalen Schrägstellung an entsprechenden Pixeln ausgerichtet sind, welche gleichmäßig über das Bild verteilt sind.
- Die parallele Implementierung kann die lokale Schrägstellung wie in Fig. 24B dargestellt finden, nachdem sie ein Distanzprofil als eine Funktion der Richtung für jedes Pixel erhalten hat. Eine Verarbeitungseinheit für ein bestimmtes Pixel kann Daten zu den Profilen von einer Anzahl von nahen Pixeln von den entsprechenden Verarbeitungseinheiten erhalten. Zum Beispiel können die nahen Pixel alle Pixel in einer Nachbarschaft von M · M Pixeln enthalten, deren Zentrum in dem bestimmten Pixel liegt. Eine Verarbeitungseinheit kann dann die Profile der Pixel in der Nachbarschaft kombinieren, um ein Profil zu erhalten, das die Distanzverteilung als eine Funktion der Richtung für die Nachbarschaft angibt, indem etwa die Distanzen separat in jeder Richtung gemittelt werden. Dieses Profil kann dann analysiert werden, um die lokale Schrägstellung wie in Fig. 24B gezeigt zu erhalten.
- Die in Fig. 24A und 24B dargestellte Technik kann auch in einer seriellen Implementierung mit entsprechenden Modifikationen der oben beschriebenen Techniken enthalten sein. Wenn zum Beispiel ein Distanzprofil als eine Funktion der Richtung für ein ausgewähltes Pixel erhalten wird, kann das Profil verteilt und mit einem Akkumulatorprofil für jedes der anderen Pixel in der M·M-Nachbarschaft des Pixels kombiniert werden. Dies wäre eine Konstantzeitoperation (M²), die eine Matrix von lokalen Profilen jeweils für eine M·M-Nachbarschaft mit dem Zentrum in einem bestimmten Pixel des Originalbildes erzeugen würde. Oder wenn Messungen in Beziehung zu einem Probesatz von Pixeln gemacht werden, kann jede Messung das Erhalten eines Profils für jedes Pixel in der M·M-Nachbarschaft eines abgetasteten Pixels enthalten, wobei die Profile kombiniert werden könnten, um eine lokale Messung für das abgetastete Pixel zu erhalten. Der Probesatz der Pixel kann ausgewählt werden, um eine gleichmäßige Verteilung über das Bild zu erhalten.
- Die in Fig. 24A und 24B dargestellte Technik kann auf Messungen der vorherrschenden Schriftart und andere Bildeigenschaften angewendet werden, für die verschiedene Bereiche eines Bildes unterschiedliche vorherrschende Werte aufweisen können. Weiterhin können Daten, die eine Bildeigenschaft für die Nachbarschaft angeben, analysiert werden, um Kanten zwischen Bereichen zu finden, um eine Aufteilung eines Bildes in Segmente zu ermöglichen, von denen jedes einen vorherrschenden Wert für eine gemessene Eigenschaft aufweist.
- Die vorliegende Erfindung kann auf verschiedene Weise angewendet werden, etwa wie oben beschrieben mit einer Feststellung einer Schrägstellung und mit einer Identifikation der Schriftart. Fig. 25 stellt Anwendungen der vorliegenden Erfindung in einem Kopiergerät dar.
- Das Kopiergerät 500 umfaßt einen Scanner 502, ein Bildverarbeitungssystem 504 und einen Drucker 506. Der Scanner 502 kann Daten erzeugen, die ein Bild eines Eingabedokuments erzeugen. Das Bildverarbeitungssystem 504 kann wie in Fig. 13 oder in Fig. 23 gezeigt implementiert werden, und kann zusätzlich zum Feststellen einer Schrägstellung und zum Identifizieren der vorherrschenden Schriftart optische Zeichenerkennungstechniken verwenden, um Zeichen in dem Dokument zu identifizieren. Das Bildverarbeitungssystem 504 kann auch Techniken anwenden, um die Zeichengröße und -position festzustellen und um Daten zu erzeugen, welche ein korrigiertes Bild definieren, in dem ein Zeichen des Eingabedokumentenbildes durch eine korrigierte Version desselben Zeichens aus der identifizierten Schriftart mit der entsprechenden Größe, Position und Schrägstellung ersetzt ist. Die Daten, die das korrigierte Bild definieren, können dann zu einem Drucker 506 ausgegeben werden, um ein Ausgabedokument zu drucken.
- Die vorliegende Erfindung wurde mit Bezug auf bestimmte Anwendungen wie eine Feststellung der Schrägstellung und die Identifikation der vorherrschenden Schriftart beschrieben. Die vorliegende Erfindung kann jedoch auch auf die Identifikation von Zeichen oder Wörtern angewendet werden.
- Die vorliegende Erfindung wurde mit Bezug auf Implementierungen beschrieben, in welchen Operationen auf Daten durchgeführt werden, die ein Bild definieren, um Daten zu erhalten, welche die Distanz als eine Funktion der Richtung angeben. Die vorliegende Erfindung kann auch mit Hilfe eines spezialisierten Schaltungsaufbaus implementiert werden, der mit Fotosensoren verbunden ist, um die Distanz direkt als eine Funktion der Richtung in einem Bild zu messen.
- Die vorliegende Erfindung wurde mit Bezug auf Softwareimplementierungen beschrieben, wobei die vorliegende Erfindung jedoch auch mit einer spezialisierten Hardware implementiert werden kann.
- Die vorliegende Erfindung wurde mit Bezug auf Implementierungen beschrieben, in denen Distanzen von zufällig ausgewählten Positionen gemessen wurden. Die Anfangspositionen für die Distanzmessung können alternativ dazu mit einem anderen Kriterium ausgewählt werden, etwa alle Pixel innerhalb einer verbundenen Komponente, alle Pixel auf Kanten oder jedes N-te Innen- oder Kantenpixel. Weiterhin ist es nicht unbedingt erforderlich, die Distanz in jeder Richtung von einer bestimmten Position zu messen; statt dessen kann die Distanz von einem anderen Satz von Anfangspositionen für jede Richtung gemessen werden.
- Die vorliegende Erfindung wurde mit Bezug auf Implementierungen beschrieben, in denen die Distanz über einen 360º großen Bereich in gleichmäßig beabstandeten Richtungen gemessen wird. Es wäre jedoch auch möglich, einen 180º großen Bereich von Richtungen zu verwenden. Es wäre weiterhin möglich, einen Satz von Richtungen zu identifizieren, die nicht gleichmäßig beabstandet sind, aber die erforderliche Information vorsehen, um eine gemessene Eigenschaft anzugeben.
- Die vorliegende Erfindung wurde mit Bezug auf Implementierungen beschrieben, in denen Verteilungsdaten für jede Richtung durch das Mitteln von gemessenen Distanzen erhalten werden. Es können auch andere Techniken verwendet werden, um Verteilungsdaten zu erhalten. Zum Beispiel können andere Messungen des zentralen Werts erhalten werden, wie etwa ein Modalwert oder ein Medianwert. Eine Messung der Varianz kann erhalten werden, wie etwa eine Standardabweichung. Eine gemischte Messung des zentralen Werts und der Varianz kann erhalten werden, wie etwa Distanzen, bei welchen die Frequenz einige Dezibel unter dem Modalwert liegt. Allgemein können Verteilungsdaten erhalten werden, nachdem alle Distanzmessungen erhalten wurden. Um die Datenspeicheranforderungen zu reduzieren, können die Distanzmessungen auch so, wie sie erhalten werden, kombiniert werden, etwa durch eine Summenbildung.
Claims (8)
1. Verfahren zum Durchführen einer Bildanalyse mit einem Bild, das zwei oder mehr
Orte, einschließlich Orten umfaßt, bei denen das Bild ein Kriterium erfüllt, mit:
Erlangen (316) eines Satzes von wenigstens zwei Richtungen, in denen Abstände
innerhalb eines Bildes gemessen werden können;
Wählen (324, 326) eines Satzes von wenigstens zwei Anfangsorten innerhalb des
Bildes und Verarbeiten von Bilddaten (62; 102, 104, 106, 108, 110; 342, 344, 346)
für jeden Anfangsort in dem Satz, um Abstandsdaten entlang jeder Richtung in dem
Satz von Richtungen zu berechnen, wobei die Abstandsdaten den Abstand zwischen
dem Anfangsort und einem anderen Ort darstellen, bei dem das Bild das Kriterium
erfüllt, wobei der Auswählschritt ferner umfaßt:
Kombinieren (234, 236; 330, 350) der berechneten Abstandsdaten für alle
Anfangsorte, getrennt für jede Richtung in dem Satz von Richtungen, um einen Satz von
kombinierten Abstandsdaten zu erlangen, die einen Abstand für jede Richtung in
dem Satz von Richtungen darstellen, wobei der so erhaltene Satz von kombinierten
Abstandsdaten Informationen über eine Charakteristik des Bildes liefert.
2. Verfahren nach Anspruch 1, wobei jeder aus der Vielzahl von Orten ein Pixel ist.
3. Verfahren nach Anspruch 1 oder 2, wobei der Satz von wenigstens zwei
Richtungen beieinanderliegende erste und zweite Richtungen umfaßt, die durch einen
Trennungswinkel von 30º oder weniger getrennt werden, wobei der Trennungswinkel
klein genug ist, daß die Daten der ersten Richtung und die Daten der zweiten
Richtung angeben, ob das Bild einen Klecks enthält, der sich der ersten und zweiten
Richtung innerhalb eines begrenzenden Abstands von dem Anfangsort
entgegensetzt.
4. Verfahren nach einem der Ansprüche 1 bis 3, das ferner die Schritte umfaßt:
Benutzen der kombinierten Abstandsdaten für all die Richtungen, um ein
Abstandsprofil als eine Funktion der Richtung zu bilden, und
Benutzen des Abstandsdatenprofils, um Daten zu erhalten, die die Charakteristik
des Bilds angeben.
5. Verfahren nach Anspruch 4, wobei das Benutzen des Profils wenigstens einen der
folgenden Unterschritte umfaßt:
Erlangen von Minima des Profils und Erlangen einer Schräge für das Bild anhand
der Minima; und
Vergleichen des Profils mit Modellprofilen von Schriftarten und Erlangen einer
Schriftart für das Bild anhand der Vergleichsergebnisse.
6. Geräte (270, 450) zur Bildverarbeitung mit:
einer Speichereinrichtung (280; 464) zum Speichern von Bilddaten (302), die ein
Bild definieren, das zwei oder mehrere Orte einschließlich Orten umfaßt, bei denen
das Bild ein Kriterium erfüllt; und einer Prozessoreinrichtung (272; 452 und 462), die
verbunden ist, um auf die Speichereinrichtung zuzugreifen, wobei die
Prozessoreinrichtung enthält:
eine Einrichtung zum Erlangen eines Satzes von wenigstens zwei Richtungen,
entlang derer Abstände innerhalb eines Bildes gemessen werden können;
eine Einrichtung zum Wählen eines Satzes von wenigstens zwei Anfangsorten
innerhalb des Bildes und einer Einrichtung zum Verarbeiten von Bilddaten für jeden
Anfangsort, um Abstandsdaten entlang jeder Richtung in dem Satz von Richtungen
zu berechnen, wobei die Abstandsdaten den Abstand zwischen dem Anfangsort und
einem anderen Ort darstellen, bei dem das Bild das Kriterium erfüllt,
wobei die Verarbeitungseinrichtung ferner umfaßt:
eine Einrichtung zum Kombinieren der berechneten Abstandsdaten für alle
Anfangsorte getrennt für jede Richtung in dem Satz von Richtungen, um einen Satz von
kombinierten Abstandsdaten zu erlangen, die einen Abstand für jede Richtung in
dem Satz von Richtungen darstellen, wobei der so erhaltene Satz von kombinierten
Abstandsdaten Informationen über eine Charakteristik des Bildes liefert.
7. Gerät nach Anspruch 6, das ferner eine Einrichtung (274) zum Anordnen der
Richtungen umfaßt, so daß sie miteinander Winkel von bekannten Größen
einschließen.
8. Gerät nach Anspruch 7, wobei die eingeschlossenen Winkel gleich groß sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/737,957 US5245674A (en) | 1991-07-30 | 1991-07-30 | Image processing using distance as a function of direction |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69231050D1 DE69231050D1 (de) | 2000-06-21 |
DE69231050T2 true DE69231050T2 (de) | 2000-09-14 |
Family
ID=24965976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69231050T Expired - Fee Related DE69231050T2 (de) | 1991-07-30 | 1992-07-30 | Gerät zur Bildverarbeitung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5245674A (de) |
EP (1) | EP0526199B1 (de) |
JP (1) | JP3302724B2 (de) |
DE (1) | DE69231050T2 (de) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5416851A (en) * | 1991-07-30 | 1995-05-16 | Xerox Corporation | Image analysis based on location sampling |
JP3361124B2 (ja) * | 1991-07-30 | 2003-01-07 | ゼロックス・コーポレーション | テキストを含む2次元画像上での画像処理方法と画像処理装置 |
US6373997B1 (en) | 1991-07-30 | 2002-04-16 | Xerox Corporation | Coarse and fine skew measurement |
DK0604687T3 (da) | 1992-12-30 | 2000-10-23 | Koninkl Kpn Nv | Fremgangsmåde til afledning af tegneegenskaber i et tegngenkendelsessystem |
EP0898240B1 (de) * | 1993-01-11 | 2003-03-05 | Canon Kabushiki Kaisha | Gerät und Verfahren zur Bildverarbeitung |
JP3050007B2 (ja) * | 1993-08-26 | 2000-06-05 | ミノルタ株式会社 | 画像読取装置およびこれを備えた画像形成装置 |
US5600733A (en) * | 1993-11-01 | 1997-02-04 | Kulicke And Soffa Investments, Inc | Method for locating eye points on objects subject to size variations |
US5604822A (en) * | 1993-11-12 | 1997-02-18 | Martin Marietta Corporation | Methods and apparatus for centroid based object segmentation in object recognition-type image processing system |
US5644656A (en) * | 1994-06-07 | 1997-07-01 | Massachusetts Institute Of Technology | Method and apparatus for automated text recognition |
US5649024A (en) * | 1994-11-17 | 1997-07-15 | Xerox Corporation | Method for color highlighting of black and white fonts |
JP2730665B2 (ja) * | 1994-12-15 | 1998-03-25 | 北陸先端科学技術大学院大学長 | 文字認識装置および方法 |
US5668891A (en) * | 1995-01-06 | 1997-09-16 | Xerox Corporation | Methods for determining font attributes of characters |
US6144764A (en) * | 1997-07-02 | 2000-11-07 | Mitsui High-Tec, Inc. | Method and apparatus for on-line handwritten input character recognition and recording medium for executing the method |
US6658145B1 (en) | 1997-12-31 | 2003-12-02 | Cognex Corporation | Fast high-accuracy multi-dimensional pattern inspection |
US6856698B1 (en) | 1997-11-26 | 2005-02-15 | Cognex Corporation | Fast high-accuracy multi-dimensional pattern localization |
US6975764B1 (en) | 1997-11-26 | 2005-12-13 | Cognex Technology And Investment Corporation | Fast high-accuracy multi-dimensional pattern inspection |
US6850646B1 (en) | 1997-12-31 | 2005-02-01 | Cognex Corporation | Fast high-accuracy multi-dimensional pattern inspection |
US7016539B1 (en) | 1998-07-13 | 2006-03-21 | Cognex Corporation | Method for fast, robust, multi-dimensional pattern recognition |
US6229918B1 (en) * | 1998-10-20 | 2001-05-08 | Microsoft Corporation | System and method for automatically detecting clusters of data points within a data space |
US7043080B1 (en) * | 2000-11-21 | 2006-05-09 | Sharp Laboratories Of America, Inc. | Methods and systems for text detection in mixed-context documents using local geometric signatures |
US6690821B2 (en) * | 2000-12-28 | 2004-02-10 | Xerox Corporation | Determining the font of text in an image |
US7120300B1 (en) | 2002-05-14 | 2006-10-10 | Sasken Communication Technologies Limited | Method for finding representative vectors in a class of vector spaces |
US8081820B2 (en) | 2003-07-22 | 2011-12-20 | Cognex Technology And Investment Corporation | Method for partitioning a pattern into optimized sub-patterns |
US7190834B2 (en) | 2003-07-22 | 2007-03-13 | Cognex Technology And Investment Corporation | Methods for finding and characterizing a deformed pattern in an image |
US8437502B1 (en) | 2004-09-25 | 2013-05-07 | Cognex Technology And Investment Corporation | General pose refinement and tracking tool |
US7522771B2 (en) * | 2005-03-17 | 2009-04-21 | Microsoft Corporation | Systems, methods, and computer-readable media for fast neighborhood determinations in dynamic environments |
US7929769B2 (en) * | 2005-12-13 | 2011-04-19 | Microsoft Corporation | Script recognition for ink notes |
CN101354704B (zh) * | 2007-07-23 | 2011-01-12 | 夏普株式会社 | 字形特征字典制作装置及具备该装置的文档图像处理装置 |
CN101354703B (zh) * | 2007-07-23 | 2010-11-17 | 夏普株式会社 | 文档图像处理装置和文档图像处理方法 |
US8103085B1 (en) | 2007-09-25 | 2012-01-24 | Cognex Corporation | System and method for detecting flaws in objects using machine vision |
US9798711B2 (en) * | 2012-05-31 | 2017-10-24 | Xerox Corporation | Method and system for generating a graphical organization of a page |
US9053359B2 (en) | 2012-06-07 | 2015-06-09 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for document authentication using Krawtchouk decomposition of image patches for image comparison |
US9230383B2 (en) | 2012-12-28 | 2016-01-05 | Konica Minolta Laboratory U.S.A., Inc. | Document image compression method and its application in document authentication |
US9679224B2 (en) | 2013-06-28 | 2017-06-13 | Cognex Corporation | Semi-supervised method for training multiple pattern recognition and registration tool models |
US9235757B1 (en) * | 2014-07-24 | 2016-01-12 | Amazon Technologies, Inc. | Fast text detection |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL179454B (nl) * | 1952-06-28 | Jan Hendrik Gerlings | Plaatvormig kunststofelement. | |
NL221903A (de) * | 1956-10-26 | |||
US3297989A (en) * | 1964-03-23 | 1967-01-10 | Ling Temco Vought Inc | Probability transform generator for image recognition |
JPS5730086A (en) * | 1980-07-31 | 1982-02-18 | Fujitsu Ltd | Character recognition processing system |
JPS63158678A (ja) * | 1986-12-23 | 1988-07-01 | Sharp Corp | 単語間スペ−ス検出方法 |
US4802230A (en) * | 1987-03-13 | 1989-01-31 | Gtx Corporation | Method and apparatus for generating size and orientation invariant shape features |
JPH0664631B2 (ja) * | 1987-09-09 | 1994-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 文字認識装置 |
US5001766A (en) * | 1988-05-16 | 1991-03-19 | At&T Bell Laboratories | Apparatus and method for skew control of document images |
US4901362A (en) * | 1988-08-08 | 1990-02-13 | Raytheon Company | Method of recognizing patterns |
US5054094A (en) * | 1990-05-07 | 1991-10-01 | Eastman Kodak Company | Rotationally impervious feature extraction for optical character recognition |
US5131054A (en) * | 1991-01-09 | 1992-07-14 | Thinking Machines Corporation | Character recognition system using massively parallel computer that identifies a query character using degree of similarity with plurality of training characters of known identity |
-
1991
- 1991-07-30 US US07/737,957 patent/US5245674A/en not_active Expired - Lifetime
-
1992
- 1992-07-23 JP JP19724392A patent/JP3302724B2/ja not_active Expired - Fee Related
- 1992-07-30 EP EP92306951A patent/EP0526199B1/de not_active Expired - Lifetime
- 1992-07-30 DE DE69231050T patent/DE69231050T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3302724B2 (ja) | 2002-07-15 |
EP0526199A3 (de) | 1994-03-16 |
US5245674A (en) | 1993-09-14 |
DE69231050D1 (de) | 2000-06-21 |
JPH05216995A (ja) | 1993-08-27 |
EP0526199B1 (de) | 2000-05-17 |
EP0526199A2 (de) | 1993-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69231050T2 (de) | Gerät zur Bildverarbeitung | |
DE69225540T2 (de) | Bildverarbeitungsvorrichtungen | |
DE69225541T2 (de) | Bildverarbeitung | |
DE69230631T2 (de) | Verfahren zum Vergleichen von Wortgestalten | |
DE68928154T2 (de) | Fingerabdruckverarbeitungssystem, geeignet für das Ermitteln des Kernes eines Fingerabdruckbildes durch Krümmungsparameter | |
DE69426098T2 (de) | Benutzung eines Bildmusters als Zugangsschlüssel zu Funktionen einer Maschine | |
DE69032344T2 (de) | Verfahren zum Messen von Neigungswinkeln | |
DE69523965T2 (de) | Erkennungsverfahren für eine zweidimensionale Kodierung | |
DE3689416T2 (de) | Mustermerkmalextraktion. | |
DE60114469T2 (de) | Methode und Gerät zur Bestimmung von interessanten Bildern und zur Bildübermittlung | |
DE69810369T2 (de) | Bildwiederauffindungsvorrichtung und -verfahren | |
DE69229468T2 (de) | Verfahren und Gerät zur Bestimmung der Wortfrequenz in einem Dokument ohne Dokumentbilddekodierung | |
DE69231049T2 (de) | Bildverarbeitung | |
DE69600461T2 (de) | System und Verfahren zur Bewertung der Abbildung eines Formulars | |
DE69425084T2 (de) | Verfahren und Gerät zur Erkennung von Textzeilen, Wörtern und räumlichen Merkmalen von Zeichenzellen | |
DE69618068T2 (de) | Verfahren und Vorrichtung zum Durchführen von Text und Bildsegmentation | |
DE69129520T2 (de) | Verbessertes Segmentierungsverfahren für das maschinelle Lesen von handgeschriebener Information | |
DE69521040T2 (de) | Verfahren und vorrichtung zum dekodieren von balkencodebildern mittels informationen aus vorhergehenden abtastzeilen | |
DE19521346C2 (de) | Bilduntersuchungs/-Erkennungsverfahren, darin verwendetes Verfahren zur Erzeugung von Referenzdaten und Vorrichtungen dafür | |
DE69428475T2 (de) | Verfahren und Gerät zur automatischen Spracherkennung | |
DE69032542T2 (de) | Automatische Unterschriftsprüfung | |
DE69312257T2 (de) | Strahlungsfelderkennungsverfahren | |
DE602005001099T2 (de) | Anordnung, Verfahren und Programm zur Bestimmung eines einfachen Vierfinger-Bildes | |
DE2801536A1 (de) | Zeichenerkennungsvorrichtung | |
DE69618913T2 (de) | Eichung eines interaktiven Bürosystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |