DE68924910T2 - Image processing. - Google Patents

Image processing.

Info

Publication number
DE68924910T2
DE68924910T2 DE1989624910 DE68924910T DE68924910T2 DE 68924910 T2 DE68924910 T2 DE 68924910T2 DE 1989624910 DE1989624910 DE 1989624910 DE 68924910 T DE68924910 T DE 68924910T DE 68924910 T2 DE68924910 T2 DE 68924910T2
Authority
DE
Germany
Prior art keywords
chain code
line
straight line
configuration
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 - Lifetime
Application number
DE1989624910
Other languages
German (de)
Other versions
DE68924910D1 (en
Inventor
Ryohei C O Ezel Inc Kumagai
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.)
Yozan Inc
Original Assignee
Ezel Inc
Sharp Corp
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 Ezel Inc, Sharp Corp filed Critical Ezel Inc
Priority claimed from EP89101572A external-priority patent/EP0380721B1/en
Publication of DE68924910D1 publication Critical patent/DE68924910D1/en
Application granted granted Critical
Publication of DE68924910T2 publication Critical patent/DE68924910T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Character Input (AREA)

Description

Beim Erkennen des handgeschriebenen Buchstabens "R", wie er in Fig. 1 gezeigt ist, stellen die konkaven Stellen C1 und C2, sowie die Öffnung H die Schlüsselpunkte bei der Erkennung dar. Konkave Stellen, konvexe Stellen, sowie Öffnungen stellen bedeutende Charakteristiken einer Konfiguration dar. Durch Extrahieren dieser Charakteristiken wird beispielsweise eine konvexe Hüllkurve über die Konfiguration gelegt und die ursprüngliche Konfiguration von dieser konvexen Hülle abgezogen. Bei einem digitalen Bild kann die konvexe Hüllkurve jedoch nicht immer präzise erzeugt werden. Bei einem digitalen Bild wird die konvexe Hüllkurve dadurch erzeugt, daß Extrempunkte sukzessive mit Linien verbunden werden und indem das Innere der Linien aufgefüllt wird. Die Linie unterscheidet sich bei einem digitalen Bild jedoch entsprechend dem Algorithmus, der für die Linienerzeugung verwendet wird. Das bedeutet, es kann zu einer Abweichung um ein Pixel kommen, da eine analoge Linie nicht notwendigerweise durch das Zentrum eines digitalen Pixels verläuft. Wenn ein Pixel ausgewählt wird, der sich in beträchtlicher Weise von der analogen konvexen Hüllkurve unterscheidet, so stellt die durch das Subtrahieren des Ursprungsbildes erzeugte Konfiguration nicht exakt die Charakteristiken des Zeichens dar. Üblicherweise wird eine digitale Linie durch einen graphischen Prozessor gezogen, d.h. gemäß einem Algorithmus eines Prozessors.When recognizing the handwritten letter "R" as shown in Fig. 1, the concaves C1 and C2, and the opening H are the key points in recognition. Concaves, convexes, and openings represent significant characteristics of a configuration. By extracting these characteristics, for example, a convex envelope is placed over the configuration and the original configuration is subtracted from this convex envelope. However, in a digital image, the convex envelope cannot always be generated precisely. In a digital image, the convex envelope is generated by successively connecting extreme points with lines and by filling the inside of the lines. However, the line differs in a digital image according to the algorithm used for line generation. This means that there may be a deviation of one pixel because an analog line does not necessarily pass through the center of a digital pixel. If a pixel is selected that differs significantly from the analog convex envelope, the configuration produced by subtracting the original image does not exactly represent the characteristics of the character. Typically, a digital line is drawn by a graphics processor, i.e. according to a processor's algorithm.

Wenn die konvexe Hüllkurve nicht in genauer Weise erzeugt wird, kann die Analyse nach der erwähnten Subtraktion nicht ordentlich ausgeführt werden.If the convex envelope is not generated accurately, the analysis after the mentioned subtraction cannot be carried out properly.

