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
Links
- 238000000034 method Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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)
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) |
-
1989
- 1989-01-30 DE DE1989624910 patent/DE68924910T2/en not_active Expired - Lifetime
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 |