[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPS6174077A - Segment pattern preparing system - Google Patents

Segment pattern preparing system

Info

Publication number
JPS6174077A
JPS6174077A JP59194621A JP19462184A JPS6174077A JP S6174077 A JPS6174077 A JP S6174077A JP 59194621 A JP59194621 A JP 59194621A JP 19462184 A JP19462184 A JP 19462184A JP S6174077 A JPS6174077 A JP S6174077A
Authority
JP
Japan
Prior art keywords
line segment
segment pattern
point
pattern
memory
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.)
Granted
Application number
JP59194621A
Other languages
Japanese (ja)
Other versions
JPH0312348B2 (en
Inventor
Kenji Suzuki
健司 鈴木
Seiji Hata
清治 秦
Yukiro Tsuji
辻 征郎
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59194621A priority Critical patent/JPS6174077A/en
Publication of JPS6174077A publication Critical patent/JPS6174077A/en
Publication of JPH0312348B2 publication Critical patent/JPH0312348B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

PURPOSE:To compress segment pattern data which becomes necessary in a high speed polygonal approximation by expressing a segment pattern as the system of the direction of travel in respective outline points. CONSTITUTION:Four rotating symmetrical segment patterns of upward and downward and right and left are represented and expressed by one segment pattern and stored in a segment pattern memory 115. When the direction of the first crossover point of the segment pattern is limited to the right and collated with an actual point row, the later direction of travel is reversed when the first crossover point of the point row is the left. Further, by sharing the data of the part in common between different segment patterns as a whole, namely, the partial row of the direction of travel, a necessary data quantity is decreased and is stored in the segment pattern memory 115.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、画像処理による部品認識装置に用いられる線
分パターン作成方式に係り、特にディジタル画像上にお
いて所定の接続関係を有する輪郭画素列(輪郭点列)を
線分で近似する処理を高速で実行するのに好適な線分パ
ターン作成方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a line segment pattern creation method used in a component recognition device using image processing. The present invention relates to a line segment pattern creation method suitable for performing a process of approximating a sequence of points) with line segments at high speed.

〔発明の背景〕[Background of the invention]

従来、画像処理の高速性、柔軟性のために部品パターン
を多角形近似して部品認識を行うことが提案されている
。この際に、すべての線分パターンを記憶しておき、部
品の輪郭点列をこれと照合することにより多角形の辺を
高速に抽出することが行われている。これについては、
例えば、昭和58年6月10日発行の昭和58年電気学
会全国大会講演論文集〔13〕、論文番号1340に「
線分化パターンマツチングによる部詳述されている。
Conventionally, it has been proposed to perform component recognition by approximating a component pattern into a polygon for the purpose of high-speed and flexible image processing. At this time, all line segment patterns are stored and the sides of the polygon are extracted at high speed by comparing the contour point sequence of the part with this. Regarding this,
For example, in the Proceedings of the National Conference of the Institute of Electrical Engineers of Japan, published on June 10, 1988 [13], paper number 1340, it says:
The part based on line segmentation pattern matching is explained in detail.

しかし、このような従来の方法では、線分化処理で用い
る線分パターンデータは、ある長さ以内の直線パターン
をすべて含むため、メモリサイズが大きくなり、装置の
小型化並びに経済化の点で問題であった。
However, in such conventional methods, the line segment pattern data used in line segmentation processing includes all straight line patterns within a certain length, resulting in a large memory size, which poses a problem in terms of downsizing and economical equipment. Met.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、上記した従来の問題点を解決し、高速
多角形近似において必要となる線分パターンデータを圧
縮し、づ\規模な画像処理装置でも実行を可能とする線
分パターン作成方式を提供することにある。
The purpose of the present invention is to solve the above-mentioned conventional problems, compress line segment pattern data necessary for high-speed polygon approximation, and provide a line segment pattern creation method that can be executed even by a small-scale image processing device. Our goal is to provide the following.

〔発明の概要〕[Summary of the invention]

本発明では、線分パターンを、各輪郭点における進行方
向の系列として表現することで、パターンデータの圧縮
をはかるものである。すなわち、画像は2次元マトリッ
クスなので、線分パターンをすべて作成すると、4連結
の場合、上下左右の4本1組で回転対称となっている。
In the present invention, pattern data is compressed by expressing a line segment pattern as a series of advancing directions at each contour point. That is, since the image is a two-dimensional matrix, when all line segment patterns are created, in the case of 4-connection, each set of 4 lines on the top, bottom, left and right is rotationally symmetrical.

多角ノビ近似の場合、線分の方向は問題でなく、形状の
みが問題となる。従って、この4本は区別する必要が無
い。そこで、進行方向を各輪郭点における方向に対して
次の点へ向う時の左折、前進、右折の相対的な方向で表
わすと、対称な4つの線分パターンは同一の系列で表現
されるため、データが4分の1に圧縮される。
In the case of polygonal nobby approximation, the direction of the line segment does not matter; only the shape matters. Therefore, there is no need to distinguish between these four lines. Therefore, if the direction of travel is expressed as the relative direction of left turn, forward movement, and right turn when heading to the next point with respect to the direction at each contour point, the four symmetrical line segment patterns are expressed in the same series. , the data is compressed by a factor of four.

更に、線分パターンは2本1組で軸対称となっている。Furthermore, the line segment patterns are axially symmetrical in pairs.

これを進行方向系列として1、見ると、対応する各点に
おいて左右を逆転したものになっている。そこで、本発
明では、いずれか片方のみを保持し、最初の折れ点での
進行方向に従って、必要な時は以後の進行方向を左右逆
転することで、2つの線分パターンの形状を1つ分のデ
ータで表現するようにしたものである。
If we look at this as a traveling direction series, the left and right sides are reversed at each corresponding point. Therefore, in the present invention, by holding only one of the two line segment patterns and reversing the subsequent direction of movement from side to side according to the direction of movement at the first bending point, the shape of the two line segment patterns is divided into one part. The data is expressed as follows.