In PROCEEDINGS OF THE FALL JOINT COMPUTER CONFERENCE, San Francisco, California, 9. bis 11. Dezember 1968 (AFIPS Conf. Proceedings, Vol. 33) Seiten 1125 bis 1138; J. H. MUNSON: "Experiment in the recognition of hand-printed text: Part 1 - Character recognition", wurde vorgeschlagen, zur Erzeugung einer genauen Erkennung eines handgeschriebenen Zeichens, eine konvexe Hüllkurve (convex hull boundary, CHB) um das Zeichen zu legen, wobei dies dadurch erreicht wird, daß Extremalpunkte des Zeichenbildes bestimmt werden und diese Extremalpunkte mittels gerade Linien verbunden werden, wobei eine gerade Linie zwischen zwei Extremalpunkten so eng wie möglich einer theoretischen geraden Linie zwischen den zwei Extremalpunkten folgt, jedoch nie außerhalb der theoretischen geraden Linie fällt. Nachdem die CHB erhalten ist, werden konkave Stelle sowie Einschlüsse des Zeichenbildes unter Verwendung geeigneter Computerroutinen aufgefunden.In PROCEEDINGS OF THE FALL JOINT COMPUTER CONFERENCE, San Francisco, California, 9-11 December 1968 (AFIPS Conf. Proceedings, Vol. 33) pages 1125 to 1138; JH MUNSON: "Experiment in the recognition of hand-printed text: Part 1 - Character recognition", it was proposed that in order to produce accurate recognition of a hand-printed character, a convex hull boundary (CHB) should be placed around the character, this being achieved by determining extremal points of the character image and connecting these extremal points by straight lines, a straight line between two extremal points following as closely as possible a theoretical straight line between the two extremal points, but never falling outside the theoretical straight line. After the CHB is obtained, concave spots and inclusions in the character image are found using suitable computer routines.

In COMP. GRAPH. & IMAGE PROC., Vol. 9, Nr. 2, Februar 1979, Seiten 183 bis 195, Academic Press Inc.; R. L. T. CEDERBERG: "A new method for vector generation" wird in bezug auf den Bresenham- Algorithmus ein Algorithmus zur Berechnung von Konstanten in einer Gleichung, die die weichste digitale Darstellung einer geraden Linie festlegt, vorgeschlagen. Insbesondere wird vorgeschlagen, eine theoretische gerade Linie dadurch anzunähern, daß zunächst eine grundlegende Ketten-Code-Gruppe bestimmt wird, die einen Teil der geraden Linie annähert und dann die gefundene grundlegende Ketten-Code-Gruppe gemäß der Länge der geraden Linie, die angenähert werden soll, wiederholt wird.In COMP. GRAPH. & IMAGE PROC., Vol. 9, No. 2, February 1979, Pages 183 to 195, Academic Press Inc.; R. L. T. CEDERBERG: "A new method for vector generation" an algorithm for calculating constants in an equation that defines the smoothest digital representation of a straight line is proposed with respect to the Bresenham algorithm. In particular, it is proposed to approximate a theoretical straight line by first determining a basic chain code group that approximates a part of the straight line and then repeating the found basic chain code group according to the length of the straight line to be approximated.

Es ist die Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zum Erkennen einer Konfiguration anzugeben, durch das es möglich wird, eine Darstellung einer konvexen Hüllgrenze der Konfiguration zu erzeugen und wobei zwischen zwei Extremalpixeln die theoretische gerade Linie, die die Extremalpixel verbindet, so nah wie möglich angenähert wird, jedoch nie der Bereich außerhalb der theoretischen geraden Linie berührt wird.It is the object of the present invention to provide an improved method for recognizing a configuration, by which it is possible to generate a representation of a convex envelope boundary of the configuration and whereby between two extremal pixels the theoretical straight line connecting the extremal pixels is approximated as closely as possible, but never the area outside the theoretical straight line is touched.

