JPH06119446A - 閉図形抽出装置 - Google Patents

閉図形抽出装置

Info

Publication number
JPH06119446A
JPH06119446A JP4296344A JP29634492A JPH06119446A JP H06119446 A JPH06119446 A JP H06119446A JP 4296344 A JP4296344 A JP 4296344A JP 29634492 A JP29634492 A JP 29634492A JP H06119446 A JPH06119446 A JP H06119446A
Authority
JP
Japan
Prior art keywords
arc
closed
node
sequence
tracing
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
JP4296344A
Other languages
English (en)
Other versions
JP2942681B2 (ja
Inventor
Akihiko Shirasaki
昭彦 白崎
Katsuo Ikeda
克夫 池田
Michihiko Mino
導彦 美濃
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.)
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Dainippon Screen Manufacturing Co 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 Dainippon Screen Manufacturing Co Ltd filed Critical Dainippon Screen Manufacturing Co Ltd
Priority to JP4296344A priority Critical patent/JP2942681B2/ja
Publication of JPH06119446A publication Critical patent/JPH06119446A/ja
Application granted granted Critical
Publication of JP2942681B2 publication Critical patent/JP2942681B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

(57)【要約】 【目的】 閉図形以外の図形部分を含む任意の線図形か
ら、閉図形を高速にかつ正確に抽出し得る閉図形抽出装
置を提供することである。 【構成】 線図形のデータが入力されると(ステップS
100)、まずその線図形を構成する各線分に対応する
ベクトルデータが抽出される(ステップS110)。次
に、各ベクトルの始点と終点の接続状況を調べることに
より、線図形をノードとアークの接続関係で表記するグ
ラフが作成される(ステップS120)。次に、作成さ
れたグラフ上での各アークをすべて両方向追跡すること
により、全アーク列が抽出される(ステップS13
0)。次に、抽出された各アーク列を部分アーク列に分
割し、さらにその中から閉図形のみが分離される(ステ
ップS140)。このように、アークの追跡を閉図形以
外の部分に到達しても続行し、すべてのアーク列を抽出
した後に閉図形と閉図形以外の図形に分離するため、追
跡時に複雑な条件判断を行うことなく、高速かつ正確に
閉図形を抽出することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、閉図形抽出装置に関
し、より特定的には、複数の線によって構成される線図
形の中から、空間的に閉塞した領域としての閉図形を抽
出する閉図形抽出装置に関する。
【0002】
【従来の技術】従来、パーソナルコンピューターやCA
D(Computer AidedDesign)装置
等の図形処理装置によって、地図、回路パターン図、機
械設計図、建築設計図等の線図形を処理する場合、しば
しば当該線図形の中から空間的に閉塞した領域としての
閉図形を抽出することが要求される。例えば、電子回路
や建築の設計においては、このような閉図形の数や面積
が問題となる場合があるからである。
【0003】従来、線図形から閉図形を抽出する技術の
一例として、特開平3−171378号公報に開示され
た「閉領域自動認識装置」(以下、第1の従来技術と称
する)がある。以下、図15〜図19を参照して、この
第1の従来技術について説明する。
【0004】まず、図15に示すような線図形のデータ
に対して、細線化や芯線化などの処理により、ベクトル
データの抽出作業が行われる。これによって、図16に
示すように、ベクトルデータV1〜V12が抽出され
る。
【0005】次に、抽出されたベクトルデータ内の各ベ
クトルの始点と終点の接続状況が調べられ、図17に示
すように、線図形をノード(開放点ノードまたは屈曲点
ノードまたは分岐点ノード)N1〜N10と、アーク
(ノード間を結ぶ腕)A1〜A12とで表記するグラフ
が作成される。
【0006】次に、作成されたグラフ上で、任意の1つ
のアークを追跡開始アークとして一方の方向にアークの
追跡が開始され、そのアークに接続する他のアークが次
のアークとして追跡される。このとき、アークの追跡が
分岐点ノード(そのノードに接続されるアークが3以上
存在するノード)に到達したときは、そのノードに接続
するアークの内、追跡中のアークから見て最も右に折れ
るアークが次のアークとして追跡される。アークの追跡
は、再び追跡開始アークおよび追跡開始時の方向に戻る
まで続行される。上記と同様の追跡処理を、追跡開始ア
ークまたは追跡方向を変えて、すべてのアークが両方向
追跡されるまで繰り返して行うことにより、図18に示
すように、複数のアーク列AR1〜AR4が抽出され
る。
【0007】次に、抽出されたアーク列AR1〜AR4
の内、アークの追跡方向が左回りであるアーク列AR1
が除去される。これによって、図19に示すように、他
の閉図形を内側に含まない、右回りの閉図形L1〜L3
が網羅的に抽出される。
【0008】ところで、線図形から閉図形を抽出する他
の従来技術として、特開平2−245987号公報に開
示された「線図形認識装置の閉ループ抽出方法」(以
下、第2の従来技術と称する)がある。この第2の従来
技術は、閉図形以外の図形部分が存在する線図形から閉
図形のみを抽出することを目的としている。第2の従来
技術では、前述の第1の従来技術と同様の方法でアーク
の追跡が行われる。ただし、アークの追跡が分岐点ノー
ドに到達したときは、当該分岐点ノードに接続するアー
クの内、既に両方向追跡済のアークと、当該分岐点ノー
ドと反対側のノードが開放点ノード(そのノードに接続
されるアークが1しか存在しないノード)であるアーク
を除いて、追跡中のアークから見て最も右に折れるアー
クが次のアークとして追跡される。
【0009】
【発明が解決しようとする課題】しかしながら、上記第
1の従来技術では、線図形の中に、一方の閉図形がその
内部に他方の閉図形を包含し、かつ他方の閉図形が一方
の閉図形と1点で接しているような閉図形群が存在して
いる場合、閉図形を正しく抽出できないという問題点が
あった。以下、この問題点を、図20および図21を参
照して、より具体的に説明する。
【0010】図20は、アーク列A6−A8−A7で構
成される閉図形がアーク列A3−A5−A9−A11−
A4で構成される閉図形に、ノードN5で内接すること
を特徴とする線図形を表すグラフである。上記第1の従
来技術によれば、図21に示すように、アーク列A1−
A4−A10−A2で構成される閉図形L1と、アーク
列A6−A8−A7で構成される閉図形L2は正しく抽
出されるが、同じ点を2回通過するアーク列A3−A5
−A6−A7−A8−A9−A11−A4で構成される
閉図形L3が得られてしまい、アーク列A3−A5−A
9−A11−A4で構成される閉図形は得られない。
【0011】なお、上記第1の従来技術は、閉図形以外
の図形が存在する線図形から閉図形を正しく抽出できな
いという問題点も有している。
【0012】これに対し、上記第2の従来技術は、線図
形中に閉図形以外の図形部分が存在していても閉図形を
正しく抽出できるが、閉図形以外の図形部分に分岐点ノ
ードが存在する場合は、閉図形を正しく抽出できないと
いう別の問題点を有している。以下、この問題点を、図
22〜図24を参照して、より具体的に説明する。
【0013】図22において、ノードN7およびN9
は、閉図形以外の図形部分に存在する分岐点ノードであ
る。例えば図23に示すように、アークA15を追跡開
始アークとしてノードN13からノードN14の方向に
追跡が開始されると、ノードN14において最も右に折
れるアークとしてアークA17が存在するが、アークA
17のもう一方のノードN16は開放点ノードであるた
め、このアークA17は除かれ、アークA16が次のア
ークとして追跡される。ところが、ノードN15,アー
クA12と追跡されてノードN8に到達したときに、ノ
ードN9が開放点ノードではないことからアークA11
が次のアークとして追跡されてしまい、さらに次のノー
ドN9においてアークの追跡が中断してしまうことにな
る。なぜならば、ノードN9に接続するアークA7,A
13,A14は、ノードN9と反対側のノードがいずれ
も開放点ノードになっているためである。このような追
跡の中断は、追跡開始アークを反対方向に、すなわちア
ークA15をノードN14からノードN13の方向に追
跡しても、図24に示すように、ノードN7で起こる。
また、追跡開始アークを他のアークに変更しても起こ
る。その結果、上記第2の従来技術は、アーク列A1−
A4−A15−A9−A2から構成される閉図形と、ア
ーク列A3−A5−A12−A16−A4から構成され
る閉図形とを抽出することができない。
【0014】さらに、上記第2の従来技術は、アークの
追跡時に、追跡中ノードに接続するアークのすべてにつ
いて、その反対側ノード(追跡中ノードと反対側のノー
ド)の接続状況を調べるという複雑な条件判断を行って
いるため、追跡に時間がかかるという問題点も有してい
た。
【0015】それゆえに、この発明の目的は、閉図形以
外の図形を含む任意の線図形に対して、閉図形を高速
に、しかも正確に抽出し得る閉図形抽出装置を提供する
ことである。
【0016】
【課題を解決するための手段】本発明は、複数の線分に
よって構成される線図形の中から、空間的に閉塞した領
域としての閉図形を抽出する閉図形抽出装置であって、
入力された線図形のデータから各線分に対応するベクト
ルデータを抽出するベクトルデータ抽出手段、ベクトル
データ抽出手段によって抽出されたベクトルデータ内の
各ベクトルの始点と終点の接続状況を調べることによ
り、線図形をノードとアークの接続関係で表記したグラ
フを作成するグラフ作成手段、グラフ作成手段によって
作成されたグラフ内における任意のアークを追跡開始ア
ークとしてこの追跡開始アークに連なる各アークを順次
的かつ連続的に追跡し、再び追跡開始アークの追跡開始
方向に戻るまでアークの追跡を中断することなく続行
し、さらに線図形中のすべてのアークについて両方向の
追跡が行われるまで追跡開始アークまたは追跡方向を変
えてアークの追跡を繰り返すアーク追跡手段、アーク追
跡手段によるアークの追跡結果に基づいて、閉図形を構
成する候補としてのアーク列を抽出するアーク列抽出手
段、アーク列抽出手段によって抽出されたアーク列を、
そのアーク列内におけるアークおよびノードの通過回数
を基準にして複数の部分アーク列に分割する分割手段、
およびアークの追跡方向を基準にして、分割手段によっ
て分割された部分アーク列および/または分割不能であ
ったアーク列の中から、閉図形を構成するアーク列を分
離する分離手段を備える。
【0017】
【作用】本発明においては、入力された線図形のデータ
から各線分に対応するベクトルデータを抽出し、ベクト
ルデータ内における各ベクトルの始点と終点の接続状況
を調べることにより、線図形をノードとアークとの接続
関係で表記したグラフを作成する。そして、作成された
グラフ内における任意のアークを追跡開始アークとして
この追跡開始アークに連なる各アークを順次的かつ連続
的に追跡し、再び追跡開始アークの追跡開始方向に戻る
までアークの追跡を中断することなく続行し、さらに線
図形中のすべてのアークについて両方向の追跡が行われ
るまで追跡開始アークまたは追跡方向を変えてアークの
追跡を繰り返す。このときのアークの追跡結果に基づい
て、閉図形を構成する候補としてのアーク列が抽出され
る。さらに、抽出されたアーク列を、そのアーク列内に
おけるアークおよびノードの通過回数を基準にして複数
の部分アーク列に分割する。最後に、アークの追跡方向
を基準にして、分割された部分アーク列および/または
分割不能であったアーク列の中から、閉図形を構成する
アーク列を分離する。
【0018】このように、本発明では、アークの追跡に
より抽出されたアーク列を、複数の部分アーク列に分割
するようにしているため、たとえ1つの閉図形およびそ
れに1点で内接する他の閉図形が同一のアーク列として
抽出されても、それぞれを異なるアーク列として分割す
ることができる。したがって、1つの閉図形が1点で内
接する他の閉図形を包含していても、各閉図形を正しく
抽出することができる。
【0019】また、本発明では、追跡中のアークが閉図
形以外の図形部分に到達しても、再び追跡開始アークの
追跡開始方向に戻るまでアークの追跡が中断することな
く続行されるため、閉図形以外の図形部分に分岐点ノー
ドが存在する場合であっても、前述の第2の従来技術の
ようにアークの追跡が途中で中断することがなくなり、
閉図形を正しく抽出できる。
【0020】さらに、本発明では、アークの追跡に際
し、追跡先のアークの先端ノードの接続状況を調べると
いうような複雑な条件判断を行う必要がないため、閉図
形の抽出処理を高速に行うことができる。
【0021】
【実施例】図1は、この発明の一実施例である画像処理
装置の概略構成を示すブロック図である。図1におい
て、この画像処理装置は、CPU(セントラル・プロセ
ッシング・ユニット)1,ROM(リード・オンリ・メ
モリ)2,RAM(ランダム・アクセス・メモリ)3,
ベクトル演算用プロセッサ4,画像入力ポート5および
端末制御部6を含むデータ処理ユニット10と、原稿上
の画像をラスタデータとして読み込むイメージスキャナ
11と、画像処理の指示や処理結果の表示を行う端末機
12とを備えている。
【0022】CPU1は、システムバス7を介して、R
OM2およびRAM3とデータ伝送可能に接続されてい
る。CPU1は、ROM2に格納されたプログラムに従
ってデータ処理を行う。RAM3は、CPU1のデータ
処理に必要なデータを適宜記憶する。さらに、CPU1
は、システムバス7を介して、ベクトル演算用プロセッ
サ4,画像入力ポート5および端末制御部6と接続され
ている。画像入力ポート5および端末制御部6には、そ
れぞれ、イメージスキャナ11および端末機12が接続
されている。
【0023】イメージスキャナ11は、原稿台にセット
された原稿を光学的にスキャンし、白黒の2値情報とし
て画像データ(ラスタデータ)を読み取るものである。
CPU1は、端末機12からの指示により、イメージス
キャナ11が読み取ったラスタデータを画像入力ポート
5に内蔵された画像バッファの所定の領域に展開する。
端末機12は、こうした一連の画像処理の作業をデータ
処理ユニット10に指示するとともに、画像処理の過程
や処理結果をその表示部に表示する。
【0024】データ処理ユニット10に内蔵されたベク
トル演算用プロセッサ4は、画像入力ポート5の画像バ
ッファに展開されたラスタデータに対してベクトル演算
を行って、原画像に対する線分のベクトルデータを抽出
するプロセッサである。ベクトルデータとしては、始点
の座標と方向と長さ、あるいは始点と終点の座標といっ
た形式が考えられる。
【0025】次に、図2に示すフローチャートを参照し
て、データ処理ユニット10が実行する閉図形抽出処理
について説明する。
【0026】(1)ステップS100の動作 本実施例の画像処理装置は、閉図形抽出処理を開始する
と、まず画像の入力処理を行う。すなわち、ステップS
100において、データ処理ユニット10は、イメージ
スキャナ11によって読み取られたラスタデータを画像
入力ポート5の画像バッファに展開する。
【0027】(2)ステップS110の動作 次に、ステップS110において、データ処理ユニット
10は、画像入力ポート5の画像バッファに展開された
ラスタデータから線図形を構成する各線分のベクトルデ
ータを抽出する処理を行う。このベクトルデータの抽出
は、ラスタデータに対してベクトル演算用プロセッサ4
により行われ、RAM3の所定の領域に格納される。
【0028】本実施例では、ベクトルデータとして、図
5に示すように、固有の識別情報(以下、IDと称す
る)と始点座標と終点座標とを格納するようにしてい
る。なお、一例として、図9に示す線図形画像から、上
記ステップS110の処理により抽出されたベクトルV
1〜V24を図10に示しておく。
【0029】(3)ステップS120の動作 次に、ステップS120において、CPU1は、RAM
3に格納されたベクトルデータの各ベクトルの始点と終
点の接続状況を調べ、線図形をノード(開放点ノードま
たは屈曲点ノードまたは分岐点ノード)とアーク(ノー
ド間を結ぶベクトルの腕)で表記するグラフを作成す
る。
【0030】本実施例では、CPU1は、注目するベク
トルの始点について、その始点に接続される他のベクト
ル(始点側接続ベクトル)が存在しなければ、注目する
ベクトルの始点を開放点ノードとして抽出する。また、
注目するベクトルの始点側接続ベクトルが1つだけ存在
すれば、その始点を屈曲点ノードとして抽出する。ま
た、注目するベクトルの始点側接続ベクトルが2つ以上
存在すれば、その始点を分岐点ノードとして抽出する。
CPU1は、同様の処理を各ベクトルの始点について行
い、さらに同様の処理を各ベクトルの終点についても行
う。そして、CPU1は、抽出した各ノードについてR
AM3の所定の領域に、図6に示すように、固有のID
とそのノードに接続するベクトルの個数と各々のベクト
ルのIDとを格納する。また、CPU1は、各ベクトル
についてRAM3の所定の領域に、図7に示すように、
始点と終点に対応するノードのIDを格納する(以後、
これらの始点と終点に対応するノードのIDを格納した
ベクトルをアークとして扱う)。なお、一例として、図
10に示すベクトルから、上記ステップS120の処理
により作成されたグラフのノードN1〜N21とアーク
A1〜A24とを図11に示しておく。
【0031】(4)ステップS130の動作 次に、ステップS130において、CPU1は、RAM
3に格納されたノードとアークに対して、互いに接続す
るアークを追跡することにより、アーク列を抽出する処
理を行う。このステップS130のサブルーチンの詳細
は、図3に示されている。以下、図3を参照して、ステ
ップS130で実行されるアーク列の抽出処理をより詳
細に説明する。
【0032】まずステップS200において、CPU1
は、RAM3に格納されたすべてのアークに1対1に対
応するフラグを作成する。各フラグの内容は、「未追
跡」、「順方向追跡済」、「逆方向追跡済」、「両方向
追跡済」のいずれかで、初期状態としてすべて「未追
跡」に設定する。なお、アークの始点から終点の方向を
順方向、終点から始点の方向を逆方向とする。
【0033】次に、ステップS210において、CPU
1は、RAM3に格納されたすべてのアークのフラグを
調べ、「両方向追跡済」でないアークが存在するか否か
を判断する。このとき、「両方向追跡済」でないアーク
が存在する場合は、ステップS220に進み、CPU1
は、所定のアークのIDを追跡開始アークおよび追跡中
アークとしてRAM3内の所定の領域に設定し、抽出す
べきアーク列の先頭要素とする。
【0034】次に、ステップS230において、CPU
1は、追跡開始アークのフラグが「未追跡」または「逆
方向追跡済」であれば追跡開始アークの終点に対応する
ノードのIDを追跡開始ノードおよび追跡中ノードとし
てRAM3内の所定の領域に設定し、「順方向追跡済」
であれば追跡開始アークの始点に対応するノードのID
を追跡開始ノードおよび追跡中ノードとしてRAM3内
の所定の領域に設定する。
【0035】次に、ステップS240において、CPU
1は、追跡中ノードに接続するアークの数が1であるか
否か、すなわち追跡中ノードが開放点ノードであるか否
かを判断する。このとき、追跡中ノードに接続するアー
クの数が1でない場合、すなわち追跡中ノードが開放点
ノードでない場合は、ステップS260に進み、CPU
1は、追跡中ノードに接続するアークの数が2であるか
3以上であるか、すなわち追跡中ノードが屈曲点ノード
であるか分岐点ノードであるかを判断する。
【0036】上記ステップS240およびS260の判
断の結果、追跡中ノードに接続するアークの数が1であ
る場合、すなわち追跡中ノードが開放点ノードである場
合は、ステップS240からステップS250に進む。
このステップS250において、CPU1は、現在の追
跡中アークに関して現在の追跡中ノードとは反対側のノ
ードのID、すなわち現在の追跡中ノードが現在の追跡
中アークの始点に対応するノードと一致していれば終点
に対応するノードのIDを、逆に終点に対応するノード
と一致していれば現在の追跡中アークの始点に対応する
ノードのIDを、次の追跡中ノードとしてRAM3内の
所定の領域に更新的に設定する。
【0037】また、追跡中ノードに接続するアークの数
が2である場合、すなわち追跡中ノードが屈曲点ノード
である場合は、ステップS260からステップS270
に進む。このステップS270において、CPU1は、
現在の追跡中ノードに接続する2つのアークの内、現在
の追跡中アークと一致しないもう一方のアークのIDを
次の追跡中アークとしてRAM3内の所定の領域に更新
的に設定し、さらにこのとき設定された次の追跡中アー
クに関して現在の追跡中ノードとは反対側のノードのI
Dを次の追跡中ノードとしてRAM3内の所定の領域に
更新的に設定する。
【0038】また、追跡中ノードに接続するアークの数
が3以上である場合、すなわち追跡中ノードが分岐点ノ
ードである場合は、ステップS260からステップS2
80に進む。このステップS280において、CPU1
は、現在の追跡中ノードに接続する3以上のアークの
内、現在の追跡中アークを除き、当該追跡中アークから
見て最も右側に折れるアークのIDを次の追跡中アーク
としてRAM3内の所定の領域に更新的に設定し、さら
にこのとき設定された次の追跡中アーク関して現在の追
跡中ノードとは反対側のノードのIDを次の追跡中ノー
ドとしてRAM3内の所定の領域に更新的に設定する。
【0039】上記ステップS250,S270,S28
0の処理により、追跡中アークおよび追跡中ノードが、
次のアークおよび次のノードに更新される。
【0040】上記ステップS250,S270,S28
0の処理の後、ステップS290に進む。このステップ
S290において、CPU1は、ステップS250また
はS270またはS280で設定された追跡中ノード
が、同じくステップS250またはS270またはS2
80で設定された追跡中アークの終点に対応するノード
と一致し、当該追跡中アークのフラグが「未追跡」であ
れば、そのフラグを「順方向追跡済」に設定し、既に
「逆方向追跡済」であれば、「両方向追跡済」に設定す
る。また、当該追跡中ノードが当該追跡中アークの始点
に対応するノードと一致し、当該追跡中アークのフラグ
が「未追跡」であれば、そのフラグを「逆方向追跡済」
に設定し、既に「順方向追跡済」であれば、「両方向追
跡済」に設定する。
【0041】次に、ステップS300において、CPU
1は、追跡中アークが前述のステップS220で設定さ
れた追跡開始アークと一致し、かつ追跡中ノードが前述
のステップS230で設定された追跡開始ノードと一致
したか否か、すなわち追跡中アークおよび追跡中ノード
が追跡開始アークおよび追跡開始ノードに戻ったか否か
を判断する。追跡中アークおよび追跡中ノードが追跡開
始アークおよび追跡開始ノードに戻っていない場合は、
ステップS310に進み、CPU1は、追跡中アークの
IDを、抽出すべきアーク列の最終要素として付け加え
る。その後、CPU1は、ステップS240の動作に戻
り、再びステップS240〜S310の動作を繰り返
す。
【0042】一方、追跡中アークおよび追跡中ノードが
追跡開始アークおよび追跡開始ノードに戻った場合は、
ステップS320に進み、CPU1は、そのとき抽出し
たアーク列をRAM3の所定の領域に、図8に示すよう
に、固有のID、アーク列の長さと共に格納する。これ
によって、抽出されたアーク列が登録される。その後、
CPU1は、ステップS210の動作に戻り、再びステ
ップS210〜S320の動作を繰り返して別のアーク
列を抽出し、登録する。そして、RAM3に格納された
すべてのアークのフラグに「両方向追跡済」が設定され
ていることがステップS210で判断されると、ステッ
プS130の動作が終了し、図2のメインルーチンにリ
ターンする。
【0043】なお、一例として、図11に示すグラフか
ら、上記ステップS130の処理により抽出されたアー
ク列AR1〜AR5を、図12(a)〜(c)に示して
おく。
【0044】(5)ステップS140の動作 次に、ステップS140において、CPU1は、RAM
3に格納されたすべてのアーク列に対して、アーク列を
構成するアークおよびノードの通過回数を調べ、アーク
列を複数の部分アーク列に次々分割し、さらに各部分ア
ーク列の回る向き、すなわちアークの追跡方向を調べ、
右回りのアーク列を閉図形として抽出する処理を行う。
このステップS140のサブルーチンの詳細は、図4に
示されている。以下、図4を参照して、ステップS14
0で実行される閉図形の抽出処理をより詳細に説明す
る。
【0045】まず、ステップS400において、CPU
1は、RAM3に格納された先頭のアーク列に注目す
る。次に、ステップS410において、CPU1は、R
AM3に格納されたアーク列が空か否かを判断する。R
AM3に格納されたアーク列が空でない場合、すなわち
注目するアーク列が存在する場合は、ステップS420
において、CPU1は、注目するアーク列を構成する各
アークの、そのアーク列内における出現回数(追跡時の
通過回数に該当する)を計数する。
【0046】次に、ステップS430において、CPU
1は、注目するアーク列を構成する各アークの出現回数
がすべて2であるか否かを判断する。注目するアーク列
が出現回数が2以外のアークを含む場合は、ステップS
450に進み、CPU1は、各アークの出現回数がすべ
て1であるか否かを判断する。各アークの出現回数がす
べて1である場合は、ステップS460に進み、CPU
1は、注目するアーク列内の各ノードの通過回数を調べ
る。なお、各アークの出現回数がすべて1であるような
アーク列としては、例えば図12に示すようなアーク列
AR3,AR4およびAR5が挙げられる。
【0047】次に、ステップS470において、CPU
1は、注目するアーク列内に2回以上通過するノードが
存在するか否かを判断する。注目するアーク列内に2回
以上通過するノードが存在する場合、ステップS530
に進み、CPU1は、注目するアーク列を、注目するノ
ードから出て再び戻ってくるまでの部分アーク列と、そ
の他の部分アーク列とに2分割する。例えば、図12に
示すアーク列AR3の場合、2回以上通過するノードN
11(図11参照)が存在するため、このアーク列AR
3は、図13に示すように、注目するノードN11にお
いて2つの部分アーク列DA7およびDA8に分割され
る。
【0048】一方、前述のステップS450において、
注目するアーク列に出現回数が1のアークと2のアーク
とが混在していると判断された場合は、ステップS52
0に進み、CPU1は、注目するアーク列から、出現回
数が1のアークと2のアークとの境界にあるノードを探
索し、その内の1つのノードに注目する。例えば、図1
2に示すアーク列AR1およびAR2には、出現回数が
1のアークと2のアークとが混在している。そして、ア
ーク列AR1では、出現回数が1のアークと2のアーク
との境界にあるノードとしてノードN11およびN19
(図11参照)が探索され、その内の1つのノードN1
1またはN19が注目される。また、アーク列AR2で
は、出現回数が1のアークと2のアークとの境界にある
ノードとしてノードN9(図11参照)が探索されて注
目される。次に、ステップS530において、CPU1
は、注目するアーク列を、注目するノードから出て再び
戻ってくるまでの部分アーク列と、その他のアーク列と
に2分割する。例えば、図12に示すアーク列AR2
は、図13に示すように、注目するノードN9におい
て、2つの部分アーク列DA5およびDA6に分割され
る。
【0049】次に、ステップS540において、CPU
1は、2つに分割された各部分アーク列をRAM3に格
納されたアーク列の最後に加えて、格納する。このよう
に分割された部分アーク列を、そのまま閉図形として登
録せず、RAM3に格納されたアーク列の最後に加える
のは、分割された部分アーク列がさらに分割可能な場合
があるからである。例えば、図12に示すアーク列AR
1がノードN11で分割されると、図13において、部
分アーク列DA3はそれ以上分割不能であるが、残りの
部分アーク列は、さらに部分アーク列DA1とDA2と
DA4に分割が可能である。また、アーク列AR1がノ
ードN19で分割されても、部分アーク列DA4はそれ
以上分割不能であるが、残りの部分アーク列は、さらに
部分アーク列DA1とDA2とDA3に分割が可能であ
る。
【0050】次に、ステップS550において、CPU
1は、RAM3に格納された次のアーク列に注目し、再
びステップS410の動作に戻る。そして、CPU1
は、アーク列または部分アーク列が分割不能になるま
で、その分割動作を繰り返す。例えば、図12に示すア
ーク列AR1〜AR5は、最終的に図13に示す部分ア
ーク列DA1〜DA10に分割される。
【0051】上記分割の途中に、または分割の終了後
に、前述のステップS430において、注目するアーク
列を構成する各アークの出現回数がすべて2であると判
断された場合は、ステップS440進み、CPU1は、
注目するアーク列が閉図形以外の図形であると判断し、
ステップS550において次のアーク列に注目する。各
アークの出現回数がすべて2であるようなアーク列とし
ては、例えば図13に示すDA3,DA4,DA6が挙
げられる。
【0052】また、上記分割の途中に、または分割の終
了後に、前述のステップS470において、注目するア
ーク列内に2回以上通過するノードが存在しないと判断
された場合は、ステップS480に進み、CPU1は、
アーク列の回る向きを調べる。次に、ステップS490
において、CPU1は、注目するアーク列の回る向きが
右回りか否かを判断する。アーク列の回る向きが左回り
の場合は、ステップS500において、CPU1は、注
目するアーク列を最も外側の閉図形、すなわち外回り閉
図形(例えば、図13に示す部分アーク列DA1,DA
2,DA8)であると判断し、ステップS550におい
て次のアーク列に注目する。一方、注目するアーク列の
回る向きが右回りの場合は、ステップS510におい
て、CPU1は、注目するアーク列を他の閉図形を内側
に含まない閉図形(例えば、図13に示す部分アーク列
DA5,DA7,DA9,DA10)であると判断し、
RAM3の所定の領域に登録する。
【0053】ステップS510の動作の後、CPU1
は、ステップS550において、RAM3に格納された
次のアーク列に注目する。以後、CPU1は、RAM3
に格納されたアーク列が空になるまで、ステップS40
0〜550の動作を繰り返し実行する。これによって、
線図形に含まれるすべての閉図形が抽出される。図14
は、上記ステップS140の処理により、図12に示す
アーク列から抽出された閉図形L1〜L4を示してい
る。RAM3に格納されたアーク列が空になると、CP
U1は、ステップS410でそのことを判断した後、再
び図2のメインルーチンの動作に戻る。
【0054】(6)ステップS150の動作 次に、ステップS150において、CPU1は、閉図形
の抽出結果を端末制御部6を介して端末機12に出力
し、その動作を完了する。
【0055】以上説明した本実施例の画像処理装置によ
れば、アークの追跡を閉図形以外の図形部分に到達して
も続行し、すべてのアーク列を抽出した後に、閉図形と
閉図形以外の図形とに分離するため、追跡時に複雑な条
件判断を行うことなく高速に、しかも正しく閉図形を抽
出することができる。
【0056】なお、上記実施例では、閉図形を抽出すべ
き線図形のデータをイメージスキャナ11から入力する
ようにしたが、このような線図形のデータは端末機12
またはその他の入力機器から入力されてもよい。この場
合、データ処理ユニット10に入力される線図形のデー
タは、キーまたはマウスの操作により画面上で作成され
たデータや、磁気記録ディスクから読み取られたデータ
になる。
【0057】
【発明の効果】以上説明したように、本発明によれば、
アークの追跡を閉図形以外の図形部分に到達しても続行
し、すべてのアーク列を抽出した後に、閉図形と閉図形
以外の図形とに分離しているので、閉図形以外の図形部
分を含む任意の線図形について、追跡時に複雑な条件判
断を行うことなく高速に、しかも正しく閉図形を抽出す
ることができる。
【図面の簡単な説明】
【図1】この発明の一実施例の画像処理装置の構成を示
すブロック図である。
【図2】図1に示すデータ処理ユニット10が実行する
閉図形抽出処理の概要を示すフローチャートである。
【図3】図2に示すフローチャートにおけるサブルーチ
ンステップS130の詳細動作を示すフローチャートで
ある。
【図4】図2に示すフローチャートにおけるサブルーチ
ンステップS140の詳細動作を示すフローチャートで
ある。
【図5】線図形のラスタデータから抽出されたベクトル
データの格納形式の一例を示す図解図である。
【図6】図5に示すベクトルデータに基づいて作成され
たノードデータの格納形式の一例を示す図解図である。
【図7】図5に示すベクトルデータに基づいて作成され
たアークデータの格納形式の一例を示す図解図である。
【図8】アークの追跡によって抽出されたアーク列のデ
ータの格納形式の一例を示す図解図である。
【図9】閉図形以外の図形部分を含み、かつ一方の閉図
形が他方の閉図形に1点で内接するような閉図形を含む
線図形の一例を示す図である。
【図10】本実施例の画像処理装置が図9に示す線図形
から抽出したベクトルデータを視覚的に表す図解図であ
る。
【図11】本実施例の画像処理装置が図10に示すベク
トルデータに基づいて作成したノードおよびアークのグ
ラフを視覚的に表す図解図である。
【図12】本実施例の画像処理装置が図11に示すノー
ドおよびアークを追跡することによって得られたアーク
列を示す図解図である。
【図13】本実施例の画像処理装置が図12に示す各ア
ーク列を分割することによって得られた部分アーク列を
示す図解図である。
【図14】本実施例の画像処理装置が図9に示す線図形
から抽出した閉図形を示す図解図である。
【図15】第1の従来技術が処理可能な線図形の一例を
示す図解図である。
【図16】第1の従来技術が図15に示す線図形から抽
出したベクトルデータを視覚的に表す図解図である。
【図17】第1の従来技術が図16に示すベクトルデー
タに基づいて作成したノードおよびアークのグラフを視
覚的に表す図解図である。
【図18】第1の従来技術が図17に示すノードおよび
アークを追跡することによって得られたアーク列を示す
図解図である。
【図19】第1の従来技術が図15に示す線図形から抽
出した閉図形を示す図解図である。
【図20】一方の閉図形が他方の閉図形に1点で内接す
るような線図形の一例を示す図解図であり、第1の従来
技術が処理不能な線図形の一例を示している。
【図21】第1の従来技術が図20に示す線図形から抽
出したアーク列を示す図解図である。
【図22】閉図形以外の図形部分を含み、かつ当該閉図
形以外の図形部分に分岐点ノードを有するような線図形
の一例を示す図解図である。
【図23】第2の従来技術が図22に示す線図形のアー
クを左回り方向に追跡したときに生じる追跡の中断現象
を説明するための図解図である。
【図24】第2の従来技術が図22に示す線図形のアー
クを右回り方向に追跡したときに生じる追跡の中断現象
を説明するための図解図である。
【符号の説明】
1:CPU 2:ROM 3:RAM 4:ベクトル演算用プロセッサ 5:画像入力ポート 6:端末制御部 10:データ処理ユニット 11:イメージスキャナ 12:端末機

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の線分によって構成される線図形の
    中から、空間的に閉塞した領域としての閉図形を抽出す
    る閉図形抽出装置であって、 入力された線図形のデータから各線分に対応するベクト
    ルデータを抽出するベクトルデータ抽出手段、 前記ベクトルデータ抽出手段によって抽出されたベクト
    ルデータ内の各ベクトルの始点と終点の接続状況を調べ
    ることにより、前記線図形をノードとアークの接続関係
    で表記したグラフを作成するグラフ作成手段、 前記グラフ作成手段によって作成されたグラフ内におけ
    る任意のアークを追跡開始アークとしてこの追跡開始ア
    ークに連なる各アークを順次的かつ連続的に追跡し、再
    び追跡開始アークの追跡開始方向に戻るまでアークの追
    跡を中断することなく続行し、さらに前記線図形中のす
    べてのアークについて両方向の追跡が行われるまで追跡
    開始アークまたは追跡方向を変えてアークの追跡を繰り
    返すアーク追跡手段、 前記アーク追跡手段によるアークの追跡結果に基づい
    て、前記閉図形を構成する候補としてのアーク列を抽出
    するアーク列抽出手段、 前記アーク列抽出手段によって抽出されたアーク列を、
    そのアーク列内におけるアークおよびノードの通過回数
    を基準にして複数の部分アーク列に分割する分割手段、
    およびアークの追跡方向を基準にして、前記分割手段に
    よって分割された部分アーク列および/または分割不能
    であったアーク列の中から、閉図形を構成するアーク列
    を分離する分離手段を備える、閉図形抽出装置。