また、複数の線分パターンがある時、その形状は全体と
して異なっても、部分的に共通することがある。そこで
、本発明では、この共通部分のデータを共有することに
よりデータを削減し、必要なメモリサイズを縮小するよ
うにしたものである。
Further, when there are multiple line segment patterns, even if their shapes are different as a whole, they may be partially common. Therefore, in the present invention, by sharing the data of this common portion, the data is reduced and the required memory size is reduced.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の実施例を図に従って詳細に説明する。 Embodiments of the present invention will be described in detail below with reference to the drawings.

第1図は、本発明に係る画像処理装置の一実施例を示す
ブロック図である。
FIG. 1 is a block diagram showing an embodiment of an image processing apparatus according to the present invention.

ここで、100は、以下に述べる各部に対して所要の処
理の流れを制御する制御部である。
Here, 100 is a control unit that controls the flow of required processing for each unit described below.

101〜104は、前処理に係るもので、101は、入
力制御部、102は、画像メモIJ、103は、前処理
部、104は、領域情報メモリである。105と106
は、輪郭抽出処理に係るもので、105は、輪郭抽出部
、106は、輪郭メモリである。107〜109は、線
分化処理に係るもので、107は、線分化処理部、11
5は、線分パターンメモリ、108は、線分化情報メモ
IJ、109は、辞書ノぜターンメモリである。110
と111は、領域特徴抽出処理に係るもので、110は
、領域特徴抽出部、111は、領域特徴メモリである。
101 to 104 are related to preprocessing; 101 is an input control unit; 102 is an image memo IJ; 103 is a preprocessing unit; and 104 is an area information memory. 105 and 106
1 is related to contour extraction processing, 105 is a contour extraction unit, and 106 is a contour memory. 107 to 109 are related to line differentiation processing, 107 is a line differentiation processing unit, 11
5 is a line segment pattern memory, 108 is a line segment information memo IJ, and 109 is a dictionary nozzle memory. 110
and 111 are related to region feature extraction processing, 110 is a region feature extraction unit, and 111 is a region feature memory.

112〜114は、パターンマツチング処理に係るもの
で、112は共通領域抽出部、115は、共通領域メモ
IJ、114は、認識処理部である。なお、かかる画像
処理装置ゴは、プロセッサとメモリとインタフェース回
路などのハード回路により構成されるものである。
Reference numerals 112 to 114 relate to pattern matching processing, 112 is a common area extraction unit, 115 is a common area memo IJ, and 114 is a recognition processing unit. Note that such an image processing apparatus is composed of a processor, a memory, and hard circuits such as an interface circuit.

まず、図示されてないテレビカメラより入力された画像
データは、入力制御部101でデイジタル化および所定
の閾値で2値化された後、濃淡画像データ、2値画像デ
ータとして画像メモリ102に入力・記憶される。
First, image data input from a television camera (not shown) is digitized by the input control unit 101 and binarized using a predetermined threshold, and then input to the image memory 102 as grayscale image data and binary image data. be remembered.

画像メモリ102に記憶された画像データは、はじめに
前処理部103によって画像上のどの領域を対象物体領
域とするかが決定された後、その領域の代表点の位置情
報が領域情報メモ1月04にg己1.・力される。
The image data stored in the image memory 102 is first determined by the preprocessing unit 103 which area on the image is to be the target object area, and then the position information of the representative point of that area is stored in the area information memo January 4 Ni g self 1.・Being forced.

次に、輪郭抽出部105は、上記の代表点の位置情報に
基づいて探索始点を決定し、画像上の指定儒域の輪郭画
素を順次に探索し、例えば、その中心座標値を輪郭メモ
リ106に記憶させる。
Next, the contour extracting unit 105 determines a search starting point based on the position information of the representative point, sequentially searches for contour pixels in the specified region on the image, and stores the central coordinate value in the contour memory 105. to be memorized.

その中心座標値により、線分化処理部107は、輪郭画
素の中心を表わす点列を1点ずつたどりながら、線分パ
ターンメモリ115にあらかじめ設定されている線分パ
ターンデータと照合して線分に近似し、その線分の端点
、すなわち、その領域を多角形近似した当該各頂点座標
を順次に線分化情報メモリ10日に記憶させる。その線
分化情報は、辞書パターンの登録時には、辞書パターン
メモリ109へ移される。
Based on the center coordinate values, the line segmentation processing unit 107 traces the line of points representing the center of the contour pixel point by point, and compares it with the line segment pattern data preset in the line segment pattern memory 115 to form a line segment. The coordinates of the end points of the line segment, that is, the coordinates of each vertex obtained by polygonally approximating the area, are sequentially stored in the line segmentation information memory 10 days. The line division information is transferred to the dictionary pattern memory 109 when registering the dictionary pattern.

また、領域特徴抽出部110は、指定領域の特徴(例え
ば面積、重心、慣性主軸、最大長、周囲長等)を線分化
情報メモリ108の内容から求め、領域特徴メモリ11
1に記憶させる。辞書パターン登録時には、その特徴情
報は辞書パターンメモリ109に記憶される。
Further, the region feature extraction unit 110 obtains features of the designated region (for example, area, center of gravity, principal axis of inertia, maximum length, perimeter, etc.) from the contents of the line segmentation information memory 108, and
Store it in 1. When registering a dictionary pattern, its characteristic information is stored in the dictionary pattern memory 109.

更に、共通領域抽出部112は、現時点で入力されたパ
ターン(線分化情報メモリ10已に格納されているもの
)と辞書パターン(辞書パターンメモリ109に格納さ
れているもの)とを、両方の特徴が一致するように(例
えば、重心m漂が一致するように、または慣性主軸方向
が一致するように等)、入カバターン側の座標変換をし
た後、両パターンの共通領域(種図形)を同様に頂点列
として求め、共通領域メモリ115に記録する。
Furthermore, the common area extracting unit 112 extracts the currently input pattern (stored in the line segmentation information memory 10) and the dictionary pattern (stored in the dictionary pattern memory 109) based on the characteristics of both. After converting the coordinates on the input cover turn side so that they match (for example, so that the centers of gravity match or the directions of the principal axes of inertia match), the common area (seed shape) of both patterns is converted in the same way. is obtained as a vertex sequence and recorded in the common area memory 115.