Diese Aufgabe wird durch den Gegenstand des Patentanspruchs 1 gelöst.This problem is solved by the subject matter of patent claim 1.

Eine bevorzugte Ausführungsform der vorliegenden Erfindung wird im folgenden unter Bezugnahme auf die beiliegenden Zeichnungen näher erläutert, wobei die Zeichnungen in einzelnen zeigen:A preferred embodiment of the present invention is explained in more detail below with reference to the accompanying drawings, in which the drawings show in detail:

Fig. 1 einen handgeschriebenen Buchstaben "R";Fig. 1 a handwritten letter "R";

Fig. 2 eine Darstellung der Definition eines Chain-Codes;Fig. 2 shows the definition of a chain code;

Fig. 3 eine Konfiguration mit einer konkaven Stelle; undFig. 3 a configuration with a concave point; and

Fig. 4 ein in vier Quadranten eingeteiltes Bild.Fig. 4 shows an image divided into four quadrants.

Wie in Fig. 2 gezeigt, weist ein Pixel in einem digitalen Bild acht periphere Pixel auf, so daß es acht Richtungen von dem Pixel aus gibt, die zu angrenzenden Pixeln führen. Diese Richtungen werden durch einen Freeman-Chain-Code von "0" bis "7" beschrieben. Eine Abfolge von Chain-Codes stellt einen fortlaufenden Pixelzug, sowie die Abweichung eines jeden Pixels von einer Linie dar.As shown in Fig. 2, a pixel in a digital image has eight peripheral pixels, so that there are eight directions from the pixel leading to adjacent pixels. These directions are described by a Freeman chain code from "0" to "7". A sequence of chain codes represents a continuous pixel train, as well as the deviation of each pixel from a line.

Fig. 3 zeigt eine konkave Stelle, die Extremalpunkte a und b aufweist. Die Punkte a und b liegen auf der konvexen Hüllkurve und zwischen diesen Punkte liegen Grenzpixel C1 bis C9. Eine Referenzlinie 1 stellt die analoge konvexe Hüllkurve dar. Die digitale konvexe Hüllkurve sollte nie außerhalb der theoretischen Linie 1 fallen und sollte der theoretischen Linie 1 so nah wie möglich folgen. Die entsprechenden Pixel werden nacheinander ausgehend von einem Extremalpunkt, beispielsweise dem Punkt a, bestimmt. Die Pixelreihenfolge kann im Uhrzeigersinn oder im Gegenuhrzeigersinn verlaufen. Für die folgende Beschreibung wird die Richtung im Gegenuhrzeigersinn angenommen.Fig. 3 shows a concave point that has extremal points a and b. The points a and b lie on the convex envelope, and between these points lie boundary pixels C1 to C9. A reference line 1 represents the analog convex envelope. The digital convex envelope should never fall outside the theoretical line 1 and should follow the theoretical line 1 as closely as possible. The corresponding pixels are determined one after the other starting from an extremal point, for example point a. The pixel order can be clockwise or counterclockwise. For the following description, the counterclockwise direction is assumed.

