JPS6174075A - Segment pattern preparing system - Google Patents

Segment pattern preparing system

Info

Publication number
JPS6174075A
JPS6174075A JP59194619A JP19461984A JPS6174075A JP S6174075 A JPS6174075 A JP S6174075A JP 59194619 A JP59194619 A JP 59194619A JP 19461984 A JP19461984 A JP 19461984A JP S6174075 A JPS6174075 A JP S6174075A
Authority
JP
Japan
Prior art keywords
pattern
line segment
point
memory
line
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
JP59194619A
Other languages
Japanese (ja)
Other versions
JPH0410668B2 (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 JP59194619A priority Critical patent/JPS6174075A/en
Publication of JPS6174075A publication Critical patent/JPS6174075A/en
Publication of JPH0410668B2 publication Critical patent/JPH0410668B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To compress segment pattern data which become necessary in a high speed polygonal approximation by sharing data of the common part when plural segment patterns exist. CONSTITUTION:A segment processing part 107 stores the said respective peak coordinates, in which the area is polygonally approximate, to a segment information memory 108 successively. When a dictionary pattern is registered, the segment information is shifted to a dictionary pattern memory 109. A common area extracting part 112 converts coordinates at an input pattern side for the pattern inputted at this time (the pattern stored in the segment information memory 108) and the dictionary pattern (the pattern stored in the dictionary pattern memory 109) so that characteristics of both patterns can be coincident. Common areas of both pattern (product pattern) are obtained as a peak row in the same manner and recorded in a common area memory 113.

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 button by image processing. The present invention relates to a line segment pattern creation method suitable for performing a process of approximating a line segment (contour point sequence) at high speed.

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

従来、画像処理の高速性、柔軟性のために部品パターン
を多角形近似して部品認識を行うことが提案されている
。この際に、すべての線分パターンを記憶しておき、部
品の幹部点列をこれと照合することにより多角形の辺を
高速に抽出することが行われている。これについては例
えば、昭和58年5月10日発行の昭和58年電気学会
全国大会講演論文集〔15〕、論文番号1540K「線
分化パターンマツチングによる部品認識れている。
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 trunk point sequence of the part with this. Regarding this, for example, see Proceedings of the National Conference of the Institute of Electrical Engineers of Japan, published on May 10, 1988 [15], paper number 1540K, ``Part recognition by line segmentation pattern matching.''

しかし、このよ5な従来の方法では、線分化処理で用い
る線分パターンデータは、ある長さ以内の直線パターン
をすべて含むため、メモリサイズが太き(なり、装置の
小型化並びに経済化の点で問題であった。
However, in these conventional methods, the line segment pattern data used in the line segmentation process includes all straight line patterns within a certain length, so the memory size is large (which makes it difficult to make the device smaller and more economical). This was a problem.

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

本発明の目的は、上記した従来の問題点を解決し、高速
多角形近似において必要となる線分パターンデータを圧
縮し、小規模な1儂処理装置でも実行を可能とする線分
パターン作成方式を提供することにある。
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 one-man processing device. Our goal is to provide the following.

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

複数の線分パターンがある時、その形状は全体として異
なっても、部分重圧共通することがある。そこで、本発
明では、この共通部分のデータを共有することKよりデ
ータを削減し、必要なメモリサイズを縮小するよう圧し
たものである。
When there are multiple line segment patterns, even if the shapes are different as a whole, some partial pressures may be common. Therefore, in the present invention, by sharing the data in 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図は、本発明に係る画像処理装置の一実施何1を示
すブロック図である。
FIG. 1 is a block diagram showing one embodiment of an image processing apparatus according to the present invention.

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

101〜104は、前処理に係るもので101は、人力
制御部、102は、画像メモIJ、105は、前処理部
、104は、領域情報メモリである。105と106は
、輪郭抽出処理に係るもので、105は、輪郭抽出部、
106は、輪郭メモリである。107〜109は、線分
化処理に係るもので107は線分化処理部、115は、
線分パターンメモリ、108は、線分化情報メモリ、1
09は、辞書パターンメモリである。110と111は
、領域特徴抽出処理に係るものでIjOf’?、、領域
特徴抽出部、111は、領域特徴メモリである。112
〜114は、パターンマツチング処理に係るもので11
2は共通領域抽出部、115は、共通領域メモリ、11
4は認識処理部である。なお、かかる1儂処理装置4は
、プロセッサとメモリとインタフェース回路などのハー
ド回路により構成されるものである。
Reference numerals 101 to 104 relate to preprocessing, and 101 is a human control unit, 102 is an image memo IJ, 105 is a preprocessing unit, and 104 is an area information memory. 105 and 106 are related to contour extraction processing; 105 is a contour extraction unit;
106 is a contour memory. 107 to 109 are related to line differentiation processing, 107 is a line differentiation processing unit, 115 is a
Line segment pattern memory 108 is line segmentation information memory 1
09 is a dictionary pattern memory. 110 and 111 are related to region feature extraction processing, and IjOf'? , , the region feature extraction unit 111 is a region feature memory. 112
114 are related to pattern matching processing, and 11
2 is a common area extraction unit; 115 is a common area memory; 11
4 is a recognition processing section. Note that the one-man processing device 4 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 value, and then inputted to the image memory 102 as grayscale image data and binary image data. be remembered.

1惚メモ1JI02に記憶された画像データは、はじめ
忙前処理部105によって画像上のどの領域を対象物体
領域とするかが決定された後、その領域の代表点の位置
情報が領域情報メモ1月04に記憶される。
The image data stored in the first love memo 1JI02 is first determined by the busy pre-processing unit 105 as to 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 1. Stored on month 04.

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

その中心座標値により、線分化処理部107は、輪郭画
素の中心を表わす点列を1点ずつたどりながら、線分パ
ターンメモリ口5にあらかじめ設定されている線分パタ
ーンデータと照合して線分忙近似し、その線分の端点、
すなわち、その領域を多角形近似した当該各頂点座標を
順次に線分化情報メモリ108に記憶させる。その線分
化情報は、辞書パターンの登録時には、辞書パターンメ
モリ109へ移される。
Based on the center coordinate value, 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 port 5 to segment the line segment. The end points of the line segment,
That is, the coordinates of each vertex obtained by approximating the area to a polygon are sequentially stored in the line segmentation information memory 108. The line division information is transferred to the dictionary pattern memory 109 when registering the dictionary pattern.

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

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

最後く、認識処理部114は、共通領域(積図形)の面
積を算出し、これと辞書パターンまたは入カバターンの
面積との比率を求め、その値が所定値以上になった場合
、両パターンは−iLでいるものと判定して、認識結果
を出力する。
Finally, the recognition processing unit 114 calculates the area of the common area (product 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 -iL, and outputs the recognition result.

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

姿勢情報も出力する。Posture information is also output.

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

線分化処理部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)と領域画素
と背景画素の境界線を輪郭線とする考え方(C”) 、
 (D)の2通りがあり、更に、連続する輪郭点の隣接
状態には、縦横の隣接だけを考える4連結(B) 、 
(D)と、斜めの隣接も考慮にいれる8連結(A)、(
C)の2通りがある。従って、輪郭線の追跡には(A)
〜(D)の計4通りの方法O(ある。但しこのうち境界
8連結(C)は、画素の値と一意に対応しないため意味
が無い。
As shown in Figure 2, there are two ways to think about contour lines: (A) and (B), where the center of a contour pixel is the contour line, and (C''), where the boundary line between area pixels and background pixels is the contour line. ,
There are two ways (D), and in addition, there are 4 connections (B), which considers only vertical and horizontal adjacency for the adjacency state of continuous contour points.
(D), 8-connection (A) that also takes into account diagonal adjacency, (
There are two options (C). Therefore, for contour tracing, (A)
There are a total of four methods O (D). However, among these, the boundary 8 connection (C) is meaningless because it does not uniquely correspond to the pixel value.

各々の場合、追跡の方向には、第2図(α)l(eL・
)、(b)、(cL)に示すような可能性がある。以後
は境界4連結(D)で輪郭線を追跡する場合について説
明する。
In each case, the direction of tracking is
), (b), and (cL). Hereinafter, a case will be described in which a contour line is traced using boundary 4 connection (D).

輪郭点列の例を第5図に示す。各輪郭点は図中矢印で示
すように固有の進行方向を持っており、輪郭線の形状は
、この進行方向の列で表わされる。長さに制限を加える
と、ある栄件のもとで線分と見なされる点列は、有限個
数の進行方向列となる。線分と見なす条件は、例えば中
心線からの距離の許容最大値を定め、すべての点がこれ
を満足する点列を線分とするなどが用いられる。線分パ
ターンの個数、長さが有限なので、すべての線分パター
ンを人工的に作ることができる。
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 are considered to be line segments under certain conditions becomes a finite number of sequences in the advancing direction. As the condition for considering a line segment, for example, a maximum permissible distance from the center line is determined, and a line segment is defined as a point sequence in which 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.

線分パターンは、第4@(α)に示すよ5K。The line segment pattern is 5K as shown in the 4th @(α).

5×1の2次元配列で表わされ、これがパターンデータ
としてメモリ115に記憶される。配列の第2添字値は
、点列で表わされる線分パターン上のル個の点に対応し
、第1添字値は各点における3つの進行方向、すなわち
、左折、*進右折に対応する。配列要素の内容は、ある
点において進行方向が決まった時、その方向に進んだ時
の次の点の番号、即ちポインタである。例えば、始点加
’において進行方向が右折と決まったとき、その方向に
進んだときの次の点の番号が@187’として示される
。但し、点列は直線とみなし得るものであるという制約
があるためK、各点において6つの進行方向がすべて許
されるとは限らない。禁止方向に対応する要素にはエン
ドマークENDが記入されており、輪郭線の追跡中にこ
れを検出した時は、検出した点を線分の終了点と見なし
、これを多角形の頂点として登録する。第4図(b)に
おいては、線分の始点Sにおいて線分パターンの始点1
o”から追跡を始め、点EでエンドマークENDを検出
してこの点°333″を多角形の頂点とし、線分パター
ンのポインタを始点“o2にもどして新しい線分の追跡
を始める。図中、各点の番号は線分パターンの点番号で
ある。
It is represented by a 5×1 two-dimensional array, and this is stored in the memory 115 as pattern data. The second subscript value of the array corresponds to the number of points on the line segment pattern represented by the dot sequence, and the first subscript value corresponds to the three directions of travel at each point, namely, left turn, *forward and right turn. 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, when the direction of travel is determined to be a right turn at the start point addition', the number of the next point when proceeding in that direction is indicated as @187'. However, since there is a restriction that the series of points can be regarded as a straight line, all six 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, and this is registered as the vertex of the polygon. do. In FIG. 4(b), the starting point 1 of the line segment pattern is at the starting point S of the line segment.
Start tracing from "o", detect the end mark END at point E, set this point °333" as the vertex of the polygon, return the line segment pattern pointer to the starting point "o2, and start tracing a new line segment. The number of each point inside is the point number of the line segment pattern.

次K、この線分パターンを用いた多角形近似の平頭を第
5図を用いて第4図を例忙とり説明する。多角形近似は
、輪郭点を1点ずつ追跡しながら、同時に線分パターン
を各点での進行方向に従ってポインタを選択して追跡す
る。まず追跡開始点、例えば第4図(h)の8点を多角
形の第1頂点として登録し、線分パターンのポインタを
“Omにして初期設定する(ステップ5a1)。
Next, the plane of polygon approximation using this line segment pattern will be explained using FIG. 4 as an example using FIG. 5. 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 point, for example, the eight points in FIG. 4(h), are registered as the first vertices of the polygon, and the line segment pattern pointer is initialized to "Om" (step 5a1).

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

まず、追跡開始点Sにおける進行方向を決定する(ステ
ップ502)。ここで、進行方向の決定方法について第
5図を用いて説明する。第5図において、画素人が部品
領域に含まれているとする。まず、画素Bが部品領域に
含まれているかどうか調べ、含まれていない時は、進行
方向は右折とする。次に、画素Bが部品領域に含まれて
いるかどうか調べ、含まれていない時進行方向を前進、
含まれている時は左折とする。画素が部品領域に含まれ
ているか否かの判定は、様々な方法があり、例えば2値
画像ならば輪郭メモリ106から読み出した値が11が
10′かで判定できる。
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. 5. In FIG. 5, it is assumed that the pixel person is included in the component area. First, it is checked whether pixel B is included in the component area, and if it is not included, the traveling direction is set to be a right turn. Next, check whether pixel B is included in the component area, and if it is not included, move forward in the direction of movement.
If included, turn left. There are various methods for determining whether a pixel is included in a component area. For example, in the case of a binary image, determination can be made based on whether the value read from the contour memory 106 is 11 or 10'.

次に、線分パターンのポインタの指すスロットを参照し
、進行方向に従って、次のポインタを選択する(ステッ
プ50S)。例えば、第4図の場合、ポインダ0”のエ
リアを参照し、この場合、進行方向が第4図(A)に示
すように右折であるので、次のポインタ@187°を選
択する。
Next, referring to the slot pointed to by the pointer of the line segment pattern, the next pointer is selected according to the direction of movement (step 50S). For example, in the case of FIG. 4, the area of pointer 0'' is referred to, and in this case, since the direction of travel is a right turn as shown in FIG. 4(A), the next pointer @187° is selected.

そして、もし次のポインタがエンドマークENDならば
(ステップ504)、その時点の輪郭点を多角形の頂点
として新たに線分化情報メモリ108に登録し、・ポイ
ンタを@02にもどす(ステップ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 pointer is returned to @02 (step 505). .

欠く、進行方向に従って、次の輪郭点に進み、(ステッ
プ5a6)終了条件、例えば輪郭線を1周して追跡開始
点Sにもどったかどうかをチェックしくステップ507
) 、終了条件Di満たされるまでステップ502から
ステップ507までをくり返す。例えば、第4図(b)
の輪郭線を第4図(α)の線分パターンデータに従って
追跡する場合、ポインタ10″からスタートし、進行方
向(右折)に従って、次のポインタ“187″に進む。
If not, proceed to the next contour point according to the traveling direction (step 5a6) and check the end condition, for example, whether or not the contour has been circled once and returned to the tracing start point S.Step 507
), steps 502 to 507 are repeated until the termination condition Di is satisfied. For example, Fig. 4(b)
When tracing the contour line according to the line segment pattern data shown in FIG. 4 (α), it starts from the pointer 10'' and advances to the next pointer ``187'' according to the direction of travel (right turn).

しかる後、次の輪郭追跡に移り、進行方向(直進)を決
定し、ポインダ515′を選択する。以後、同様に追跡
を行ない、エンドマークENDを示すポインタを検出す
ると、そのときのポインタ″3551を頂点として登録
する。そして、このときの座標位置を始点の座標をもと
に算出してメモリ108に記憶する。
Thereafter, the next contour tracing is started, the direction of travel (straight ahead) is determined, and the pointer 515' is selected. Thereafter, tracking is performed in the same way, and when a pointer indicating the end mark END is detected, the pointer "3551" at that time is registered as the vertex.The coordinate position at this time is calculated based on the coordinates of the starting point and stored in the memory 108. to be memorized.

但し、第4図(α)K示すように、線分パター、 ンは
軸対称の2本1対のうち、最初の折点が右折(または左
折)K限られた片方しか無いためこのループの中でフラ
グを保持し、輪郭点列上で最初の折点O(出現した以後
、その折点が左折(右折)だった時には、線分パターン
の左右を逆転して使用する。
However, as shown in Figure 4 (α), the line segment pattern, N, is a pair of axially symmetrical lines, and the first turning point is only one with a right turn (or left turn). After the first corner point O (appears) on the contour point sequence, when that corner point is a left turn (right turn), the left and right of the line segment pattern is reversed and used.

第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 unrelated to the processing procedure of polygon approximation, operations such as adjusting the roughness of polygon approximation can be programmed by replacing the line segment patterns created using various straight line criteria. This can be easily done without changing the hardware or hardware.

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

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

以上を線分の長さが許容値に達するまでiける。The above steps are multiplied by i until the length of the line segment reaches the allowable value.

この基本的手順は、状態−空間探索法における縦形法と
して知られている方法を用いろことができる。(この方
法については、例えば、昭和48年4月15日コロナ社
発行の「人工知能」の55〜56頁に記述されている。
This basic procedure can be carried out using a method known as the vertical method in the state-space search method. (This method is described, for example, on pages 55-56 of "Artificial Intelligence" published by Corona Publishing on April 15, 1972.

以上が線分パターン作成の基本的な考え方である。以下
第6図を用いて、処理の流れを順を追って説明する。
The above is the basic idea of creating a line segment pattern. The flow of processing will be explained step by step using FIG. 6 below.

線分パターンを配列Tで表わす。線分パターンがどこま
で使用されているかを示すカウンタをCとする。また、
軸対称パターンの圧縮のために1点列O′−すでに右か
左に折れたか、直進のみを続けているかをオン/オフで
示すフラグを設け、最初に折れる方向を片方に制限する
ことにより、軸対称パターンを片方だけしか作らず、デ
ータを半分に圧縮する。
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 the axially symmetrical pattern, one-point sequence O'--by setting a flag to indicate whether it has already turned to the right or left, or whether it is continuing to go only straight, with an on/off setting, and by restricting the direction of the first bend to one side. Creates an axially symmetrical pattern on only one side, compressing the data in half.

まず、第6図(α)K示すように点列とカウンタの初期
設定をする。点列は、最初の2点を例えば(0,0)と
(+10)に固定する。これにより、線分パターンは4
つの回転対称パターンのうち1通りに限定され、データ
が圧縮される。
First, the point sequence and counter are initialized as shown in FIG. 6(α)K. In the point sequence, the first two points are fixed to, for example, (0,0) and (+10). As a result, the line segment pattern is 4
Data is compressed using only one rotationally symmetric pattern.

フラグはオフにしておく。またカウンタは0クリヤして
おく。
Leave the flag turned off. Also, clear the counter to 0.

(1w、点(+、o )、線分パターン第0スロツトに
対し、Sつの進行方向(左折、直進、右折)に点列を延
長して直線判定を行なう点列延長処理(ステップ602
)を行なう。点列延長処理の中には更に次の点列延長処
理が含まれており、許容長さに達するまで次々に延長が
繰り返される。点列延長処理の詳細を第6図(h)K従
って説明する。なお、この第6図(h)は第6図(−)
のステップ602のサブルーチンを示す図である。
(Step 602
). 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. The details of the point sequence extension process will be explained with reference to FIG. 6(h)K. Note that this Fig. 6 (h) is Fig. 6 (-)
FIG. 6 is a diagram showing a subroutine of step 602 of FIG.

まず、第6図(h)の如(、処理対称となる点をPで指
定する。このポインタPは点列延長処理内部のローカル
な変数で、点列延長処理先頭でのCの値に固定する(ス
テップ611)。Cの値自身は処理中に変化してしまう
。次に、カウンタと点列長をインクリメントしくステッ
プ612.615)進行方向を左折と仮定して新しい点
を追加する。すなわち、ポインタ記入処理(ステップ6
14)を行なう。このポインタ記入処理は第6図(C)
に示すように、フラグがオンの場合のみポインタ記入処
理を行ない(ステップ621〜625)、オフならばエ
ンドマークENDを記入する(ステップ627)。これ
(より、最初の折点方向を右に限定している。次に進行
方向を直進として、今度をエフラグに関係無くポインタ
記入処理を行なう(ステップ615)。次に進行方向を
右折とし、新しい点を加え、フラグをオンにしてポイン
タ記入処理を行なう(ステップ616)。即ち、一度で
も右折した後はフラグはオンとなる。
First, as shown in Figure 6 (h), the point to be processed is designated by P. This pointer P is a local variable within the point sequence extension process, and is fixed to the value of C at the beginning of the point sequence extension process. (Step 611).The value of C itself changes during processing.Next, the counter and the point sequence length are incremented and a new point is added (Steps 612 and 615) 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 (C).
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). As a result, the direction of the first turning point is limited to the right. Next, the direction of travel is set to go straight, and this time pointer entry processing is performed regardless of the e-flag (step 615). Next, the direction of travel is set to right, and the new A point is added, a flag is turned on, and pointer entry processing is performed (step 616).That is, the flag is turned on after a right turn is made at least once.

次に、第6図(h)の各ポインタ記入処理について第6
図(C)に従って詳細に説明する。この第6図(C)は
第6図(A)のステップ614,615 。
Next, regarding each pointer entry process in FIG. 6(h),
This will be explained in detail according to figure (C). This FIG. 6(C) corresponds to steps 614 and 615 in FIG. 6(A).

616夫々のサブルーチンを示す図である。まず点列延
長を行ない(ステップ622)、その点列の長さが許容
値をこえたかを判定する(ステップ625)。この結果
、こえていればエンドマークの記入を行ない(ステップ
627)、こえていなげれば、新しい点を加えた点列が
直線か否かを判定する(ステップ625)。直線でなけ
ればエンドマークを書込む(ステップ627)。判定基
$+S必要に応じて何でも良い。例えば最小2乗法によ
り点列の中心綜を引き、これから各点までの距離に最大
許容値を設けるなどの方法が用いられる。直線であった
場合は、カウンタCをインクリメントして新しいスロッ
トを作り、このカウンタ値をポインタとして記入しくス
テップ625)、この新しい点について、第6図(b)
に示した点列延長処理を行ない、点列の長さをインクリ
メントする(ステップ626)。このようにして、第4
図(α)に示されるような線分ノくターンが作成される
。すなわち、ポインタ@0′からカウンタをインクリメ
ントしてポインタ記入処理を行ない、最初の折点が左の
場合にはエンドマークを記入し、直進の場合のポインタ
記入処理を許容値までvcける。
616 is a diagram showing each subroutine. 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 has exceeded, an end mark is written (step 627), and if it has not exceeded, it is determined whether the point sequence to which the new point has been added is a straight line (step 625). If it is not a straight line, an end mark is written (step 627). Judgment base $+S Any value is acceptable as required. For example, a method is used in which the center helix of a point sequence is drawn using the least squares method and a maximum allowable value is set for the distance from this point to each point. If it is a straight line, increment the counter C to create a new slot and write this counter value as a pointer (step 625).
The length of the point sequence is incremented by performing the point sequence extension process shown in (step 626). In this way, the fourth
A line segment turn as shown in figure (α) is created. That is, pointer entry processing is performed by incrementing a counter from pointer @0', and if the first turning point is on the left, an end mark is written, and the pointer entry processing for straight travel is increased by vc 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図
(α)、(A)に示すように同−形状の部分CとDがあ
る。この同一形状の部分が線分の終点を含む時、その部
分に相当する点列データは、等価なデータが2重に存在
する事になり、どれか1つで代表して他を消す事により
データを圧縮できる。
The line segment pattern created in this way includes all point sequences that are considered to be straight lines under a certain standard, and does not include double point sequences of the same shape. As shown in α) and (A), there are parts C and D of the same shape. When a part of the same shape includes the end point of a line segment, the point sequence data corresponding to that part will have double equivalent data, and by representing one of them and erasing the others, Data can be compressed.

第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図(α)に示すようK、線分パターン配列と
をスキャンして、終点を探し、最初の1点■を残して他
のすべてに消去マークを書込む(ステップ801)。次
に、線分パターン配列上をスキャンして、■を含む点は
1個を残してすべて消去する屯列統合処理を行なう(ス
テップ802)。
First, as shown in FIG. 8(α), K and the line segment pattern array are scanned to find the end point, and erasure marks are written in all but the first point (■) (step 801). Next, the line segment pattern array is scanned, and a series integration process is performed in which all but one point containing the symbol ■ is deleted (step 802).

点列統合処理について第8図(h)を用いて洋紙に説明
する。まず探策対象とするボイ/りJを指定する。そし
て次の探策対象工をクリヤする(ステップ811)。次
に、線分パターン上を走査し、Jを含む点を探し、最初
の点Iを除きすべて消去i−りを書込む点列消去処理を
行な5(ステップ812)。次に、点Iがもし存在した
ならば(ステップ815)、点Iについて同様の点列統
合処理を行なう(ステップ814)。
The point sequence integration process will be explained using FIG. 8(h). First, specify the BOI/RIJ to be explored. Then, the next target construction is cleared (step 811). Next, the line segment pattern is scanned to find a point including J, and a point sequence erasing process is performed in which all points except the first point I are erased and written with i-ri (step 812). Next, if point I exists (step 815), a similar point sequence integration process is performed for point I (step 814).

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

以との処理を施すことで、全体として異なる線分パター
ンの間で共通する部分のデータ、即ち進行方向の部分列
を共有すること【よって必要なデータ量を減らし、線分
パターンメモリ115を圧縮することかできる。
By performing the following processing, the data of the common part between different line segment patterns as a whole, that is, the partial sequence in the advancing direction, is shared [Thus, the amount of necessary data is reduced and the line segment pattern memory 115 is compressed. I can do something.

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

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

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

第1図は本発明で使用する画像処理装置の1実施例を示
すブロック図、第2図(1多角形近似処理におゆる輪郭
線の追跡方法を説明するだめの図、第5図は領域輪郭線
の例を示す図、第4図は線分パターンの表現形式と多角
形近似の例を示す図、第5図は多角形近似の手順を示す
フローチャート、第6図は線分パターン作成処理のフロ
ーチャート、第7図は共通部分を持つ線分パターンの例
を示す図、第8図は線分パターンの共通部分を取り除(
データ圧縮処理のフローチャートである。 101・・・入力制御部、102・・・画像メモリ、1
05・・・前処理部、104・・領域情報メモリ、10
5・・・輪郭抽出部、106・・・輪郭メモリ、107
・・線分化処理部、108・・・線分化清報メ41J、
+09・・・辞書パターンメモリ、110・・・領域特
徴抽出部、111・・・領域特徴メモリ、112・・・
共通領域抽出部、口5・・・共通領域メモリ、口4・・
・認識処理部、100・・・制御部、115・・・線分
パターンメモリ。
FIG. 1 is a block diagram showing one embodiment of the image processing device used in the present invention, FIG. Figure 4 is a diagram showing an example of a contour line, Figure 4 is a diagram showing an example of line segment pattern expression format and polygon approximation, Figure 5 is a flowchart showing the procedure for polygon approximation, and Figure 6 is a line segment pattern creation process. 7 is a diagram showing an example of a line segment pattern that has a common part, and FIG. 8 is a flowchart of removing the common part of the line segment pattern (
It is a flowchart of data compression processing. 101... Input control unit, 102... Image memory, 1
05... Preprocessing unit, 104... Area information memory, 10
5...Contour extraction unit, 106...Contour memory, 107
...Line differentiation processing unit, 108...Line differentiation report mail 41J,
+09...Dictionary pattern memory, 110...Region feature extraction unit, 111...Region feature memory, 112...
Common area extraction unit, mouth 5... common area memory, mouth 4...
- Recognition processing unit, 100...control unit, 115...line segment pattern memory.

Claims (1)

【特許請求の範囲】[Claims] 部品画像の輪郭点列を、線分近似に要する各種の線分パ
ターンを記憶しておく線分パターンメモリに格納された
データと照合することにより部品画像の多角形近似を行
ない多角形の頂点座標列をもとに認識処理を行なう画像
処理装置において、前記各種の線分パターンのうち、共
通する輪郭点の部分列を共有して前記線分パターンメモ
リに格納しておくことを特徴とする線分パターン作成方
式。
Polygon approximation of the part image is performed 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, and the vertex coordinates of the polygon are calculated. In an image processing device that performs recognition processing based on columns, a partial sequence of common contour points among the various line segment patterns is shared and stored in the line segment pattern memory. Minute pattern creation method.
JP59194619A 1984-09-19 1984-09-19 Segment pattern preparing system Granted JPS6174075A (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS6174075A true JPS6174075A (en) 1986-04-16
JPH0410668B2 JPH0410668B2 (en) 1992-02-26

Family

ID=16327542

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS6174075A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491525A (en) * 1992-11-24 1996-02-13 Hitachi, Ltd. Illumination unit for liquid crystal projection display apparatus and liquid crystal display apparatus having it used

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491525A (en) * 1992-11-24 1996-02-13 Hitachi, Ltd. Illumination unit for liquid crystal projection display apparatus and liquid crystal display apparatus having it used

Also Published As

Publication number Publication date
JPH0410668B2 (en) 1992-02-26

Similar Documents

Publication Publication Date Title
CN110738207B (en) Character detection method for fusing character area edge information in character image
EP0534446B1 (en) System with approximation means for recognizing graphical elements in a drawing
CN110180186A (en) A kind of topographic map conversion method and system
US11651604B2 (en) Word recognition method, apparatus and storage medium
JP3054682B2 (en) Image processing method
Ablameyko et al. Vectorization and representation of large-size 2-D line-drawing images
JP2878194B2 (en) Partial erasure and partial detection method of image data
JPS6174075A (en) Segment pattern preparing system
JP3149221B2 (en) Image processing device
JPS6174077A (en) Segment pattern preparing system
JP2512800B2 (en) Linear approximation method of line figure input device
JPS6174076A (en) Segment pattern preparing system
JPH04579A (en) Method for extracting feature point of graphic
JPH07193716A (en) Edge emphasizing device
JP2935331B2 (en) Figure recognition device
Yamada et al. Recognition of human kidney ultrasonic organ images by two‐dimensional dp matching method
JPH0883319A (en) Pattern recognizing device
JP2559359B2 (en) Image structure storage method and image registration apparatus
JP2656802B2 (en) Drawing input device
JP2587812B2 (en) Figure extraction method
JPS62108382A (en) Approximating system for polygonal line graphic
JP2838556B2 (en) Image processing device
Gribov et al. Vectorization with the Voronoi L-diagram
JP2782977B2 (en) Line figure vectorization method and apparatus
JPH0658689B2 (en) Line figure separation device