最後に、認識処理部114は、共通領域(種図形)の面
積を算出し、これと辞書パターンまたは入カバターンの
面積との比率を求め、その値が所定値以上になった場合
、両パターンは一致しているものと判定して、認識結果
を出力する。
Finally, the recognition processing unit 114 calculates the area of the common area (seed figure), calculates the ratio of this to the area of the dictionary pattern or the input pattern, and if the value exceeds a predetermined value, both patterns are It is determined that there is a match and the recognition result is output.

もし、両パターンが一致せず、しかも辞書パターンが複
数あるときは、第2.第6の辞書パターンとのマツチン
グ処理を同様に繰り返す。なお、認識処理部114では
、一致した両パターンの変換前の相対位置から入カバタ
ーンの位置、姿勢情報も出力する。
If the two patterns do not match and there are multiple dictionary patterns, the second. The matching process with the sixth dictionary pattern is repeated in the same way. Note that the recognition processing unit 114 also outputs the position and orientation information of the input pattern based on the relative positions of both matched patterns before conversion.

上記の一連の画像処理において、本発明の要部となる、
線分パターンメモリ115で用いられる線分パターンの
作成方法とそれを用いた処理について、次に説明する。
In the above series of image processing, the main part of the present invention is
Next, a method of creating a line segment pattern used in the line segment pattern memory 115 and processing using the same will be described.

線分化処理部107で実行される多角形近似は、対象と
する画像領域の輪郭を追跡し、連続する輪郭点列を直線
と見なせる時、その両端点を多角形の頂点とする処理で
ある。
The polygonal approximation performed by the line segmentation processing unit 107 is a process in which the outline of the target image area is traced, and when a series of continuous outline points can be regarded as a straight line, both end points thereof are set as the vertices of the polygon.

輪郭線の考え方には、第2・図に示すように輪郭画素の
中心を輪郭線とする考え方(A)、(B)と、領域1緊
とf景画素の境界線を輪郭線とする考え方(0) 、 
(D)の2通りがあり、更に、連続する輪郭点の隣接状
態には、縦横の瞬接だけを考える4連結(B) t (
D)と、斜めの降接も考慮にいれる8連結(A) 、 
(CI)の2通りがある。従って、輪郭線の追跡には(
A)〜(D)の計4通りの方法がある。但しこのうち境
界8連結(0)は、画素の値と一意に対応しないため意
味が無い。
As shown in Figure 2, there are two ways of thinking about contour lines: (A) and (B) that the center of the contour pixel is the contour line, and the other way of thinking that the boundary line between the area 1 and f-view pixels is the contour line. (0),
There are two ways (D), and in addition, for the adjacent state of continuous contour points, there is a 4-connection (B) t (
D), and 8-connection (A) that also takes into account diagonal descent,
There are two ways (CI). Therefore, for contour tracing (
There are a total of four methods: A) to (D). However, among these, the boundary 8 connection (0) is meaningless because it does not uniquely correspond to the pixel value.

各々の場合、追跡の方向には、第2図(−) 、 (4
5G6.)、 (i)に示すような可能性がある。以後
は境界4連結(D)で輪郭線を追跡する場合について説
明する。
In each case, the direction of tracking includes (-), (4
5G6. ), there are possibilities as shown in (i). Hereinafter, a case will be described in which a contour line is traced using boundary 4 connection (D).

輪郭点列の例を第3図に示す。各輪郭点は図中矢印で示
すように固有の進行方向を持っており、輪郭線の形状は
、この進行方向の列で表わされる。長さに制限を加える
と、ある条件のもとて線分と見なされる点列は、有限個
数の進行方向列となる。線分と見なす条件は、例えば、
中心線からの距離の許容最大値を定め、すべての点がこ
れを満足する点列を線分とする、などが用いられる。線
分パターンの個数、長さが有限なので、すべての線分パ
ターンを、人工的に作ることができる。
An example of a contour point sequence is shown in FIG. Each contour point has its own direction of movement, as indicated by the arrow in the figure, and the shape of the contour line is represented by a column of this direction of movement. If a restriction is placed on the length, the sequence of points that can be considered as a line segment under certain conditions becomes a finite number of sequences in the direction of travel. The conditions for considering it as a line segment are, for example,
For example, a method is used in which a maximum permissible distance from the center line is determined, and a line segment is defined as a sequence of points where all points satisfy this value. Since the number and length of line segment patterns are finite, all line segment patterns can be created artificially.

線分パターンの表現形式、およびこれを用いた多角形近
似の例を第4図に示す。
FIG. 4 shows an example of a representation format of a line segment pattern and polygon approximation using the same.

M分パターンは、第4図(4)に示すように、3XrL
の2次元配列で表わされ、これがパターンデータとして
メモリ115に記憶される。配列の第2添字値は、点列
で表わされる線分パターン上のrL個の点に対応し、第
1添字値は各点における3つの進行方向、すなわち、左
折、直進、右折に対応する。配列要素の内容は、ある点
において進行方向が決まった時、その方向に進んだ時の
次の点の番号、即ちポインタである。例えば、始点″0
′において進行方向が右折と決まったとき、その方向に
進んだときの次の点の番号が187“として示される。
The M minute pattern is 3XrL, as shown in Figure 4 (4).
This is stored in the memory 115 as pattern data. The second subscript value of the array corresponds to rL points on the line segment pattern represented by a sequence of points, and the first subscript value corresponds to the three directions of travel at each point, that is, turn left, go straight, and turn right. The contents of the array element are the number, ie, the pointer, of the next point when the direction of movement is determined at a certain point. For example, starting point "0"
When the direction of travel is determined to be a right turn at ', the number of the next point when traveling in that direction is indicated as 187''.