Der Chain-Code, der dem Extremalpunkt a zugewiesen wird, ist "4" oder "5" und kann kein anderer Code sein. Der Pixel d', der mit "4" bezeichnet ist, liegt näher als der Pixel d1, der durch den Chain-Code "5" angezeigt wird, zur Linie 1. Der Pixel d' liegt jedoch außerhalb der Linie 1. Daher wird der Pixel d1 als der Pixel ausgewählt, der für das Erzeugen der konvexen Hüllkurve neben dem Extremalpunkt a liegt. In der gleichen Weise werden die Pixel von d2 bis d8 nacheinander ausgewählt, bis der Extremalpunkt b erreicht wird. Die Linie 1 wird die Koordinaten der Extremalpunkte a und b definiert. Der Abstand zwischen der Linie 1 und jedem Pixel zwischen d1 und d8 wird durch den Chain- Code-Zug definiert, wie er durch die Pixel d1 bis d8 festgelegt ist. Die Neigung des Winkels θ der Linie wird durch die Koordinaten der Extremalpunkte a und b festgelegt. Der Abstand zwischen der Linie 1 und jedem Pixel zwischen d1 und d8 wird durch den Neigungswinkel θ und den Chain-Code-Zug festgelegt. Der Abstand Δ zwischen der Linie 1 und dem Pixel d wird, bei einem Chain-Code von "5" wie folgt berechnet:The chain code assigned to the extremal point a is "4" or "5" and cannot be any other code. The pixel d', indicated by "4", is closer to line 1 than the pixel d1, indicated by the chain code "5". The pixel d'is but outside line 1. Therefore, pixel d1 is selected as the pixel adjacent to extremal point a for generating the convex envelope. In the same way, pixels from d2 to d8 are selected one after another until extremal point b is reached. Line 1 defines the coordinates of extremal points a and b. The distance between line 1 and each pixel between d1 and d8 is defined by the chain code train as specified by pixels d1 to d8. The inclination angle θ of the line is specified by the coordinates of extremal points a and b. The distance between line 1 and each pixel between d1 and d8 is specified by the inclination angle θ and the chain code train. The distance Δ between line 1 and pixel d is calculated as follows, given a chain code of "5":

Δ = (δ/sin 45º)sin(45º - θ)Δ = (δ/sin 45º)sin(45º - θ)

= -δ(sinθ - cosθ),= -δ(sinθ - cosθ),

wobeiwhere

δ die Breite eines Pixels, sowie den Abstand zwischen vertikal und horizontal voneinander beabstandeten Pixeln angibt;δ indicates the width of a pixel, as well as the distance between vertically and horizontally spaced pixels;

Δ negativ wird, wenn der Pixel außerhalb der Linie 1 ist. Der Wert Δ für die Pixel nach dem Pixel d1 führt zu einer Abstandsvergrößerung oder Abstandsabnahme. Wenn der Wert Δ für d1 Δd1 ist, und für d2 Δd2 ist, wird der Abstand zwischen der Linie und dem Pixel d2 (Δd1 + Δd2) sein. Der Wert Δ für jeden Chain-Code kann im voraus berechnet werden. Die Pixel werden so ausgewählt, daß der Abstand minimal wird und nie negativ wird.Δ becomes negative if the pixel is outside line 1. The value Δ for the pixels after pixel d1 results in a distance increase or decrease. If the value Δ for d1 is Δd1 and for d2 is Δd2, the distance between the line and pixel d2 will be (Δd1 + Δd2). The value Δ for each chain code can be calculated in advance. The pixels are selected so that the distance becomes minimal and never becomes negative.

Eine Konfiguration kann in vier Quadranten eingeteilt werden. Wenn die oberen Endpixel der Konfiguration in Fig. 4 mit P0 und P7 bezeichnet werden, die unteren Endpixel mit P3 und P4, die linken Pixel P1 und P2 und die rechten Pixel mit P5 und P6, so kann in den Bereichen zwischen P0 und P2, P2 und P4, P4 und P6 und P6 und P0, die Abstandszunahme oder -abnahme lediglich durch den Chain-Code bestimmt werden. Der Bereich von P0 bis P2, P2 bis P4, P4 bis P6 und P6 bis P0 werden im folgenden erster, zweiter, dritter und vierter Quadrant genannt. Die Abstandszunahme oder -abnahme in jedem Quadrant ist in Tabelle 1 gezeigt. In Tabelle 1 ist die Neigung θ der Linie im Gegenuhrzeigersinn von einer horizontalen Linie gemessen, und δ gibt den Abstand zwischen horizontalen und vertikalen benachbarten Pixeln an. Tabelle 1 Chain-Code QuadrantA configuration can be divided into four quadrants. If the upper end pixels of the configuration in Fig. 4 are designated P0 and P7, the lower end pixels P3 and P4, the left pixels P1 and P2, and the right pixels P5 and P6, in the areas between P0 and P2, P2 and P4, P4 and P6, and P6 and P0, the pitch increase or decrease can be determined only by the chain code. The area from P0 to P2, P2 to P4, P4 to P6, and P6 to P0 are hereinafter called the first, second, third, and fourth quadrants. The pitch increase or decrease in each quadrant is shown in Table 1. In Table 1, the slope θ of the line is measured counterclockwise from a horizontal line, and δ indicates the distance between horizontal and vertical adjacent pixels. Table 1 Chain Code Quadrant