JP4296344A 1992-10-06 1992-10-06 閉図形抽出装置 Expired - Lifetime JP2942681B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4296344A JP2942681B2 (ja) 1992-10-06 1992-10-06 閉図形抽出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4296344A JP2942681B2 (ja) 1992-10-06 1992-10-06 閉図形抽出装置

Publications (2)

Publication Number Publication Date
JPH06119446A true JPH06119446A (ja) 1994-04-28
JP2942681B2 JP2942681B2 (ja) 1999-08-30

Family

ID=17832337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4296344A Expired - Lifetime JP2942681B2 (ja) 1992-10-06 1992-10-06 閉図形抽出装置

Country Status (1)

Country Link
JP (1) JP2942681B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4126645C2 (de) * 1990-08-13 2000-06-21 Gunze Kk Vorrichtung für die halternde Führung eines verschiebbaren Flügels, insbesondere einer Glasscheibe für ein Kraftfahrzeug
JP2007128173A (ja) * 2005-11-01 2007-05-24 Fuji Heavy Ind Ltd Cadを用いた面積算出方法
US7468734B2 (en) 2003-12-19 2008-12-23 Dainippon Screen Mfg. Co., Ltd. Apparatus for and method of graphic processing and computer-readable program

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6239204B1 (ja) * 2016-07-01 2017-11-29 三菱電機株式会社 図形選択装置
WO2018003206A1 (ja) * 2016-07-01 2018-01-04 三菱電機株式会社 図形選択装置、図形選択方法および図形選択プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4126645C2 (de) * 1990-08-13 2000-06-21 Gunze Kk Vorrichtung für die halternde Führung eines verschiebbaren Flügels, insbesondere einer Glasscheibe für ein Kraftfahrzeug
US7468734B2 (en) 2003-12-19 2008-12-23 Dainippon Screen Mfg. Co., Ltd. Apparatus for and method of graphic processing and computer-readable program
JP2007128173A (ja) * 2005-11-01 2007-05-24 Fuji Heavy Ind Ltd Cadを用いた面積算出方法