但し、点列は直線とみなし得るものであるという制約が
あるために、各点において3つの進行方向がすべて許さ
れるとは限らない。禁止方向に対応する要素にはエンド
マークENDが記入されており、輪郭線の追跡中にこれ
を検出した時は、検出した点を線分の終了点と見なし、
これを多角形の頂点として登録する。第4図<h>にお
いては、線分の始点Sにおいて線分パターンの始点゛0
′から追跡を始め、点EでエンドマークE N Dを検
出してこの点′333”を多角形の頂点とし、線分パタ
ーンのポインタを始点10″にもどして新しい線分の追
跡を始める。図中、各点の番号は線分パターンの点番号
である。
However, since there is a restriction that the point sequence can be regarded as a straight line, all three traveling directions are not always allowed at each point. An end mark END is written in the element corresponding to the prohibited direction, and when this is detected while tracing the contour, the detected point is regarded as the end point of the line segment.
Register this as the vertex of the polygon. In Fig. 4<h>, the starting point of the line segment pattern is ゛0 at the starting point S of the line segment.
Tracing is started from ', end mark E ND is detected at point E, this point '333'' is set as the vertex of the polygon, the pointer of the line segment pattern is returned to the starting point 10'', and tracing of a new line segment is started. In the figure, the number of each point is the point number of the line segment pattern.

次に、この線分パターンを用いた多角形近似の手順を第
5図を用いて第4図を例にとり説明する。多角形近似は
、輪郭点を1点ずつ追跡しながら、同時に線分パターン
を各点での進行方向に従ってポインタを選択して追跡す
る。まず、追跡開始点、例えば、第4図体)の3点、を
多角形の第1頂点として登録し、線分パターンのポイン
タを′0“にして初期設定する(ステップ501 )。
Next, the procedure of polygon approximation using this line segment pattern will be explained using FIG. 5 and taking FIG. 4 as an example. In polygonal approximation, contour points are traced one by one, and at the same time, a line segment pattern is traced by selecting a pointer according to the direction of movement at each point. First, the tracing start points (for example, the three points in the fourth figure) are registered as the first vertices of the polygon, and the line segment pattern pointer is initialized to ``0'' (step 501).

以後、ステップ501〜507の処理をくり返す。Thereafter, the processes of steps 501 to 507 are repeated.

まず、追跡開始点Sにおける進行方向を決定する(ステ
ップ502)。ここで、進行方向の決定方法について第
3図を用いて説明する。第3図において、画素Aが部品
領域に含まれているとする。
First, the traveling direction at the tracking start point S is determined (step 502). Here, a method for determining the traveling direction will be explained using FIG. 3. In FIG. 3, it is assumed that pixel A is included in the component area.

まず、画素Bが部品領域に含まれているかどうか調べ、
含まれていない時は、進行方向は右折とする。次に、画
素Bが部品領域に含まれているD)どうか調べ、含まれ
ていない時進行方向を前進、含まれている時は左折とす
る。画素が部品領域に含まれているか否かの判定は、様
々な方法があり、例えば2値画像ならば、輪郭メモ1J
106から読み出した値が 1′か 0 かで判定でき
る。
First, check whether pixel B is included in the component area,
If not included, the direction of travel will be a right turn. Next, it is checked whether the pixel B is included in the component area (D), and if the pixel B is not included, the moving direction is set to move forward, and if it is included, the moving direction is set to turn left. There are various methods to determine whether a pixel is included in the component area. For example, if it is a binary image, outline memo 1J
It can be determined whether the value read from 106 is 1' or 0.

次に、線分パターンのポインタの指すスロットを参照し
、進行方向に従って、次のポインタを選択する。(ステ
ップ503)。例えば、第4図の場合、ホ′インタ゛0
“のエリアを参照し、この場合、進行方向が第4i(、
!))に示すように右折であるので、次、のポインタ′
187“を選択する。
Next, the slot pointed to by the pointer of the line segment pattern is referred to, and the next pointer is selected according to the direction of movement. (Step 503). For example, in the case of FIG.
In this case, the traveling direction is the 4th area (,
! )) is a right turn, so the pointer of ′
Select “187”.

そして、もし次のポインタがエンドマークE NDなら
ば(ステップ504)、その時点の輪郭点を多角形の頂
点として新たに線分化情報メモリ108に登録し、ホ゛
イン々を 05にもどす(ステップ505)。
If the next pointer is the end mark END (step 504), the contour point at that point is newly registered in the line division information memory 108 as the vertex of the polygon, and the points are returned to 05 (step 505). .

次に、進行方向に従って、次の輪郭点に進み(ステップ
506)、終了条件、例えば輪郭線を1周して追跡開始
点Sにもどったかどうかをチェックしくステップ507
)、終了条件が満たされるまでステップ502からステ
ップ507までをくり返す。
Next, proceed to the next contour point according to the traveling direction (step 506), and check the end condition, for example, whether or not the contour has been circled once and returned to the tracking start point S.Step 507
), steps 502 to 507 are repeated until the termination condition is satisfied.

例えば、第4図()υの輪郭線を第4図(cL)の線分
パターンデータに従って追跡する場合、ポインタ10′
からスタートし、進行方向(右折)に従って、次のポイ
ンタ゛187′に進む。しかる後、次の輪郭追跡に移り
、進行方向(直進)を決定し、ポインタ゛315′を選
択する。以後、同様に追跡を行ない、エンドマークEi
NDを示すポインタを検出すると、そのときのポインタ
 353を頂点として登録する。そして、このときの座
標位置を始点の座標をもとに算出してメモリ108に記
憶する。
For example, when tracing the contour line of FIG. 4()υ according to the line segment pattern data of FIG. 4(cL), pointer 10'
It starts from , and advances to the next pointer 187' according to the direction of travel (right turn). Thereafter, the process moves to the next contour tracing, determines the traveling direction (straight ahead), and selects the pointer 315'. After that, tracking is performed in the same way, and the end mark Ei
When a pointer indicating ND is detected, the pointer 353 at that time is registered as the vertex. Then, the coordinate position at this time is calculated based on the coordinate of the starting point and stored in the memory 108.