In Fig. 3 werden die Abstände von der Linie 1 zu den Pixeln von d1 bis d8 wie folgt berechnet:In Fig. 3, the distances from line 1 to the pixels from d1 to d8 are calculated as follows:

d1: -δ(sinθ-cosθ)d1: -δ(sinθ-cosθ)

d2: -δ(sinθ-cosθ)-δsinθd2: -δ(sinθ-cosθ)-δsinθ

d3: -δ(sinθ-cosθ)-2δsinθd3: -δ(sinθ-cosθ)-2δsinθ

d4: -δ(sinθ-cosθ)-3δsinθd4: -δ(sinθ-cosθ)-3δsinθ

d5: -δ(sinθ-cosθ)-4δsinθd5: -δ(sinθ-cosθ)-4δsinθ

d6: -δ(sinθ-cosθ)-5δsinθd6: -δ(sinθ-cosθ)-5δsinθ

d7: -δ(sinθ-cosθ)-6δsinθd7: -δ(sinθ-cosθ)-6δsinθ

d8: -δ(sinθ-cosθ)-7δsinθd8: -δ(sinθ-cosθ)-7δsinθ

Die Abstandszunahine oder -abnahme in Tabelle 1 kann leicht im voraus berechnet werden, wenn θ bestimmt wird. Somit ist keine trigonometrische Berechnung für jeden Pixel notwendig.The distance increase or decrease in Table 1 can be easily calculated in advance if θ is determined. Thus, no trigonometric calculation is necessary for each pixel.

Claims (3)

1. Verfahren zum Erkennen einer Konfiguration, die pixelweise in einer Bildverarbeitungseinrichtung gespeichert ist, wobei das Verfahren das Erzeugen von Chain-Code-Zug-Segmenten zum Beschreiben einer CHB der Konfiguration umfaßt und die Erzeugung folgender Schritte aufweist:1. A method for recognizing a configuration stored pixel by pixel in an image processing device, the method comprising generating chain code train segments for describing a CHB of the configuration and comprising the generation of the following steps: Bestimmen von Extremalpixeln der Konfiguration, welche auf der CHB liegen;Determining extremal pixels of the configuration which lie on the CHB; Berechnen gerader Linien zwischen benachbarten Extremalpixeln;Calculating straight lines between neighboring extremal pixels; Annähern jeder geraden Linie durch eine Linie, die durch ein Chain-Code-Zug-Segment definiert ist, wobei die Linie der geraden Linie so nahe wie möglich folgt, jedoch nie aus dem Bereich zwischen der geraden Linie und der Konfiguration fällt, dadurch gekennzeichnet, dar die Auswahl eines jeden einzelnen Chain- Code-Elements eines Chain-Code-Zugabschnitts dadurch erreicht wird, daß der Abstand zwischen der entsprechenden geraden Linie und dem Top-Punkt der Linie, wie er durch das letzte Chain- Code-Element der Elemente des Chain-Code-Zugabschnitts, die bereits ausgewählt wurden, definiert ist, berechnet wird und in dem das nächste Chain-Code-Element unter dem Kriterium der Minimierung des Abstandes gewählt wird.approximating each straight line by a line defined by a chain code train segment, the line following the straight line as closely as possible but never falling outside the area between the straight line and the configuration, characterized in that the selection of each individual chain code element of a chain code train segment is achieved by calculating the distance between the corresponding straight line and the top point of the line as defined by the last chain code element of the elements of the chain code train segment that have already been selected, and by choosing the next chain code element under the criterion of minimizing the distance. 2. Verf ahren nach Anspruch 1, wobei das Abstands-Inkrement oder Dekrement, das durch jedes unterschiedliche Chain-Code-Element bewirkt wird, berechnet wird, noch bevor der Chain-Code- Zugabschnitt erzeugt wird.2. The method of claim 1, wherein the distance increment or decrement caused by each different chain code element is calculated before the chain code train section is generated. 3. Verfahren nach Anspruch 1 oder 2, wobei das Berechnen die Berechnung des Neigungswinkels der geraden Linie mit einschließt.3. The method of claim 1 or 2, wherein the calculating includes calculating the inclination angle of the straight line.
DE1989624910 1989-01-30 1989-01-30 Image processing. Expired - Lifetime DE68924910T2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP89101572A EP0380721B1 (en) 1989-01-25 1989-01-30 Image processing method