Also Published As

Publication number Publication date
JP2942681B2 (ja) 1999-08-30

Similar Documents

Publication Publication Date Title
JP4547366B2 (ja) 文字入力装置、その制御方法、プログラム及び情報記憶媒体
JP2942681B2 (ja) 閉図形抽出装置
JP2000305933A (ja) 情報検索装置、情報検索方法、及び記憶媒体
JP3980392B2 (ja) 画像処理検査装置の開発支援システム及び開発支援方法
CN114489914B (zh) 一种pcb板智能检测系统的模板关键区的生成方法、电子设备
JPH11187231A (ja) 画像検索装置及び画像検索方法
JPH02108157A (ja) 情報検索方法
KR0152325B1 (ko) 하이퍼미디어 시스템에서의 자동표현 제어회로 및 그 방법
JPH05225286A (ja) 回路素子接続検索方式
JP6213656B2 (ja) 情報検索装置、情報検索方法、およびプログラム
JP2867650B2 (ja) シンボル候補領域の検出方法
JP2519782B2 (ja) 文字分離方式
JPH06139360A (ja) 線種認識方法及び装置
CN112631525A (zh) 存储及显示方法、装置、设备及介质
JPS62281082A (ja) 文字認識装置
JP2842271B2 (ja) 手書き文字列入力装置
JPH09265472A (ja) 画像データベースシステム
JPH10207919A (ja) 印刷配線板cad装置及びその配線設計方法
JP2000112991A (ja) 情報検索装置、情報検索方法及び記憶媒体
JPH10105645A (ja) 文字認識装置
JPH0239376A (ja) 論理回路合成装置
JPH0778195A (ja) 回路設計cadにおけるデータ更新方式
JPH04257084A (ja) 線図形の識別方法
JPH11119964A (ja) 通信用アドレス指示方法およびその装置
JPH01209586A (ja) 倍角文字・半角文字混在文章の文字認識方式