但し、第4図(−)に示すように、線分パターンは軸対
称の2本1対のうち、最初の折点が右折(または左折)
に限られた片方しか無いため、このループの中でフラグ
を保持し、輪郭点列上で最初の折点が出現した以後、そ
の折点が左折(右折)だった時には、線分パターンの左
右を逆転して使用する。
However, as shown in Figure 4 (-), the first bending point of a pair of axially symmetric line segments is a right turn (or left turn).
Since there is only one side of the line segment pattern, the flag is held in this loop, and after the first break point appears on the contour point sequence, when that break point is a left turn (right turn), the left and right sides of the line segment pattern are Use it in reverse.

第4図(−)に示すような線分パターンは定数データで
あるため、オフラインで作成しておき、後でプログラム
とともにロードすることができる。従って、作成の際は
高速処理を行なう必要がない。また、線分パターンの内
容は、多角形近似の処理手順に関係無いため、様々な直
線判定基準により作った線分パターンを入れかえること
により、多角形近似の粗さの調節などの操作ヲ、プログ
ラムやハードウェアを変更すること無く、容易に行なう
ことができる。
Since the line segment pattern shown in FIG. 4 (-) is constant data, it can be created offline and later loaded with the program. Therefore, there is no need to perform high-speed processing during creation. In addition, since the contents of the line segment pattern are not related to the processing procedure of polygon approximation, by replacing line segment patterns created using various straight line criteria, operations such as adjusting the roughness of polygon approximation can be easily performed using the program. This can be easily done without changing the hardware or hardware.

次に、第4図(a)に示すような線分パターンの作成手
順を説明する。線分パターンは3xnの配列で表わされ
る。第2添字は線分パターン上の各点に対応し、第1添
字は各点における進行方向に対応する。内容は、各点に
おいて進行方向が決まった時に、次の点を示すポインタ
、またはエンドマークENDである。従って線分パター
ンは、直線であるという条件のもとに各点において許さ
れる進行方向を記入したスロットの集合である。
Next, a procedure for creating a line segment pattern as shown in FIG. 4(a) will be explained. The line segment pattern is represented by a 3xn array. The second subscript corresponds to each point on the line segment pattern, and the first subscript corresponds to the direction of movement at each point. The content is a pointer or end mark END that indicates the next point when the direction of travel is determined at each point. Therefore, a line segment pattern is a set of slots in which the allowed traveling directions at each point are written on the condition that the line is a straight line.

線分パターンを作成するには、線分パターン上の各点に
おいて、3つの進行方向に従って、新しい点を追加し、
これを加えた点列が直線か否かを判定する。直線でなけ
ればエンドマークを、直線であれば追加した新しい点に
相当する新しいスロットを作り、その番号をポイントと
して書込み、新しい点について同様の処理を繰り返す。
To create a line pattern, at each point on the line pattern, add new points according to the three directions of progression,
It is determined whether the point sequence obtained by adding this is a straight line. If it is not a straight line, create an end mark, if it is a straight line, create a new slot corresponding to the added new point, write that number as a point, and repeat the same process for the new point.

以上を線分の長さが許容値に達するまで続ける。この基
本的手順は、状態・空間探索法における縦形法として知
られている方法を用いることができる。(この方法につ
いては、例えば、昭和48年4月15旧コロナ社発行の
「人工知能」の53〜56頁に記述されている。)以上
が線分パターン作成の基本的な考え方である。
Continue the above steps until the line segment length reaches the allowable value. For this basic procedure, a method known as the vertical method in the state/space search method can be used. (This method is described, for example, on pages 53 to 56 of "Artificial Intelligence" published by Corona Publishing on April 15, 1970.) The above is the basic idea of creating a line segment pattern.

以下第6図を用いて、処理の流れを順を追って説明する
The flow of processing will be explained step by step using FIG. 6 below.

線分パターンを配列Tで表わす。線分パターンがどこま
で使用されているかを示すカウンタをCとする。また、
軸対称パターンの圧縮のために、点列がすでに右か左に
折れたか、直進のみを続けているかをオン/オフで示す
フラグを設け、最初に折れる方向を片方に制限すること
により、軸対称パターンを片方だけしか作らず、データ
を半分に圧縮する。
The line segment pattern is represented by an array T. Let C be a counter that indicates how far a line segment pattern is used. Also,
In order to compress axially symmetrical patterns, a flag is set to indicate whether the point sequence has already bent to the right or left, or whether it continues to move straight ahead, and this flag is set to indicate whether the point sequence has already bent to the right or left, or whether it continues to move straight. Create only one pattern and compress the data in half.

まず、第6図(α)に示すように、点列とカウンタの初
期設定をする。点列は、最初の2点を例えば(010)
と(1,0)に固定する。これにより、線分パターンは
4つの回転対称パターンのうち1通りに限定され、デー
タが圧縮される。フラグはオフにしておく。またカウン
タは0クリヤしておく。
First, as shown in FIG. 6 (α), the point sequence and counter are initialized. For example, the first two points of the point sequence are (010)
and fixed at (1,0). As a result, the line segment pattern is limited to one of the four rotationally symmetric patterns, and the data is compressed. Leave the flag turned off. Also, clear the counter to 0.

次に、点(11O)、線分パターン第0スロツトに対し
、3つの進行方向(左折、直庖、右折)に点列を延長し
て直線判定を行なう点列延長処理(ステップ602)を
行なう。点列延長処理の中には更に次の点列延長処理が
含まれており、許容長さに達するまで次々に延長が繰り
返される。点列延長処理の詳細を第6図ωンに従って説
明する。なお、この第6図体)は第6図(eL)のステ
ップ602のサブルーチンを示す図である。
Next, for the point (11O) and the 0th slot of the line segment pattern, a point string extension process (step 602) is performed to extend the point string in three directions of travel (left turn, straight turn, right turn) to determine a straight line. . The point sequence extension process further includes the next point sequence extension process, and the extension is repeated one after another until the permissible length is reached. Details of the point sequence extension process will be explained with reference to FIG. Note that this figure 6) is a diagram showing the subroutine of step 602 in FIG. 6(eL).