Publications (2)

Publication Number Publication Date
DE68924910D1 DE68924910D1 (en) 1996-01-04
DE68924910T2 true DE68924910T2 (en) 1996-04-18

Family

ID=8200923

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1989624910 Expired - Lifetime DE68924910T2 (en) 1989-01-30 1989-01-30 Image processing.

Country Status (1)

Country Link
DE (1) DE68924910T2 (en)

Also Published As

Publication number Publication date
DE68924910D1 (en) 1996-01-04

Similar Documents

Publication Publication Date Title
DE69715076T2 (en) Device for generating a binary image
DE68923650T2 (en) Image processing.
DE3881392T2 (en) System and method for automatic segmentation.
DE3689416T2 (en) Pattern feature extraction.
DE69620125T2 (en) Device for image processing of fingerprints
DE3716787C2 (en)
DE69433492T2 (en) Method and device for decoding bar codes by independent analysis of bars and spaces
DE2953600C2 (en) Typesetting device for the automatic generation of characters
DE3851173T2 (en) Method and device for recognizing halftone image patterns.
DE69721941T2 (en) Device and method for extracting patterns
DE3425449A1 (en) METHOD AND DEVICE FOR ALPHANUMERIC HANDWRITING RECOGNITION
DE69105619T3 (en) Adjustment procedure for optical axes of vehicle headlights.
DE69023787T2 (en) Target location on a target.
DE69129064T2 (en) Local binary division methods of numerical images by determining the threshold value
DE69708365T2 (en) Character recognition method
DE2432129A1 (en) METHOD AND DEVICE FOR RECOGNIZING CHARACTERS, NAMED BY NUMBERS
DE69813931T2 (en) Filtering method for focusing images
DE69627424T2 (en) Image processing method and device
EP0301384B1 (en) Circuit arrangement for processing slanting, in particular hand-written characters
DE69029429T2 (en) Binary image reduction process
DE69421487T2 (en) Methods of comparing patterns based on the use of picture element matrices and picture element vectors
DE2064602A1 (en) Procedure and arrangement for character separation in machine character recognition
DE3854216T2 (en) Image processing device and method.
DE3328308A1 (en) INPUT METHOD FOR GRAPHIC PATTERN DATA
DE69514735T2 (en) METHOD AND DEVICE FOR IDENTIFYING THE ORIENTATION OF A POINT MATRIX CODE ON AN OBJECT

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: YOZAN INC., TOKIO/TOKYO, JP SHARP CORP., OSAKA, JP

8327 Change in the person/name/address of the patent owner

Owner name: YOZAN, INC., TOKIO/TOKYO, JP SHARP CORP., OSAKA, J