まず、第6図(8の如く、処理対称となる点をPで指定
する。このポインタPは点列延長処理内部のローカルな
変数で、点列延長処理先頭でのOの値に固定する(ステ
ップ611)。0の値自身は処理中に変化してしまう。
First, as shown in Figure 6 (8), the point to be processed is specified by P. This pointer P is a local variable within the point sequence extension process, and is fixed to the value of O at the beginning of the point sequence extension process ( Step 611).The value of 0 itself changes during processing.

次に、カウンタと点列長をインクリメントしくステップ
612゜613)、進行方向を左折と仮定して新しい点
を追加する。すなわち、ポインタ記入処理(ステップ6
14)を行なう。このポインタ記入処理は第6図(G)
に示すように、フラグがオンの場合のみポインタ記入処
理を行ない(ステップ621〜625)、オフならばエ
ンドマークENDを記入する(ステップ627)。これ
により、最初の折点方向を右に限定している。次に進行
方向を直進として、今度はフラグに関係無くポインタ記
入処理を行なう(ステップ615)。次に進行方向を右
折とし、新しい点を加え、フラグをオンにしてポインタ
記入処理を行なう(ステップ616)。即ち、一度でも
右折した後は77−グはオンとなる。
Next, the counter and point sequence length are incremented in steps 612 and 613), and a new point is added assuming that the direction of travel is a left turn. That is, pointer entry processing (step 6
14). This pointer entry process is shown in Figure 6 (G).
As shown in FIG. 3, pointer entry processing is performed only when the flag is on (steps 621 to 625), and when it is off, an end mark END is written (step 627). This limits the direction of the first bending point to the right. Next, the traveling direction is set to go straight, and pointer entry processing is performed this time regardless of the flag (step 615). Next, the direction of travel is set to right, a new point is added, the flag is turned on, and pointer entry processing is performed (step 616). That is, after turning right even once, the 77-g is turned on.

次に、第6図(4)の各ポインタ記入処理について第6
図(G)に従って詳細に説明する。この第6図(0)は
第6図体)のステップ614 、615 、616夫々
のサブルーチンを示す図である。まず、点列延長を行な
い(ステップ622)、その点列の長さが許容値をこえ
たかを判定する(ステップ625)。この結果、こえて
いればエンドマークの記入を行ない(ステップ627)
、こえていなければ、析しい点を加えた点列が直線か否
かを判定する(ステップ625)。直線でなければエン
ドマークを書込む(ステップ627)。判定基準は必要
に応じて何でも良い。例えば最小2乗法により点列の中
心線を引き、これから各点までの距潴に最大許容値を設
けるなどの方法が用いられる。直線であった場合は、カ
ウンタQをインクリメントして新しいスロットを作り、
このカウンタ値をポインタとして記入しくステップ62
5 ) 、この新しい点について、第6図体)に示した
点列延長処理を行ない、点列の長さをインクリメントす
る(ステップ626 )。このようにして、第4図(4
)に示されるような線分パターンが作成される。すなわ
ち、ポインタ Oからカウンタをインクリメントしてポ
インタ記入処理を行ない、最初の折点が左の場合にはエ
ンドマークを記入し、直進の場合のポインタ記入処理を
許容値まで耽ける。その後、その許容値内で右折、さら
に左折のポインタ記入処理を行なう。
Next, regarding each pointer entry process in Fig. 6 (4),
This will be explained in detail according to figure (G). FIG. 6(0) is a diagram showing the subroutines of steps 614, 615, and 616 in FIG. First, a point sequence is extended (step 622), and it is determined whether the length of the point sequence exceeds an allowable value (step 625). As a result, if it exceeds the limit, an end mark is entered (step 627).
, if not, it is determined whether the point sequence to which the analyzed point is added is a straight line (step 625). If it is not a straight line, an end mark is written (step 627). Any judgment criteria may be used as necessary. For example, a method is used in which the center line of a series of points is drawn using the least squares method, and a maximum allowable value is set for the distance from this to each point. If it is a straight line, increment the counter Q and create a new slot,
Enter this counter value as a pointer.Step 62
5) For this new point, perform the point sequence extension process shown in Figure 6) to increment the length of the point sequence (step 626). In this way, Figure 4 (4
) is created. That is, pointer entry processing is performed by incrementing a counter from pointer O, and if the first turning point is on the left, an end mark is written, and pointer entry processing for straight travel is continued up to the allowable value. Thereafter, pointer entry processing for a right turn and then a left turn is performed within the allowable value.

こうしてできた線分パターンは、一定の基準のもとて直
線と見なされ乙点列をすべて含み、なおかつ同一形状の
点列を2重に含むことは無いが、部分的に見ると第7図
(α)、(扮に示すように同一形状の部分OとDがある
。この同一形状の部分が線分の終点を含む時、その部分
に和尚する点列データは、等価なデータが2重に存在す
る事になり、どれか1つで代表して他を消す事によりデ
ータを圧縮できる。
The line segment pattern created in this way is considered to be a straight line based on a certain standard, and includes all of the O point series, and does not include dot series of the same shape twice, but when viewed partially, it is shown in Figure 7. (α), (As shown in the figure, there are parts O and D of the same shape. When this part of the same shape includes the end point of the line segment, the point sequence data attached to that part has double equivalent data. The data can be compressed by representing one of them and erasing the others.

第8図を用いてその手順を説明する。消去されるべき部
分は必ず線分終点、即ち、3方向ともエンドマークの入
ったスロットを含むから、ここから遡って不要部分を消
して行く。
The procedure will be explained using FIG. Since the portion to be erased always includes the end point of the line segment, that is, the slot containing the end mark in all three directions, unnecessary portions are erased going backwards from this point.

まず、第8図(cL)に示すように、線分パターン配列
上をスキャンして、終点を探し、最初の1A1を残して
他のすべてに消去マークを書込む(ステップ801)。
First, as shown in FIG. 8(cL), the line segment pattern array is scanned to find the end point, and erasure marks are written in all but the first 1A1 (step 801).

次に、線分パターン配列上をスキャンして、工を含む点
は1個を残してすべて消去する点列統合処理を行なう(
ステップ802)。
Next, the line segment pattern array is scanned and a point sequence integration process is performed to erase all but one point that includes a structure (
Step 802).

点列統合処理について第8図(k)を用いて詳細に説明
する。まず採漿対象とするポインタJを指定する。そし
て次の採漿対象工をクリヤする(ステップaii)。次
に、線分パターン上を走査し、Jを含む点を探し、最初
のA1を除きすべて消失マークを書込む点列消去処理を
行なう(ステップ812)。次に、A1がもし存在した
ならば(ステップ813)、A1について同様の点列統
合処理を行なう(ステップ814)。
The point sequence integration process will be explained in detail using FIG. 8(k). First, pointer J to be sampled is designated. Then, the next workpiece to be sampled is cleared (step aii). Next, the line segment pattern is scanned, points including J are searched for, and a point sequence erasing process is performed in which erasing marks are written on all points except the first A1 (step 812). Next, if A1 exists (step 813), similar point sequence integration processing is performed for A1 (step 814).

最後に、消去マークの記入されたスロットをすべて消し
て、データをパックして、終了する(ステップ803)
Finally, erase all slots marked with erasure marks, pack the data, and exit (step 803).
.

以上の処理を施すことで、4連結の場合、線分パターン
の表現形式を上下左右の4つの各点における給体的な進
行方向の系列を゛、相対的な進行方向の系列に置き換え
ることができるので、上下左右の4つの回転対称な線分
パターンを1つの線分パターンで代表して表わすことが
でき、線分パターンメモリ115のサイズを4分の1に
圧縮することが可能となる。
By performing the above processing, in the case of 4-connection, it is possible to replace the expression format of the line segment pattern from the series of feeding directions at each of the four points (up, down, left, and right) to the series of relative traveling directions. Therefore, four rotationally symmetrical line segment patterns in the vertical and horizontal directions can be representatively represented by one line segment pattern, and the size of the line segment pattern memory 115 can be compressed to one-fourth.

また、線分パターンの最初の折れ点の方向を右に限定し
、実際の点列と照合する際は、その点列の最初の折点が
左の場合は、以後の進行方向を逆転することにより、線
分パターンメモリ115を半分に圧縮することができる
Also, when limiting the direction of the first breaking point of the line segment pattern to the right and comparing it with the actual point sequence, if the first breaking point of the point sequence is on the left, the subsequent direction of movement must be reversed. Accordingly, the line segment pattern memory 115 can be compressed in half.

さらに、全体として異なる線分パターンの間で共通する
部分のデータ、即ち進行方向の部分列を共有することに
よって必要なデータ量を減らし、線分パターンメモリ1
15を圧縮することができる。
Furthermore, by sharing the data of the common part between different line segment patterns as a whole, that is, the partial sequence in the advancing direction, the amount of data required is reduced, and the line segment pattern memory 1
15 can be compressed.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明によれば、画像処理装置にお
ける多角形近似処理の利点をいかしつつ、要求されるメ
モリサイズを大幅に縮小し、小型、経済化をはかること
ができる。
As described above, according to the present invention, while taking advantage of polygon approximation processing in an image processing device, the required memory size can be significantly reduced, and the image processing device can be made smaller and more economical.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明で使用する画像処理装置の一実施例を示
すブロック図、第2図は多角形近似処理における輪郭線
の追跡方法を説明するための図、第3図は領域輪郭線の
例を示す図、第4図は線分パターンの表現形式と多角形
近似の例を示す図、第5図は多角形近似の手順を示すフ
ローチャート、第6図は線分パターン作成処理の70−
チャート、第7図は共通部分を持つ線分パターンの例を
示す図、第8図は線分パターンの共通部分を取り除くデ
ータ圧縮処理の70−チャートである。 101・・・入力制御部、 102・・・画像メモリ、 103・・・前処理部、 104・・・領域情報メモリ、 105・・・輪郭抽出部、 106・・・輪郭メモリ、 107・・・線分化処理部、 108・・・線分化情報メモリ、 109・・・辞書パターンメモリ、 110・・・領域特徴抽出部、 111・・・領域特徴メモリ、 112・・・共通領域抽出部、 113・・・共通領域メモリ、 114・・・認識処理部、 100・・・制御部、 115・・・線分パターンメモリ。 代理人弁理士 高  橋  明  大 業 1 図 第2図 (A)(β)       (:(1’)     (
8)(α)(J)            (L:l)
第 3 図 第 5 図 第 6 図 (α) 第 6 図 (C) 第 7 図 第 8 図 (α)(6) ステ、/プδ03へ
FIG. 1 is a block diagram showing an embodiment of an image processing device used in the present invention, FIG. 2 is a diagram for explaining a contour tracing method in polygon approximation processing, and FIG. FIG. 4 is a diagram showing an example of line segment pattern expression format and polygon approximation. FIG. 5 is a flowchart showing the procedure of polygon approximation. FIG.
7 is a diagram showing an example of line segment patterns having common parts, and FIG. 8 is a 70-chart of data compression processing for removing common parts of line segment patterns. 101... Input control section, 102... Image memory, 103... Preprocessing section, 104... Area information memory, 105... Contour extraction section, 106... Contour memory, 107... Line segmentation processing unit, 108... Line segmentation information memory, 109... Dictionary pattern memory, 110... Area feature extraction unit, 111... Area feature memory, 112... Common area extraction unit, 113. ... common area memory, 114 ... recognition processing section, 100 ... control section, 115 ... line segment pattern memory. Representative patent attorney Akira Takahashi Taiyo 1 Figure 2 (A) (β) (: (1') (
8) (α) (J) (L:l)
Figure 3 Figure 5 Figure 6 Figure 6 (α) Figure 6 (C) Figure 7 Figure 8 (α) (6) Go to Step δ03

Claims (1)

【特許請求の範囲】 1、部品画像の輪郭点列を、線分近似に要する各種の線
分パターンを記憶しておく線分パターンメモリに格納さ
れたデータと照合することにより部品画像の多角形近似
を行ない、多角形の頂点座標列をもとに認識処理を行な
う画像処理装置において、線分パターンの表現形式を絶
対的な進行方向の系列から、相対的な進行方向の系列に
置き換えることにより、絶対的な進行方向による表現に
おける回転対称な線分パターンを、相対的な方向表現に
よる1つの線分パターンで代表し、線分パターンメモリ
に格納しておくことを特徴とする線分パターン作成方式
。 2、前記線分パターンの表現形式を、前進、右折、左折
の3つの相対的な進行方向の系列で表わして、線分パタ
ーンメモリに格納しておくことを特徴とする特許請求の
範囲第1項記載の線分パターン作成方式。 3、前記線分パターンのうち軸対象な線分パターンを、
最初の折れ点の方向をいずれか一方に限定して線分パタ
ーンメモリに格納しておき、輪郭点列と照合する際、そ
の点列の最初の折れ点の方向が逆の場合には、以後の進
行方向を逆転して前記線分パターンメモリに格納された
データと照合することを特徴とする特許請求の範囲第1
項または第2項いずれかに記載の線分パターン作成方式
。 4、前記線分パターンのうち共通する進行方向の部分列
を共有して前記線分パターンメモリに格納しておくこと
を特徴とする特許請求の範囲第1項ないし第3項いずれ
かに記載の線分パターン作成方式。
[Scope of Claims] 1. Polygons of the part image are generated by comparing the contour point sequence of the part image with data stored in a line segment pattern memory that stores various line segment patterns required for line segment approximation. In an image processing device that performs approximation and performs recognition processing based on a polygon's vertex coordinate string, by replacing the expression format of line segment patterns from a series of absolute traveling directions to a series of relative traveling directions. A line segment pattern creation method characterized in that a rotationally symmetrical line segment pattern represented by an absolute direction of travel is represented by one line segment pattern represented by a relative direction, and stored in a line segment pattern memory. method. 2. The line segment pattern is expressed in a series of three relative traveling directions: forward, right turn, and left turn, and is stored in a line segment pattern memory. Line segment pattern creation method described in section. 3. Among the line segment patterns, the axis-symmetric line segment pattern is
If the direction of the first bending point is limited to one of the two and stored in the line segment pattern memory, and when comparing it with the contour point sequence, if the direction of the first bending point of the point sequence is opposite, Claim 1, characterized in that the traveling direction of the line segment pattern memory is reversed and compared with the data stored in the line segment pattern memory.
3. The line segment pattern creation method according to any one of Items 1 and 2. 4. The line segment pattern according to any one of claims 1 to 3, characterized in that a partial sequence in a common traveling direction of the line segment pattern is shared and stored in the line segment pattern memory. Line pattern creation method.
JP59194621A 1984-09-19 1984-09-19 Segment pattern preparing system Granted JPS6174077A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59194621A JPS6174077A (en) 1984-09-19 1984-09-19 Segment pattern preparing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59194621A JPS6174077A (en) 1984-09-19 1984-09-19 Segment pattern preparing system

Publications (2)

Publication Number Publication Date
JPS6174077A true JPS6174077A (en) 1986-04-16
JPH0312348B2 JPH0312348B2 (en) 1991-02-20

Family

ID=16327570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59194621A Granted JPS6174077A (en) 1984-09-19 1984-09-19 Segment pattern preparing system

Country Status (1)

Country Link
JP (1) JPS6174077A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007176221A (en) * 2005-12-27 2007-07-12 Matsushita Electric Ind Co Ltd Motor unit and electric bicycle using the same
JP2013191105A (en) * 2012-03-14 2013-09-26 Omron Corp Image processor, image processing method, control program, and recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007176221A (en) * 2005-12-27 2007-07-12 Matsushita Electric Ind Co Ltd Motor unit and electric bicycle using the same
JP2013191105A (en) * 2012-03-14 2013-09-26 Omron Corp Image processor, image processing method, control program, and recording medium

Also Published As

Publication number Publication date
JPH0312348B2 (en) 1991-02-20

Similar Documents

Publication Publication Date Title
CN110738207B (en) Character detection method for fusing character area edge information in character image
US5515455A (en) System for recognizing handwritten words of cursive script
JPS6367218B2 (en)
JPH07244738A (en) Straight line extracting hough transformation image processor
CN110180186A (en) A kind of topographic map conversion method and system
JPH0147824B2 (en)
JPS6174077A (en) Segment pattern preparing system
CN113011327A (en) Three-dimensional graph recognition method, device, equipment and storage medium
US5023920A (en) Method for finding the medial axis transform of an image
EP0559353B1 (en) Computer input apparatus and method for drawing free curves
US5694536A (en) Method and apparatus for automatic gap closing in computer aided drawing
JP2878194B2 (en) Partial erasure and partial detection method of image data
JP3149221B2 (en) Image processing device
JP5126124B2 (en) Image processing device
US5574839A (en) Method and apparatus for automatic gap closing in computer aided drawing
JPS6174076A (en) Segment pattern preparing system
JPH0410668B2 (en)
JPH04579A (en) Method for extracting feature point of graphic
JP2559359B2 (en) Image structure storage method and image registration apparatus
JP2838556B2 (en) Image processing device
Amiri et al. A method for analysing and synthesizing line-drawings
CN117745557A (en) Pyramid image layering method for retaining edge information and application thereof
JP3037504B2 (en) Image processing method and apparatus
JPH0418685A (en) Picture processing system
JPS62102366A (en) Contour approximation system