JPH0981740A - 線図形入力装置 - Google Patents
線図形入力装置Info
- Publication number
- JPH0981740A JPH0981740A JP7234512A JP23451295A JPH0981740A JP H0981740 A JPH0981740 A JP H0981740A JP 7234512 A JP7234512 A JP 7234512A JP 23451295 A JP23451295 A JP 23451295A JP H0981740 A JPH0981740 A JP H0981740A
- Authority
- JP
- Japan
- Prior art keywords
- line
- line segment
- segment
- processing
- image
- 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.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
(57)【要約】
【課題】 画像データ中の線分を正確に認識し、複数の
線分が接触し、一本になった部分でも分離して線分が抽
出でき、また途切れた部分でも接続し得る線図形入力装
置を提供すること。 【解決手段】 入力された線画を含む画像データから線
分を抽出する線図形入力装置において、前記画像データ
に条件の異なる複数の細線化処理を施す手段と、前記複
数の細線化処理の結果をもとにして所定の論理演算を行
なう手段と、この論理演算の結果に基づいて線分を抽出
する手段とを具備することを特徴とする。
線分が接触し、一本になった部分でも分離して線分が抽
出でき、また途切れた部分でも接続し得る線図形入力装
置を提供すること。 【解決手段】 入力された線画を含む画像データから線
分を抽出する線図形入力装置において、前記画像データ
に条件の異なる複数の細線化処理を施す手段と、前記複
数の細線化処理の結果をもとにして所定の論理演算を行
なう手段と、この論理演算の結果に基づいて線分を抽出
する手段とを具備することを特徴とする。
Description
【0001】
【発明の属する技術分野】本発明は、図面中の線分を認
識する線図形入力装置に関する。
識する線図形入力装置に関する。
【0002】
【従来の技術】近時、設計図面や地図等の各種図面を計
算機を用いて管理するためのシステムが盛んに開発され
ている。各種図面を計算機で管理するためには、これら
各種図面を計算機での取扱が容易なデータ形式であるベ
クトル情報に予め変換してから当該計算機に入力する必
要がある。そのための自動ディジタイジングの方法とし
て、ラスタベクタ変換技術がある。
算機を用いて管理するためのシステムが盛んに開発され
ている。各種図面を計算機で管理するためには、これら
各種図面を計算機での取扱が容易なデータ形式であるベ
クトル情報に予め変換してから当該計算機に入力する必
要がある。そのための自動ディジタイジングの方法とし
て、ラスタベクタ変換技術がある。
【0003】従来の代表的な方式としては、画像入力手
段によって図面を走査して得られた画像から線幅が1の
細線化画像を求め、細線化画像上で特徴点(交差点、屈
折点等)を抽出し、その間を折れ線近似する方法や、輪
郭線画像を求め、相対する輪郭線の中心線を求めて線分
近似する方法等がある。
段によって図面を走査して得られた画像から線幅が1の
細線化画像を求め、細線化画像上で特徴点(交差点、屈
折点等)を抽出し、その間を折れ線近似する方法や、輪
郭線画像を求め、相対する輪郭線の中心線を求めて線分
近似する方法等がある。
【0004】しかしながら、従来のラスタベクタ変換技
術においては、各種図面等の入力された線画像がかすれ
ている部分やつぶれて接触している部分では、線が途切
れたり、一本の線と認識され、認識された線がひずむと
いった問題点があった。
術においては、各種図面等の入力された線画像がかすれ
ている部分やつぶれて接触している部分では、線が途切
れたり、一本の線と認識され、認識された線がひずむと
いった問題点があった。
【0005】自動抽出した線分は、誤抽出等を削除した
り、抽出されなかった線分を追加するといった編集作業
が必要となる。この編集作業に多くの時間を要するとい
った問題もあった。
り、抽出されなかった線分を追加するといった編集作業
が必要となる。この編集作業に多くの時間を要するとい
った問題もあった。
【0006】
【発明が解決しようとする課題】従来は、入力画像デー
タの状態により、線分を誤って認識することがさけられ
なかった。また、線分の認識についてユーザが指示を入
力する場合、非常に繁雑な作業を強いられていた。
タの状態により、線分を誤って認識することがさけられ
なかった。また、線分の認識についてユーザが指示を入
力する場合、非常に繁雑な作業を強いられていた。
【0007】本発明は、上記事情を考慮してなされたも
のであり、画像データ中の線分を正確かつ効率的に認識
することのできる線図形入力装置を提供することを目的
とする。
のであり、画像データ中の線分を正確かつ効率的に認識
することのできる線図形入力装置を提供することを目的
とする。
【0008】また、本発明は、複数の線分が接触し一本
になった部分でも分離して線分が抽出でき、また途切れ
た部分でも接続し得る線図形入力装置を提供することを
目的とする。
になった部分でも分離して線分が抽出でき、また途切れ
た部分でも接続し得る線図形入力装置を提供することを
目的とする。
【0009】また、本発明は、ユーザの簡単な指示によ
り、画像データ中の線分を正確かつ効率的に抽出するこ
とのできる線図形入力装置を提供することを目的とす
る。
り、画像データ中の線分を正確かつ効率的に抽出するこ
とのできる線図形入力装置を提供することを目的とす
る。
【0010】また、本発明は、ユーザが容易に、抽出さ
れた線分を編集することのできる線図形入力装置を提供
することを目的とする。
れた線分を編集することのできる線図形入力装置を提供
することを目的とする。
【0011】
【課題を解決するための手段】本発明(請求項1)は、
入力された線画を含む画像データから線分を抽出する線
図形入力装置において、前記画像データに条件の異なる
複数の細線化処理を施す手段と、前記複数の細線化処理
の結果をもとにして所定の論理演算を行なう手段と、こ
の論理演算の結果に基づいて線分を抽出する手段とを具
備することを特徴とする。
入力された線画を含む画像データから線分を抽出する線
図形入力装置において、前記画像データに条件の異なる
複数の細線化処理を施す手段と、前記複数の細線化処理
の結果をもとにして所定の論理演算を行なう手段と、こ
の論理演算の結果に基づいて線分を抽出する手段とを具
備することを特徴とする。
【0012】本発明によれば、細線化の条件を変えて行
なった処理結果同士を論理演算(例えば排他的論理和)
することで、つぶれ部分を適宜処理することができる。
例えば、つぶれ部分以外の細線を抽出することができ、
あるいはつぶれ部分を離した線分を抽出することができ
る。
なった処理結果同士を論理演算(例えば排他的論理和)
することで、つぶれ部分を適宜処理することができる。
例えば、つぶれ部分以外の細線を抽出することができ、
あるいはつぶれ部分を離した線分を抽出することができ
る。
【0013】また、画像からプリミティブを抽出する細
線化の過程を履歴として保存しておけば、この履歴から
つぶれ部分を推定することができる。
線化の過程を履歴として保存しておけば、この履歴から
つぶれ部分を推定することができる。
【0014】本発明(請求項2)は、入力された線画を
含む画像データから線分を抽出する線図形入力装置にお
いて、前記画像データから少なくとも1種類のプリミテ
ィブを抽出する手段と、同一種類のプリミティブの隣接
情報および複数の種類のプリミティブの対応情報のうち
少なくともいずれか一方を含む情報に基づいて、抽出さ
れた前記プリミティブを編集する手段とを具備すること
を特徴とする。
含む画像データから線分を抽出する線図形入力装置にお
いて、前記画像データから少なくとも1種類のプリミテ
ィブを抽出する手段と、同一種類のプリミティブの隣接
情報および複数の種類のプリミティブの対応情報のうち
少なくともいずれか一方を含む情報に基づいて、抽出さ
れた前記プリミティブを編集する手段とを具備すること
を特徴とする。
【0015】好ましくは、前記編集する手段は、前記情
報に基づいて、抽出された前記プリミティブをマージす
るものであることを特徴とする。
報に基づいて、抽出された前記プリミティブをマージす
るものであることを特徴とする。
【0016】また、好ましくは、前記編集する手段は、
前記情報に基づいて、抽出された前記プリミティブのう
ち隣接する前記プリミティブの途切れを接続するか否か
を判断し、接続すると判断された前記プリミティブの途
切れを接続するするものであることを特徴とする。
前記情報に基づいて、抽出された前記プリミティブのう
ち隣接する前記プリミティブの途切れを接続するか否か
を判断し、接続すると判断された前記プリミティブの途
切れを接続するするものであることを特徴とする。
【0017】本発明によれば、同一種類のプリミティブ
(例えば細線)の隣接情報、複数の種類のプリミティブ
(例えば細線と輪郭線)の対応情報といった、プリミテ
ィブ間の情報に基づいて、プリミティブを編集(例えば
マージ、途切れの接続等)するので、正確かつ効率的に
プリミティブを編集し線分を認識することができる。
(例えば細線)の隣接情報、複数の種類のプリミティブ
(例えば細線と輪郭線)の対応情報といった、プリミテ
ィブ間の情報に基づいて、プリミティブを編集(例えば
マージ、途切れの接続等)するので、正確かつ効率的に
プリミティブを編集し線分を認識することができる。
【0018】従って、画像の線がつぶれて接触していた
り、かすれて途切れている線に対しても、精度よく線分
を抽出することができ、また短時間で編集することがで
きる。
り、かすれて途切れている線に対しても、精度よく線分
を抽出することができ、また短時間で編集することがで
きる。
【0019】また、周囲のプリミティブの隣接情報を参
照することによって、途切れ部分の接続を行なうため、
低画質の画素からでも安定して線分を抽出できる。
照することによって、途切れ部分の接続を行なうため、
低画質の画素からでも安定して線分を抽出できる。
【0020】また、複数のプリミティブの対応関係を用
いているため、接触点や交差点で途切れている部分でも
他のプリミティブの接続状態から、線分をつなぐことが
でき、高精度な線分が抽出できる。
いているため、接触点や交差点で途切れている部分でも
他のプリミティブの接続状態から、線分をつなぐことが
でき、高精度な線分が抽出できる。
【0021】本発明は、入力された線画を含む画像デー
タから線分を形成する線図形入力装置において、前記画
像データから少なくとも1種類のプリミティブを抽出す
る手段と、抽出された前記プリミティブを表示する手段
と、表示された前記プリミティブに対する所望の位置に
点列または線分を入力するための手段と、抽出された前
記プリミティブのうち、入力された前記点列または線分
の両側に位置するプリミティブを探索する手段と、入力
された前記点列または線分に基づいて、探索された前記
プリミティブをマージする手段とを具備することを特徴
とする。
タから線分を形成する線図形入力装置において、前記画
像データから少なくとも1種類のプリミティブを抽出す
る手段と、抽出された前記プリミティブを表示する手段
と、表示された前記プリミティブに対する所望の位置に
点列または線分を入力するための手段と、抽出された前
記プリミティブのうち、入力された前記点列または線分
の両側に位置するプリミティブを探索する手段と、入力
された前記点列または線分に基づいて、探索された前記
プリミティブをマージする手段とを具備することを特徴
とする。
【0022】好ましくは、前記探索する手段により探索
された前記プリミティブに途切れが存在する場合、入力
された前記点列または線分に基づいて、該途切れを接続
する手段をさらに具備することを特徴とする。
された前記プリミティブに途切れが存在する場合、入力
された前記点列または線分に基づいて、該途切れを接続
する手段をさらに具備することを特徴とする。
【0023】このように本発明によれば、ユーザが、従
来のように厳密な指示ではなく、簡単な指示を入力する
ことで、プリミティブを適宜編集(例えばマージ、途切
れの接続等)して線分を認識するので、図面を効率よく
入力することができる。
来のように厳密な指示ではなく、簡単な指示を入力する
ことで、プリミティブを適宜編集(例えばマージ、途切
れの接続等)して線分を認識するので、図面を効率よく
入力することができる。
【0024】本発明(請求項3)は、入力された線画を
含む画像データから線分を抽出入力する線図形入力装置
において、前記画像データから少なくとも1種類のプリ
ミティブを抽出する手段と、複数のプリミティブからな
る閉図形の内側の部分または外側の部分のいずれかを指
示するための手段と、内側の部分が指示された場合、指
示された部分から外側に向けてプリミティブを探索し、
外側の部分が指示された場合、指示された部分から内側
に向けてプリミティブを探索する手段と、探索されたプ
リミティブをマージする手段とを具備することを特徴と
する。
含む画像データから線分を抽出入力する線図形入力装置
において、前記画像データから少なくとも1種類のプリ
ミティブを抽出する手段と、複数のプリミティブからな
る閉図形の内側の部分または外側の部分のいずれかを指
示するための手段と、内側の部分が指示された場合、指
示された部分から外側に向けてプリミティブを探索し、
外側の部分が指示された場合、指示された部分から内側
に向けてプリミティブを探索する手段と、探索されたプ
リミティブをマージする手段とを具備することを特徴と
する。
【0025】このように本発明によれば、ユーザが、従
来のように厳密な指示ではなく、簡単な指示を入力する
ことで、プリミティブを所定の閉図形として認識するこ
とができ、閉図形を効率よく入力することができる。
来のように厳密な指示ではなく、簡単な指示を入力する
ことで、プリミティブを所定の閉図形として認識するこ
とができ、閉図形を効率よく入力することができる。
【0026】本発明(請求項4)は、入力された線画を
含む画像データから線分を抽出する線図形入力装置にお
いて、任意の図形を探索する手段と、探索された前記図
形を整列して表示する手段と、整列して表示された前記
図形を編集するための手段とを具備することを特徴とす
る。
含む画像データから線分を抽出する線図形入力装置にお
いて、任意の図形を探索する手段と、探索された前記図
形を整列して表示する手段と、整列して表示された前記
図形を編集するための手段とを具備することを特徴とす
る。
【0027】本発明によれば、ユーザは、図形の編集や
確認を容易に行なうことができる。
確認を容易に行なうことができる。
【0028】本発明は、線画を含む画像データから線分
を抽出する線図形入力装置において、前記画像データか
ら少なくとも1種類のプリミティブを抽出する手段と、
抽出されたプリミティブのうち所望のプリミティブを処
理対象として指示するとともに、当該1つのプリミティ
ブだけをピックするか、該プリミティブを含む複数のプ
リミティブをピックするかを指示するための手段と、前
記プリミティブを含む複数のプリミティブをピックする
ことを指示された場合、指示された前記プリミティブの
周辺のプリミティブを処理対象として探索する手段と、
指示された処理内容に従って、処理対象の前記プリミテ
ィブを処理する手段とを具備することを特徴とする。
を抽出する線図形入力装置において、前記画像データか
ら少なくとも1種類のプリミティブを抽出する手段と、
抽出されたプリミティブのうち所望のプリミティブを処
理対象として指示するとともに、当該1つのプリミティ
ブだけをピックするか、該プリミティブを含む複数のプ
リミティブをピックするかを指示するための手段と、前
記プリミティブを含む複数のプリミティブをピックする
ことを指示された場合、指示された前記プリミティブの
周辺のプリミティブを処理対象として探索する手段と、
指示された処理内容に従って、処理対象の前記プリミテ
ィブを処理する手段とを具備することを特徴とする。
【0029】本発明によれば、ユーザは、図形の処理を
対話的に行なう際に、処理対象のプリミティブの指示を
容易に行なうことができる。
対話的に行なう際に、処理対象のプリミティブの指示を
容易に行なうことができる。
【0030】
【発明の実施の形態】以下、図面を参照しながらこの発
明の実施の形態を説明する。
明の実施の形態を説明する。
【0031】図1は、この発明の実施の形態に係る線図
形認識装置の概略構成を示すブロック図である。図1の
ように、この実施の形態の線図形認識装置は、入力部
1、輪郭線抽出部2、細線化処理部3、細線と輪郭線の
対応付け処理部(以下、対応付け処理部と略す)4、線
分探索部5、線分接続判定部6、線分接続処理部7、線
分整形処理部8、認識結果出力部9、記憶部10によっ
て構成される。
形認識装置の概略構成を示すブロック図である。図1の
ように、この実施の形態の線図形認識装置は、入力部
1、輪郭線抽出部2、細線化処理部3、細線と輪郭線の
対応付け処理部(以下、対応付け処理部と略す)4、線
分探索部5、線分接続判定部6、線分接続処理部7、線
分整形処理部8、認識結果出力部9、記憶部10によっ
て構成される。
【0032】入力部1は、紙面に記載されている文字や
図形の線分を2値の画像として取り込む。入力部1に
は、紙面上の画像を光学像として取り込み電気信号に変
換する装置、例えばイメージスキャナを用いることがで
きる。
図形の線分を2値の画像として取り込む。入力部1に
は、紙面上の画像を光学像として取り込み電気信号に変
換する装置、例えばイメージスキャナを用いることがで
きる。
【0033】なお、すでに電気信号に変換され2値化さ
れている画像データを外部から読み込んで処理しても良
い。この場合、入力部1には、必要に応じ通信インタフ
ェース装置や磁気記録再生装置等を用いることができ
る。
れている画像データを外部から読み込んで処理しても良
い。この場合、入力部1には、必要に応じ通信インタフ
ェース装置や磁気記録再生装置等を用いることができ
る。
【0034】輪郭線抽出部2は、取り込まれた画像から
2値画像の白黒の境界を抽出する。このとき、抽出した
輪郭線の点列を短線分で近似しても良い。
2値画像の白黒の境界を抽出する。このとき、抽出した
輪郭線の点列を短線分で近似しても良い。
【0035】細線化処理部3は、取り込まれた2値画像
を幅が1になるまで細めた線分を抽出する。このとき、
抽出した細線の点列を短線分で近似しても良い。この実
施の形態では、必要に応じて、つぶれ部分の処理を行な
う。
を幅が1になるまで細めた線分を抽出する。このとき、
抽出した細線の点列を短線分で近似しても良い。この実
施の形態では、必要に応じて、つぶれ部分の処理を行な
う。
【0036】対応付け処理部4は、輪郭抽出部2によっ
て抽出された輪郭線と細線化処理部3によって抽出され
た細線とを原画像の対応関係に基づいてリンク付けす
る。
て抽出された輪郭線と細線化処理部3によって抽出され
た細線とを原画像の対応関係に基づいてリンク付けす
る。
【0037】線分探索部5は、対応付け処理部4での結
果に基づいて、接続する候補となる線分を探索する。
果に基づいて、接続する候補となる線分を探索する。
【0038】線分接続判定部6は、線分探索部5で探索
された線分が一連の線分列としてマージすべきものであ
るか否かを判定する。
された線分が一連の線分列としてマージすべきものであ
るか否かを判定する。
【0039】線分接続処理部7は、線分判定部6の結果
を用いて、接続すべきと判定された線分を接続する処理
を行なう。この実施の形態では、必要に応じて、接続点
同士の間を補完する処理も行なう。
を用いて、接続すべきと判定された線分を接続する処理
を行なう。この実施の形態では、必要に応じて、接続点
同士の間を補完する処理も行なう。
【0040】線分整形処理部8は、輪郭線、細線もしく
は抽出された線分を、必要に応じて整形する。
は抽出された線分を、必要に応じて整形する。
【0041】認識結果出力部9は、抽出された線分を出
力する。出力されたデータ等は記憶部10に記憶され、
あるいはCRTなどの表示装置に表示される。また、記
憶部10は、処理中のデータ等も記憶する。
力する。出力されたデータ等は記憶部10に記憶され、
あるいはCRTなどの表示装置に表示される。また、記
憶部10は、処理中のデータ等も記憶する。
【0042】図2は、この実施の形態の線図形認識装置
を実現するためのハードウェア構成の一例であり、線図
形認識処理を処理プロセッサにより実現した例である。
図2の構成では装置全体の制御を処理プロセッサ11が
行なう。入力したい紙面は、イメージスキャナ12を用
いて2値画像として入力され、スキャナインタフェース
13を介し、画像メモリコントローラ14の制御により
画像バス19を経由して画像メモリ15に格納される。
画像メモリ15のアドレス制御は、アドレスコントロー
ラ16が行なう。あらかじめメモリ17に格納された線
図形抽出プログラムにより、処理プロセッサ11におい
て、線図形認識処理を行なう。処理途中のデータや処理
結果の線分等は、一旦メモリ17に格納され、必要に応
じてハードディスク等の記憶装置やCRTなどの表示装
置(図示せず)に出力される。
を実現するためのハードウェア構成の一例であり、線図
形認識処理を処理プロセッサにより実現した例である。
図2の構成では装置全体の制御を処理プロセッサ11が
行なう。入力したい紙面は、イメージスキャナ12を用
いて2値画像として入力され、スキャナインタフェース
13を介し、画像メモリコントローラ14の制御により
画像バス19を経由して画像メモリ15に格納される。
画像メモリ15のアドレス制御は、アドレスコントロー
ラ16が行なう。あらかじめメモリ17に格納された線
図形抽出プログラムにより、処理プロセッサ11におい
て、線図形認識処理を行なう。処理途中のデータや処理
結果の線分等は、一旦メモリ17に格納され、必要に応
じてハードディスク等の記憶装置やCRTなどの表示装
置(図示せず)に出力される。
【0043】図2の構成の代わりに、この実施の形態の
線図形認識装置は、すべてハードウェアによって実現し
ても良い。また、図1の機能ブロックのうち所望のもの
だけをハードウェア化し、残りの機能ブロックはソフト
ウェアにより実現しても良い。
線図形認識装置は、すべてハードウェアによって実現し
ても良い。また、図1の機能ブロックのうち所望のもの
だけをハードウェア化し、残りの機能ブロックはソフト
ウェアにより実現しても良い。
【0044】図3は、この実施の形態の線図形認識装置
による線図形認識処理の概要を示すフローチャートであ
る。最初に、この線図形認識処理の概略を説明する。
による線図形認識処理の概要を示すフローチャートであ
る。最初に、この線図形認識処理の概略を説明する。
【0045】まず、ステップS20において入力部1に
より、紙面に記載されている文字や図形が2値の画像と
して取り込まれる。
より、紙面に記載されている文字や図形が2値の画像と
して取り込まれる。
【0046】次に、ステップS21において輪郭線抽出
部2により、入力画像の輪郭線が抽出され、必要に応じ
て短線分近似が行なわれる。また、ステップS22にお
いて細線化処理部3により、入力画像の細線化処理が行
なわれ、必要に応じて短線分近似が行なわれる。ステッ
プS21の輪郭線抽出処理とステップS22の細線化処
理は、図3で示すように、パラレルに行なうと全体処理
が高速化され効果的であるが、必要に応じて、輪郭線抽
出処理を行なってから細線化処理を行なってもよいし、
細線化処理を行なってから輪郭線抽出処理を行なっても
構わない。なお、各細線や各輪郭線の線分データは、例
えば、両端点の座標値により構成する。
部2により、入力画像の輪郭線が抽出され、必要に応じ
て短線分近似が行なわれる。また、ステップS22にお
いて細線化処理部3により、入力画像の細線化処理が行
なわれ、必要に応じて短線分近似が行なわれる。ステッ
プS21の輪郭線抽出処理とステップS22の細線化処
理は、図3で示すように、パラレルに行なうと全体処理
が高速化され効果的であるが、必要に応じて、輪郭線抽
出処理を行なってから細線化処理を行なってもよいし、
細線化処理を行なってから輪郭線抽出処理を行なっても
構わない。なお、各細線や各輪郭線の線分データは、例
えば、両端点の座標値により構成する。
【0047】次に、ステップS23において対応付け処
理部4により、細線と輪郭線との対応関係が調べられ、
リンク付けが行なわれる。ここでは、例えば、両側の輪
郭にはさまれる細線をその両側の輪郭線とリンク付けす
る。
理部4により、細線と輪郭線との対応関係が調べられ、
リンク付けが行なわれる。ここでは、例えば、両側の輪
郭にはさまれる細線をその両側の輪郭線とリンク付けす
る。
【0048】次に、ステップS24において、線分探索
部5、線分接続判定部6および線分接続処理部7によ
り、線分抽出処理が行なわれる。ここでは、抽出された
輪郭線と細線とそのリンク付け情報を用いて連続する線
分列を構築する。この処理では、まず、線分要素の端点
から適当な範囲にある線分を探索し、線分要素の隣接関
係にある線分要素や接続候補の線分要素を抽出し、接続
するか否かを判定する。間に線分が存在しないもの同士
を接続すべき場合は、周辺の線分の形状や接続候補線分
の形状や位置情報を基に接続すべき線分間の形状を推定
し接続処理を行なう。また、必要に応じて、端点を共有
する隣接線分を1つの線分にする処理を行なう。なお、
線分列の構築は、例えば線分データに属性データを付加
し、この属性データに該線分が属する線分列の識別子を
書込むことにより行なう。
部5、線分接続判定部6および線分接続処理部7によ
り、線分抽出処理が行なわれる。ここでは、抽出された
輪郭線と細線とそのリンク付け情報を用いて連続する線
分列を構築する。この処理では、まず、線分要素の端点
から適当な範囲にある線分を探索し、線分要素の隣接関
係にある線分要素や接続候補の線分要素を抽出し、接続
するか否かを判定する。間に線分が存在しないもの同士
を接続すべき場合は、周辺の線分の形状や接続候補線分
の形状や位置情報を基に接続すべき線分間の形状を推定
し接続処理を行なう。また、必要に応じて、端点を共有
する隣接線分を1つの線分にする処理を行なう。なお、
線分列の構築は、例えば線分データに属性データを付加
し、この属性データに該線分が属する線分列の識別子を
書込むことにより行なう。
【0049】そして、ステップS25において線分整形
処理部8により、ステップS24で抽出された線分は、
原図の形状とずれていないか調べられ、原図に忠実なデ
ータとなるように整形される。また、必要に応じたデー
タ形式に変換される。
処理部8により、ステップS24で抽出された線分は、
原図の形状とずれていないか調べられ、原図に忠実なデ
ータとなるように整形される。また、必要に応じたデー
タ形式に変換される。
【0050】次に、この実施の形態の線図形認識処理を
より詳細に説明する。
より詳細に説明する。
【0051】まず、上記のようにステップS20で入力
部1から紙面に記載されている文字や図形が2値の画像
として取り込まれた後、入力画像に対して、ステップS
21の輪郭線抽出とステップS22の細線化処理が施さ
れる。なお、あらかじめハードディスク等の記憶装置に
蓄えられている画像データを読み込んでステップS21
およびステップS22以降の処理を行なっても良い。
部1から紙面に記載されている文字や図形が2値の画像
として取り込まれた後、入力画像に対して、ステップS
21の輪郭線抽出とステップS22の細線化処理が施さ
れる。なお、あらかじめハードディスク等の記憶装置に
蓄えられている画像データを読み込んでステップS21
およびステップS22以降の処理を行なっても良い。
【0052】ステップ21では、入力画像の輪郭線を抽
出する。そして、必要に応じてその折れ線近似を行な
い、短線分で表現する。これらの処理は、例えば、“A
high speed raster to vec
tor conversionusing speci
al hardware for contourtr
acking”(IAPR workshop on
CV−Special hardware and i
ndustrial application、198
8、pp.18−23)等の文献に紹介されているよう
な手法を用いることにより実現される。
出する。そして、必要に応じてその折れ線近似を行な
い、短線分で表現する。これらの処理は、例えば、“A
high speed raster to vec
tor conversionusing speci
al hardware for contourtr
acking”(IAPR workshop on
CV−Special hardware and i
ndustrial application、198
8、pp.18−23)等の文献に紹介されているよう
な手法を用いることにより実現される。
【0053】ステップS22では、入力画像の細線化処
理を行なう。そして、必要に応じてその折れ線近似を行
ない、短線分で表現する。細線化処理は、基本的には、
任意の太さの線上図形の幅方向の画素を順次取り除くこ
とによって線図形の中心線を求めるものであり、例えば
「図面の認識と理解」,大沢,山川他著,昭晃堂等に開
示されているような手法を用いることができる。ただ
し、図面中の線がつぶれて接触している部分を抽出する
ために、従来の細線化処理を、次のように修正するのが
好ましい。すなわち、従来と同様の細線化処理を行ない
つつ、さらに、その細線化の過程において、細線を表す
夫々の画素が細線化の過程における何回め細め処理によ
るものかを示すラベルを付ける。各画素とそのラベルは
対応付けて記憶しておく。このようにすれば、同じ回数
で抽出される画素を連結していくことによって、特定の
線幅の線分を抽出することができる。この処理によっ
て、つぶれて見かけ上太い線分となっている部分でも、
うまく分離することができる。その他にも、線分の太さ
を図形の各部分において知ることができるなどの利点が
ある。
理を行なう。そして、必要に応じてその折れ線近似を行
ない、短線分で表現する。細線化処理は、基本的には、
任意の太さの線上図形の幅方向の画素を順次取り除くこ
とによって線図形の中心線を求めるものであり、例えば
「図面の認識と理解」,大沢,山川他著,昭晃堂等に開
示されているような手法を用いることができる。ただ
し、図面中の線がつぶれて接触している部分を抽出する
ために、従来の細線化処理を、次のように修正するのが
好ましい。すなわち、従来と同様の細線化処理を行ない
つつ、さらに、その細線化の過程において、細線を表す
夫々の画素が細線化の過程における何回め細め処理によ
るものかを示すラベルを付ける。各画素とそのラベルは
対応付けて記憶しておく。このようにすれば、同じ回数
で抽出される画素を連結していくことによって、特定の
線幅の線分を抽出することができる。この処理によっ
て、つぶれて見かけ上太い線分となっている部分でも、
うまく分離することができる。その他にも、線分の太さ
を図形の各部分において知ることができるなどの利点が
ある。
【0054】以下、上記の細線化処理をさらに詳しく説
明する。
明する。
【0055】例えば図4の図形(黒画素の部分)から幅
方向に画素を一回分取り除くと、図5のような処理結果
が得られる。このとき、取り除かれた画素に対して例え
ば1とラベルをふり、これを記憶しておく。以降、取り
除く対象の画素がなくなるまで同様の処理を繰り返し行
なうと、図6に示すような数字のラベルが各画素にふら
れることになる。なお、図6中、○で囲んだ数字(以
下、○数字)で示した線分が細線を示す。この○数字の
中で同じ番号のものをトレースすれば、細線を抽出する
ことができる。
方向に画素を一回分取り除くと、図5のような処理結果
が得られる。このとき、取り除かれた画素に対して例え
ば1とラベルをふり、これを記憶しておく。以降、取り
除く対象の画素がなくなるまで同様の処理を繰り返し行
なうと、図6に示すような数字のラベルが各画素にふら
れることになる。なお、図6中、○で囲んだ数字(以
下、○数字)で示した線分が細線を示す。この○数字の
中で同じ番号のものをトレースすれば、細線を抽出する
ことができる。
【0056】図面中の線分の幅が一定の場合には、その
幅と同様のラベルを持つ画素を抽出することによって細
線化データが得られる。例えば、図7のように本来2つ
の線分であったものの一部が接触してつぶれたような図
形を細線化処理する。この場合、図中に示す通り細線化
処理によって抽出された細線は○数字4と○数字5であ
り、このとき○数字4の画素だけを抽出することによっ
て、図8に示すような2つの細線(図8中の21,2
2)が得られる。このように、つぶれた部分においても
つぶれ部分の影響なく線分を抽出することができる。
幅と同様のラベルを持つ画素を抽出することによって細
線化データが得られる。例えば、図7のように本来2つ
の線分であったものの一部が接触してつぶれたような図
形を細線化処理する。この場合、図中に示す通り細線化
処理によって抽出された細線は○数字4と○数字5であ
り、このとき○数字4の画素だけを抽出することによっ
て、図8に示すような2つの細線(図8中の21,2
2)が得られる。このように、つぶれた部分においても
つぶれ部分の影響なく線分を抽出することができる。
【0057】また、上記したようなラベル付け処理によ
れば、線分の幅は、図形中の一番中央に位置する画素の
ラベルによって知ることができる。なお、ラベルを付け
るのは全ての黒画素に付けるのではなくて、細線として
残った画素にだけ何回めの細め処理で残ったのかを示す
ラベルをふっても良い。
れば、線分の幅は、図形中の一番中央に位置する画素の
ラベルによって知ることができる。なお、ラベルを付け
るのは全ての黒画素に付けるのではなくて、細線として
残った画素にだけ何回めの細め処理で残ったのかを示す
ラベルをふっても良い。
【0058】次に、抽出したい線分の太さが既知の場合
に適用できる細線化処理を説明する。
に適用できる細線化処理を説明する。
【0059】図7と同様、図9に示すように本来2つの
線分であったものの一部が接触してつぶれたような図形
30を処理する場合を考える。ここで、図9に示した抽
出したい各線分31,32の太さをnとする。この場
合、(n−1)/2回、細線化繰り返し処理を行なった
ものの画像33と、(n−1)/2+1回、行なったも
のの画像34を記録する。次に、この2つの画像の排他
的論理和(XOR)をとると、つぶれ部分の線35が抽
出される。
線分であったものの一部が接触してつぶれたような図形
30を処理する場合を考える。ここで、図9に示した抽
出したい各線分31,32の太さをnとする。この場
合、(n−1)/2回、細線化繰り返し処理を行なった
ものの画像33と、(n−1)/2+1回、行なったも
のの画像34を記録する。次に、この2つの画像の排他
的論理和(XOR)をとると、つぶれ部分の線35が抽
出される。
【0060】また、(n−1)/2回め処理をした画像
33をさらに一画素だけ縮退させた画像36と(n−
1)/2+1回め処理を行なった画像34の排他的論理
和(XOR)をとると、画像37のように、つぶれ部分
以外の細線が抽出される。なお、後述するような方法で
画像37の途切れた部分を補完することにより、画像4
0のような2本の細線列(または細線)とすることが可
能である。
33をさらに一画素だけ縮退させた画像36と(n−
1)/2+1回め処理を行なった画像34の排他的論理
和(XOR)をとると、画像37のように、つぶれ部分
以外の細線が抽出される。なお、後述するような方法で
画像37の途切れた部分を補完することにより、画像4
0のような2本の細線列(または細線)とすることが可
能である。
【0061】また、これら2つの画像35,37の論理
和(OR)を取ることによって、画像38のように、つ
ぶれ部分を離した線分を抽出することができる。なお、
後述するような方法でブリッジした部分39を削除する
ことにより、画像40のような2本の細線列(または細
線)とすることが可能である。
和(OR)を取ることによって、画像38のように、つ
ぶれ部分を離した線分を抽出することができる。なお、
後述するような方法でブリッジした部分39を削除する
ことにより、画像40のような2本の細線列(または細
線)とすることが可能である。
【0062】原画像中に異なる線幅の線分が複数存在す
る場合には、最も細い線幅を持つ線分を上記したような
方法によって抽出し、原画像から抽出された線分部分を
取り除き、次に、細い線分を同様に処理する。この処理
を線幅の種類の数だけ繰り返すことによって、異なる線
幅の線分を抽出することができる。
る場合には、最も細い線幅を持つ線分を上記したような
方法によって抽出し、原画像から抽出された線分部分を
取り除き、次に、細い線分を同様に処理する。この処理
を線幅の種類の数だけ繰り返すことによって、異なる線
幅の線分を抽出することができる。
【0063】次に、上記のようにつぶれ部分以外の細線
を抽出するための他の処理を説明する。
を抽出するための他の処理を説明する。
【0064】図10のように、まず、画像51を数画素
分縮退した画像52を作る。画像の縮退は、例えば、
“画像処理の基本技法<技法入門編>”、長谷川、輿
水、中山、横井共著、技術評論社等に記されている様な
方法を用いて実現できる。この処理によって、画像のつ
ぶれた部分53が抽出できる。この画像52と原画像5
1の排他的論理和(XOR)を取ることによって、線の
つぶれ部分55が取り除かれた画像54が得られる。こ
の画像54に対して細線化処理を行なうことによって、
線の接触した部分を分離した細線56を得ることができ
る。
分縮退した画像52を作る。画像の縮退は、例えば、
“画像処理の基本技法<技法入門編>”、長谷川、輿
水、中山、横井共著、技術評論社等に記されている様な
方法を用いて実現できる。この処理によって、画像のつ
ぶれた部分53が抽出できる。この画像52と原画像5
1の排他的論理和(XOR)を取ることによって、線の
つぶれ部分55が取り除かれた画像54が得られる。こ
の画像54に対して細線化処理を行なうことによって、
線の接触した部分を分離した細線56を得ることができ
る。
【0065】また、その他にも、種々の処理手法が考え
られる。例えば、あらかじめ画像からつぶれ部分を取り
除いておき、この画像に対して輪郭線抽出処理を施すよ
うな手法を用いても良い。
られる。例えば、あらかじめ画像からつぶれ部分を取り
除いておき、この画像に対して輪郭線抽出処理を施すよ
うな手法を用いても良い。
【0066】なお、前述したステップ21の輪郭線抽出
処理は、上記のように細線化処理の過程においてラベル
付けされた画素の一番小さなラベル画像を抽出すること
によって行なってもよい。
処理は、上記のように細線化処理の過程においてラベル
付けされた画素の一番小さなラベル画像を抽出すること
によって行なってもよい。
【0067】次に、ステップ23の対応付け処理につい
て説明する。
て説明する。
【0068】対応付け処理部4は、同じ画像の部分から
輪郭抽出部2によって抽出された輪郭線と細線化処理部
3によって抽出された細線とをリンク付けする。
輪郭抽出部2によって抽出された輪郭線と細線化処理部
3によって抽出された細線とをリンク付けする。
【0069】リンク付け情報の記録の仕方は、種々考え
られ、細線の線分データに属性データとして、対応する
輪郭線の識別子を付加しても良いし、輪郭線の線分デー
タに属性データとして、対応する細線の識別子を付加し
ても良いし、その両方を行なっても良い。あるいは、細
線と輪郭線との対応を別ファイルとして記録しても良
い。
られ、細線の線分データに属性データとして、対応する
輪郭線の識別子を付加しても良いし、輪郭線の線分デー
タに属性データとして、対応する細線の識別子を付加し
ても良いし、その両方を行なっても良い。あるいは、細
線と輪郭線との対応を別ファイルとして記録しても良
い。
【0070】リンク付けは、細線と輪郭線との対応関係
を調べることにより行なわれる。
を調べることにより行なわれる。
【0071】例えば、上記のラベル付け処理の結果を利
用して行なうことができる。つまり、細線化の過程にお
いて、その細線が輪郭のどの部分から削られて出て来た
ものかを、上記のラベル付け処理結果を参照することに
よって容易に知ることができるので、抽出された細線と
その細線の元となった画像部分の輪郭線とを対応付けれ
ば良い。
用して行なうことができる。つまり、細線化の過程にお
いて、その細線が輪郭のどの部分から削られて出て来た
ものかを、上記のラベル付け処理結果を参照することに
よって容易に知ることができるので、抽出された細線と
その細線の元となった画像部分の輪郭線とを対応付けれ
ば良い。
【0072】1つの細線に対応する輪郭線は、原画が独
立した1本の線の場合、通常、2本であるが、原画の状
態に基づく輪郭線抽出処理や細線化処理の結果によっ
て、3本以上の場合、1本の場合、対応する輪郭線がな
い場合もあり得る。
立した1本の線の場合、通常、2本であるが、原画の状
態に基づく輪郭線抽出処理や細線化処理の結果によっ
て、3本以上の場合、1本の場合、対応する輪郭線がな
い場合もあり得る。
【0073】次に、ステップ24の線分抽出処理につい
て説明する。
て説明する。
【0074】まず、抽出された細線を連続する一連の線
分にマージする方法の一例を説明する。
分にマージする方法の一例を説明する。
【0075】線分探索部5では、まず、分岐(接触によ
る分岐も含む)のない部分間での細線を一連の線分列と
する。一連の線分列とするのは、同じ輪郭線にはさまれ
ている細線で輪郭線と方向のそろっている線分とする。
る分岐も含む)のない部分間での細線を一連の線分列と
する。一連の線分列とするのは、同じ輪郭線にはさまれ
ている細線で輪郭線と方向のそろっている線分とする。
【0076】輪郭線と細線の方向がそろっているか否か
の判定は、線分接続判定部6により、例えば以下のよう
にして行なわれる。
の判定は、線分接続判定部6により、例えば以下のよう
にして行なわれる。
【0077】図11(a)のように、細線のベクトルを
Vtとし、それに対応する2つの輪郭線のベクトルをそ
れぞれVs1,Vs2とする。また、(b)のように、
細線ベクトルVtと一方の輪郭線ベクトルVs1のなす
角をθ1とし、細線ベクトルVtともう一方の輪郭線ベ
クトルVs2のなす角をθ2とする。あるしきい値をθ
thとして、 θ1<θth , θ2<θth を満たすとき、輪郭線と細線の方向がそろっているとす
る。
Vtとし、それに対応する2つの輪郭線のベクトルをそ
れぞれVs1,Vs2とする。また、(b)のように、
細線ベクトルVtと一方の輪郭線ベクトルVs1のなす
角をθ1とし、細線ベクトルVtともう一方の輪郭線ベ
クトルVs2のなす角をθ2とする。あるしきい値をθ
thとして、 θ1<θth , θ2<θth を満たすとき、輪郭線と細線の方向がそろっているとす
る。
【0078】ところで、上記処理によれば、原図上、一
連の線分列とすべきところ、分岐の存在によって、一連
の線分列とされないものがある。分岐の種類としては、
例えば、ひげ、接触、交差、とぎれ等が考えら
れる。これに対処するため、この実施の形態では、以下
のような処理を行なう。
連の線分列とすべきところ、分岐の存在によって、一連
の線分列とされないものがある。分岐の種類としては、
例えば、ひげ、接触、交差、とぎれ等が考えら
れる。これに対処するため、この実施の形態では、以下
のような処理を行なう。
【0079】図12のように実際の図形では分岐がない
ところにいわゆるひげの細線があるために線分が途切れ
ている場合において、線分のマージを行なう。
ところにいわゆるひげの細線があるために線分が途切れ
ている場合において、線分のマージを行なう。
【0080】図12において、細線121に接続してい
る細線には、122の細線と123の細線がある。この
とき細線121は、輪郭線124,126に対応付けら
れている。これらの輪郭線124,126と、いわゆる
ひげの細線123との角度を上述と同様にそれぞれ調べ
ると、その角度はいずれもしきい値θthを越えたもの
となる。このような細線123は、マージ対象から除外
される。なお、細線121と細線123の角度を調べ
て、その角度で評価してもよい。また、それらの両方を
用いて評価してもよい。
る細線には、122の細線と123の細線がある。この
とき細線121は、輪郭線124,126に対応付けら
れている。これらの輪郭線124,126と、いわゆる
ひげの細線123との角度を上述と同様にそれぞれ調べ
ると、その角度はいずれもしきい値θthを越えたもの
となる。このような細線123は、マージ対象から除外
される。なお、細線121と細線123の角度を調べ
て、その角度で評価してもよい。また、それらの両方を
用いて評価してもよい。
【0081】一方、細線122は、輪郭線125,12
6と対応付けられている。この場合、例えば、細線12
2−細線122の輪郭線間の角度と、細線122−細線
121の輪郭線間の角度を求め、両者の差が一定のしき
い値以下であれば接続を行なう。なお、細線121と細
線122の角度を調べて、その角度で評価してもよい。
また、それらの両方を用いて評価してもよい。
6と対応付けられている。この場合、例えば、細線12
2−細線122の輪郭線間の角度と、細線122−細線
121の輪郭線間の角度を求め、両者の差が一定のしき
い値以下であれば接続を行なう。なお、細線121と細
線122の角度を調べて、その角度で評価してもよい。
また、それらの両方を用いて評価してもよい。
【0082】また、輪郭線と細線の対応付けの情報を用
いてあらかじめ同一の輪郭線に対応付けられているもの
だけを評価の対象にしてもよい。この場合、両側の輪郭
線とも同一の輪郭線に対応付けられているものだけを対
象にしてもよいし、少なくともどちらか一方が同一の輪
郭線に対応づけられているものを対象にしてもよい。こ
のように、対象となる細線を限定することによって、効
率よくマージを行なうことができるとともに、間違った
マージを防ぐことができる。
いてあらかじめ同一の輪郭線に対応付けられているもの
だけを評価の対象にしてもよい。この場合、両側の輪郭
線とも同一の輪郭線に対応付けられているものだけを対
象にしてもよいし、少なくともどちらか一方が同一の輪
郭線に対応づけられているものを対象にしてもよい。こ
のように、対象となる細線を限定することによって、効
率よくマージを行なうことができるとともに、間違った
マージを防ぐことができる。
【0083】図13の細線のように輪郭線にはさまれた
細線がほぼ平行に複数存在するときには、対応づいてい
る両側の輪郭線のうち近い方の輪郭線を優先して探索を
行なう。すなわち、図13においては、細線131には
輪郭線132,133が対応づけられているが、細線1
31に対して近いのは輪郭線132である(dist1
<dist2)。従って、この輪郭線132に対応づけ
られている細線を探索する。その結果、細線134が求
まるので、これと輪郭線134との連結性を調べる。こ
のとき、先に述べたような方法で、線分の方向や細線お
よび輪郭線との角度等から連結するかどうかを決定す
る。この場合、細線135と細線131と細線134が
連結されることになる。
細線がほぼ平行に複数存在するときには、対応づいてい
る両側の輪郭線のうち近い方の輪郭線を優先して探索を
行なう。すなわち、図13においては、細線131には
輪郭線132,133が対応づけられているが、細線1
31に対して近いのは輪郭線132である(dist1
<dist2)。従って、この輪郭線132に対応づけ
られている細線を探索する。その結果、細線134が求
まるので、これと輪郭線134との連結性を調べる。こ
のとき、先に述べたような方法で、線分の方向や細線お
よび輪郭線との角度等から連結するかどうかを決定す
る。この場合、細線135と細線131と細線134が
連結されることになる。
【0084】次に、図14を参照しながら、輪郭線をも
とに細線の探索を行なう一例を説明する。
とに細線の探索を行なう一例を説明する。
【0085】はじめに、輪郭線列から分岐があるところ
を抽出する。分岐のあるところには、滑らかにつながっ
ている前後の部分に対して線のつながりの角度が急に変
化する。したがって、例えば、線分列の曲率の変化を調
べることによって、それが大きく変化する点を見つけれ
ばよい。あるいは、ある輪郭線に対応する細線の端点で
細線が少なくとも3つ以上連結しているかを調べること
によっても見つけることができる。また、これら2つの
方法を組み合わせてもよい。
を抽出する。分岐のあるところには、滑らかにつながっ
ている前後の部分に対して線のつながりの角度が急に変
化する。したがって、例えば、線分列の曲率の変化を調
べることによって、それが大きく変化する点を見つけれ
ばよい。あるいは、ある輪郭線に対応する細線の端点で
細線が少なくとも3つ以上連結しているかを調べること
によっても見つけることができる。また、これら2つの
方法を組み合わせてもよい。
【0086】このような方法を用いることにより、図1
4の輪郭線は8つの線分列141〜148に分けられ、
それぞれ輪郭線について細線を抽出することができる。
細線を探索する順序は、線分の長さの長い輪郭線から探
索するのが好ましいが、これに限ったことではない。
4の輪郭線は8つの線分列141〜148に分けられ、
それぞれ輪郭線について細線を抽出することができる。
細線を探索する順序は、線分の長さの長い輪郭線から探
索するのが好ましいが、これに限ったことではない。
【0087】図14の場合、例えば、輪郭線148から
探索し、細線137と細線138が得られ、これらが連
結される。次に、細線138に対応付けられたもう1つ
の輪郭線144をもとに探索し、細線139が得られ、
結局、細線137と細線138と細線139が連結され
る。
探索し、細線137と細線138が得られ、これらが連
結される。次に、細線138に対応付けられたもう1つ
の輪郭線144をもとに探索し、細線139が得られ、
結局、細線137と細線138と細線139が連結され
る。
【0088】このように輪郭線をもとに細線列を探索す
ることによって、図15のように叉路のように線が交差
している場合において、その点で途切れない線分列を抽
出することができるといった利点がある。この場合、輪
郭線151をもとに細線152と細線153が探索・接
続できる。また、細線154は角度の評価から接続しな
いと判定される。
ることによって、図15のように叉路のように線が交差
している場合において、その点で途切れない線分列を抽
出することができるといった利点がある。この場合、輪
郭線151をもとに細線152と細線153が探索・接
続できる。また、細線154は角度の評価から接続しな
いと判定される。
【0089】さらには、図16のように、両側の輪郭線
で輪郭線列の途切れ方がぐいっちになっている場合に
は、両側の輪郭線のどちらにも対応している細線列を含
む線分列をマージすることによって、さらに安定した線
分列を抽出することができる。すなわち、細線164と
細165はいずれも輪郭線162と対応づけられている
ので、マージの対象となる。また、細線164はどちら
にも共通なので、結局、細線163,164,165は
マージされ一本の線分列となる。
で輪郭線列の途切れ方がぐいっちになっている場合に
は、両側の輪郭線のどちらにも対応している細線列を含
む線分列をマージすることによって、さらに安定した線
分列を抽出することができる。すなわち、細線164と
細165はいずれも輪郭線162と対応づけられている
ので、マージの対象となる。また、細線164はどちら
にも共通なので、結局、細線163,164,165は
マージされ一本の線分列となる。
【0090】一度、これらの処理によって抽出された線
分列に対してさらにマージできるものを繰り返し探索し
てもよい。このとき、上記の処理において細線列に施し
た処理を線分列に対して行なえばよい。
分列に対してさらにマージできるものを繰り返し探索し
てもよい。このとき、上記の処理において細線列に施し
た処理を線分列に対して行なえばよい。
【0091】次に、画像がかすれて、本来つながってい
るはずの線分が画像上途切れている部分の接続について
図を用いてその一例を説明する。この処理は、線分接続
処理部7により行なわれる。
るはずの線分が画像上途切れている部分の接続について
図を用いてその一例を説明する。この処理は、線分接続
処理部7により行なわれる。
【0092】図17の線分列171の端点172に接続
する線分を探索する場合、端点172からある範囲のウ
インドウ173を発生させる。このウインドウ173を
発生させる範囲は、図17のように現在着目している線
分の端点172でのベクトル方向で、ちょうどウインド
ウの枠の一辺に端点172が一致するように生成するの
が好ましいが、端点がウインドウの中心に来るように発
生させても良く、また、方向も任意の方向でもよい。ま
た、ウインドウの形状もどのような形状での良い。
する線分を探索する場合、端点172からある範囲のウ
インドウ173を発生させる。このウインドウ173を
発生させる範囲は、図17のように現在着目している線
分の端点172でのベクトル方向で、ちょうどウインド
ウの枠の一辺に端点172が一致するように生成するの
が好ましいが、端点がウインドウの中心に来るように発
生させても良く、また、方向も任意の方向でもよい。ま
た、ウインドウの形状もどのような形状での良い。
【0093】次に、ウインドウ173に端点が含まれる
他の線分を探索する。
他の線分を探索する。
【0094】ウインドウ173に含まれる端点がない場
合、現在のウインドウの中心178を端点とみなし、上
記と同様なウインドウを発生させる。このときウインド
ウの大きさをある係数α倍したウインドウとする。αは
任意の実数でよい。α=1の場合は、ウインドウの大き
さは変わらない。ウインドウを発生させるときの基準点
は、現在のウインドウの中心で限ったわけではなく、現
在のウインドウと一部が重複もしくは接触するようなウ
インドウが発生させることができる範囲にあればよい。
合、現在のウインドウの中心178を端点とみなし、上
記と同様なウインドウを発生させる。このときウインド
ウの大きさをある係数α倍したウインドウとする。αは
任意の実数でよい。α=1の場合は、ウインドウの大き
さは変わらない。ウインドウを発生させるときの基準点
は、現在のウインドウの中心で限ったわけではなく、現
在のウインドウと一部が重複もしくは接触するようなウ
インドウが発生させることができる範囲にあればよい。
【0095】対象となる部分列の端点がない場合には、
ウインドウの発生を繰り返し行なってよい。また、ウイ
ンドウ発生の繰り返し回数をあらかじめ限定しておい
て、その範囲で発生させてもよい。
ウインドウの発生を繰り返し行なってよい。また、ウイ
ンドウ発生の繰り返し回数をあらかじめ限定しておい
て、その範囲で発生させてもよい。
【0096】図17中179で示すようにウインドウ内
に線分列の端点がある場合には、接続してもよいかどう
かを評価する。
に線分列の端点がある場合には、接続してもよいかどう
かを評価する。
【0097】以下、2つの線分列の端点を接続するか否
かの評価について説明する。
かの評価について説明する。
【0098】まず、図18のように、線分181の端点
186と線分182の端点187を結ぶ線分183を疑
似的発生させる。この疑似線分183と線分181との
なす角度をθ1とし、線分182とのなす角度をθ2と
すると、θ1とθ2がそれぞれあらかじめ設定したしき
い値θth1 とθth2 の間にある場合に接続可能とする。
もしくは、線分181と、この線分181の端点186
と反対方向にある線分184との角度θ11を求め、さ
らには、接続候補の端点187の反対側の線分185と
線分182との角度θ12を求め、θ1とθ11との角
度差およびθ2とθ21との角度差がいずれもあるしき
い値θdiffより小さい場合に接続可能とする。もしく
は、線分181と線分182を端点方向に延長し、それ
ぞれの線分が交わった点の角度θ3を求め、この角度を
評価の基準にして同様の判断をしてもよい。
186と線分182の端点187を結ぶ線分183を疑
似的発生させる。この疑似線分183と線分181との
なす角度をθ1とし、線分182とのなす角度をθ2と
すると、θ1とθ2がそれぞれあらかじめ設定したしき
い値θth1 とθth2 の間にある場合に接続可能とする。
もしくは、線分181と、この線分181の端点186
と反対方向にある線分184との角度θ11を求め、さ
らには、接続候補の端点187の反対側の線分185と
線分182との角度θ12を求め、θ1とθ11との角
度差およびθ2とθ21との角度差がいずれもあるしき
い値θdiffより小さい場合に接続可能とする。もしく
は、線分181と線分182を端点方向に延長し、それ
ぞれの線分が交わった点の角度θ3を求め、この角度を
評価の基準にして同様の判断をしてもよい。
【0099】図19のように、線分が比較的接近して存
在する場合には、上記の他に次のように判断することも
できる。
在する場合には、上記の他に次のように判断することも
できる。
【0100】線分191から上述と同様なウインドウ1
92を線分の法線方向に発生させ、現在着目している線
分の両側の線分を探索する。ウインドウを発生させる基
準点は線分の端点に限ったことではなく、端点から、あ
る長さ分内側でもよいし、線分列の複数点を基準に隣接
する線分を探索してもよい。ウインドウ内にある線分の
うち、線分から同様に隣の線分を探索する。そして、こ
の線分の隣の線分がもとの線分と一致する場合に、それ
ぞれの線分は隣接関係にあるとする。
92を線分の法線方向に発生させ、現在着目している線
分の両側の線分を探索する。ウインドウを発生させる基
準点は線分の端点に限ったことではなく、端点から、あ
る長さ分内側でもよいし、線分列の複数点を基準に隣接
する線分を探索してもよい。ウインドウ内にある線分の
うち、線分から同様に隣の線分を探索する。そして、こ
の線分の隣の線分がもとの線分と一致する場合に、それ
ぞれの線分は隣接関係にあるとする。
【0101】例えば、図20のように、両側の線分が途
切れずにその間の線分が途切れている場合には、線分2
01と線分202の隣接線分は、線分203と線分20
4で同一の線分となる。この両側の線分の途切れている
部分に対応する線分を切り出し、その形状から途切れて
いる部分を推定し、補完して接続する。
切れずにその間の線分が途切れている場合には、線分2
01と線分202の隣接線分は、線分203と線分20
4で同一の線分となる。この両側の線分の途切れている
部分に対応する線分を切り出し、その形状から途切れて
いる部分を推定し、補完して接続する。
【0102】補完の方法は、例えば、両線分の中点の点
列を求め、端点が一致するようにアフィン変換して接続
すればよい。このようにすれば、直線で補完できない部
分でも接続が可能となる。
列を求め、端点が一致するようにアフィン変換して接続
すればよい。このようにすれば、直線で補完できない部
分でも接続が可能となる。
【0103】図21のように一方の線分が途切れている
場合には、つながっている線分211をもとにその線分
に隣接する線分212と線分213が上記と同様の処理
で接続できる。さらに、そのとなりの線分214と21
5は新たに接続された線分をもとに、同様に途切れてい
る場合でも接続が可能となる。
場合には、つながっている線分211をもとにその線分
に隣接する線分212と線分213が上記と同様の処理
で接続できる。さらに、そのとなりの線分214と21
5は新たに接続された線分をもとに、同様に途切れてい
る場合でも接続が可能となる。
【0104】全ての端点に対して以上のような処理を繰
り返し行なうことによって、切れた線分の修復が行なえ
る。
り返し行なうことによって、切れた線分の修復が行なえ
る。
【0105】次に、ステップS25の線分整形処理につ
いて説明する。
いて説明する。
【0106】上記のようにして、抽出した線分は、線分
整形処理部8において、必要に応じて整形することがで
きる。
整形処理部8において、必要に応じて整形することがで
きる。
【0107】例えば、必要に応じて、記憶するデータ量
を小さくすることができる。この場合、例えば、以下の
ようにして点列を削除すればよい。
を小さくすることができる。この場合、例えば、以下の
ようにして点列を削除すればよい。
【0108】図22において、まず、端点221から線
分列のあるあらかじめ設定した距離dfにある点222
を直線225で結ぶ。その直線225と線分列上の点と
の距離dの最大値dmax を求め、最大値dmax があるし
きい値dth以下の場合、さらに、距離d離れた点223
に対して同様の処理を行なう。このときの新たな最大値
dmax ´が先のdmax を越えたら、その1つ前の点をサ
ンプル点222として登録する(なお、dmax を越えて
いなければ、次の点を評価し、dmax を越える点が見つ
かるまで、処理を繰り返す)。
分列のあるあらかじめ設定した距離dfにある点222
を直線225で結ぶ。その直線225と線分列上の点と
の距離dの最大値dmax を求め、最大値dmax があるし
きい値dth以下の場合、さらに、距離d離れた点223
に対して同様の処理を行なう。このときの新たな最大値
dmax ´が先のdmax を越えたら、その1つ前の点をサ
ンプル点222として登録する(なお、dmax を越えて
いなければ、次の点を評価し、dmax を越える点が見つ
かるまで、処理を繰り返す)。
【0109】次に、この登録されたサンプル点223か
ら同様の処理を行なう。この処理をもう一方の端点に到
達するまで繰り返す。すると、線分列をそれより少ない
点列で表現することができる。
ら同様の処理を行なう。この処理をもう一方の端点に到
達するまで繰り返す。すると、線分列をそれより少ない
点列で表現することができる。
【0110】また、二分法を用いて、直線と線分列との
距離があるしきい値以下になるまで、再帰的に分割して
もよい。また、線分列は、直線で表すのではなく、スプ
ライン曲線やベジェ曲線で近似してもよい。
距離があるしきい値以下になるまで、再帰的に分割して
もよい。また、線分列は、直線で表すのではなく、スプ
ライン曲線やベジェ曲線で近似してもよい。
【0111】この処理は、輪郭線や細線に対して同様に
行なうことができる。
行なうことができる。
【0112】抽出した線分列が原画像上から逸脱してい
ないかを調べ、逸脱している場合には、画像上にのるよ
うに線分上の点を移動するのが好ましい。原画像からは
みだしているかの判断は、輪郭線の間に線分列が入って
いるかを調べることによって容易に判断できる。
ないかを調べ、逸脱している場合には、画像上にのるよ
うに線分上の点を移動するのが好ましい。原画像からは
みだしているかの判断は、輪郭線の間に線分列が入って
いるかを調べることによって容易に判断できる。
【0113】図23にように、線分230が輪郭線列2
32,233の間に入っていない場合には、逸脱した部
分の代りに輪郭線の中心の点を通る線分231を用いる
ことによって、整形することができる。
32,233の間に入っていない場合には、逸脱した部
分の代りに輪郭線の中心の点を通る線分231を用いる
ことによって、整形することができる。
【0114】以上のようにして抽出された線分は、例え
ば、CADデータで用いられるようなベクトルデータに
変換されて記憶または出力される。もちろん、画像デー
タとして出力してもよい。
ば、CADデータで用いられるようなベクトルデータに
変換されて記憶または出力される。もちろん、画像デー
タとして出力してもよい。
【0115】このようにこの実施の形態によれば、同一
種類のプリミティブ(例えば細線)の隣接情報、複数の
種類のプリミティブ(例えば細線と輪郭線)の対応情報
といった、プリミティブ間の情報に基づいて、プリミテ
ィブを編集(例えばマージ、途切れの接続等)するの
で、正確かつ効率的にプリミティブを編集し線分を認識
することができる。
種類のプリミティブ(例えば細線)の隣接情報、複数の
種類のプリミティブ(例えば細線と輪郭線)の対応情報
といった、プリミティブ間の情報に基づいて、プリミテ
ィブを編集(例えばマージ、途切れの接続等)するの
で、正確かつ効率的にプリミティブを編集し線分を認識
することができる。
【0116】また、例えば、画像からプリミティブを抽
出する過程の履歴を保存することによってつぶれ部分を
推定し、また、周囲のプリミティブの隣接情報を参照し
て、途切れ部分の接続を行なうことで、低画質の画素か
らでも安定して線分を抽出できる。
出する過程の履歴を保存することによってつぶれ部分を
推定し、また、周囲のプリミティブの隣接情報を参照し
て、途切れ部分の接続を行なうことで、低画質の画素か
らでも安定して線分を抽出できる。
【0117】また、複数のプリミティブの対応関係を用
いて処理を行なうため、接触点や交差点で途切れている
部分でも他のプリミティブの接続状態から、線分をつな
ぐことができ、高精度な線分が抽出できる。
いて処理を行なうため、接触点や交差点で途切れている
部分でも他のプリミティブの接続状態から、線分をつな
ぐことができ、高精度な線分が抽出できる。
【0118】以下では、抽出された線分に対し、探索・
判定・接続処理、あるいは追加、削除、変形等の編集を
行なう実施の形態について説明する。
判定・接続処理、あるいは追加、削除、変形等の編集を
行なう実施の形態について説明する。
【0119】まず、ステップS24の線分抽出処理にお
いて、装置に自動的に探索・判定・接続処理をさせる代
りに、その一部または全部についてユーザが指示を与え
るようにした実施の形態を示す。
いて、装置に自動的に探索・判定・接続処理をさせる代
りに、その一部または全部についてユーザが指示を与え
るようにした実施の形態を示す。
【0120】最初に、線の入力方法の一例を示す。
【0121】図24のように、出力部9のディスプレイ
上に、細線化処理により得られた細線などの線分301
〜305を表示する。そして、例えば、線分302,3
03と線分304の間を線分に沿って概形を入力する。
概形の入力は、例えば、マウスなどの入力デバイスを用
いて、指示点310をマークしていくことにより行な
う。
上に、細線化処理により得られた細線などの線分301
〜305を表示する。そして、例えば、線分302,3
03と線分304の間を線分に沿って概形を入力する。
概形の入力は、例えば、マウスなどの入力デバイスを用
いて、指示点310をマークしていくことにより行な
う。
【0122】装置側(線分探索部5、線分接続部7)で
は、指示点310間を真っ直ぐに結ぶ線分が入力された
ものとして、それら各線分の法線方向に線分を探索して
その境界に沿って連続する線分を接続する。これは、前
述の隣接する線分を探索する方法を用いて、容易に実現
することができる。
は、指示点310間を真っ直ぐに結ぶ線分が入力された
ものとして、それら各線分の法線方向に線分を探索して
その境界に沿って連続する線分を接続する。これは、前
述の隣接する線分を探索する方法を用いて、容易に実現
することができる。
【0123】このとき、図24の線分302,303の
ように、線分が途切れている場合でも、入力した概形に
沿っている場合には、その概形を切り取って途切れてい
る部分に当てはめることによって補完して接続を行な
う。直線で接続できるときは、直線で接続してもよい。
ように、線分が途切れている場合でも、入力した概形に
沿っている場合には、その概形を切り取って途切れてい
る部分に当てはめることによって補完して接続を行な
う。直線で接続できるときは、直線で接続してもよい。
【0124】このようにすることによって、厳密に線を
トレースする必要がない上に、複数(ここでは2本)の
線分を同時に入力することができる。
トレースする必要がない上に、複数(ここでは2本)の
線分を同時に入力することができる。
【0125】なお、接続された線分の隣接線分を同様に
探索することによって、線分の入力処理を続けてもよ
い。このような処理は、原画が例えば等高線のように多
数の線が並行している場合に、有効である。
探索することによって、線分の入力処理を続けてもよ
い。このような処理は、原画が例えば等高線のように多
数の線が並行している場合に、有効である。
【0126】入力した概形の片側のみを処理対称として
指示できるようにしても構わない。
指示できるようにしても構わない。
【0127】一方、地図に現れる道路を表す線分などの
ように、本来、線分が途切れているような場合がある。
例えば、図25では、線分312と線分313は接続す
べきでないし、線分314と線分315と線分316も
接続すべきでない。
ように、本来、線分が途切れているような場合がある。
例えば、図25では、線分312と線分313は接続す
べきでないし、線分314と線分315と線分316も
接続すべきでない。
【0128】このような場合には、図24のように指示
点310に沿った線分全体を接続しないように、図25
のように途切れた部分に指示点320をおく。
点310に沿った線分全体を接続しないように、図25
のように途切れた部分に指示点320をおく。
【0129】装置側では、指示点から両側を探索し、線
分がない場合には、その部分は接続しないようにするこ
とができる。
分がない場合には、その部分は接続しないようにするこ
とができる。
【0130】次に、閉図形の入力の一例を示す。
【0131】図26のような凸図形325を入力すると
きは、マウスなどのポインティングデバイスやキーボー
ド等を用いてその図形を囲むように指示点330をお
く。
きは、マウスなどのポインティングデバイスやキーボー
ド等を用いてその図形を囲むように指示点330をお
く。
【0132】装置側では、その内側の線分を探索し、そ
れらの線分を囲む閉凸図形を求める。その凸図形に接す
る線分を凸図形で置き換えることによって入力が完了す
る。もしくは、内側の線分をマージして凸図形を構成し
てもよい。これも、前述の隣接する線分を探索する方法
を用いて、囲み線分の内側にのみ探索することによって
容易に実現できる。
れらの線分を囲む閉凸図形を求める。その凸図形に接す
る線分を凸図形で置き換えることによって入力が完了す
る。もしくは、内側の線分をマージして凸図形を構成し
てもよい。これも、前述の隣接する線分を探索する方法
を用いて、囲み線分の内側にのみ探索することによって
容易に実現できる。
【0133】一方、凹凸のあるような図形の場合には、
図形を囲むときに凹の部分では囲んだ線分の内側が鈍角
になるような囲み方をすることによって、凹であること
を検知することができる。
図形を囲むときに凹の部分では囲んだ線分の内側が鈍角
になるような囲み方をすることによって、凹であること
を検知することができる。
【0134】例えば、図27(a)に表される複数の線
分335は、図26のように指示点330で囲むと凸図
形として処理されるが、(a)に示すように凹の部分で
囲んだ線分の内側が鈍角になるように指示点330をマ
ークすることにより、凹部分であることを指示すること
ができる。
分335は、図26のように指示点330で囲むと凸図
形として処理されるが、(a)に示すように凹の部分で
囲んだ線分の内側が鈍角になるように指示点330をマ
ークすることにより、凹部分であることを指示すること
ができる。
【0135】装置側では、(b)のように、全体を囲む
閉凸図形337と凹部分に対応した閉凸図形338を求
め、双方に共通の線分を除外して図形339を構成すれ
ばよい。
閉凸図形337と凹部分に対応した閉凸図形338を求
め、双方に共通の線分を除外して図形339を構成すれ
ばよい。
【0136】また、凹凸のあるような図形の場合には、
次のような処理を行なうこともできる。すなわち、凹が
含まれている図形では、凹部分ではもとの図形の線分ま
たは画像がないところに線分が発生することになる。こ
の部分の線分の端点に接続している線分のうち、すでに
凸閉図形の要素に対応していない線分を追跡して、もう
一方の端点に到達するパスがあるかどうかをしらべる。
パスがある場合には、そのパスの線分列に置き換えるこ
とによって、凹を含む図形を入力できる。パスがない場
合には、線分の途切れと判断することができる。このよ
うにすることによって、かすれや他の要素の影響で途切
れているような図形に対しても途切れのない図形として
入力できる。
次のような処理を行なうこともできる。すなわち、凹が
含まれている図形では、凹部分ではもとの図形の線分ま
たは画像がないところに線分が発生することになる。こ
の部分の線分の端点に接続している線分のうち、すでに
凸閉図形の要素に対応していない線分を追跡して、もう
一方の端点に到達するパスがあるかどうかをしらべる。
パスがある場合には、そのパスの線分列に置き換えるこ
とによって、凹を含む図形を入力できる。パスがない場
合には、線分の途切れと判断することができる。このよ
うにすることによって、かすれや他の要素の影響で途切
れているような図形に対しても途切れのない図形として
入力できる。
【0137】次に、閉図形の内部となる点を指示する場
合の入力の一例を示す。
合の入力の一例を示す。
【0138】図28(a)のように、凹凸のある閉図形
を入力する場合には、その内部のある1点に指示点34
0をマークして指定する。
を入力する場合には、その内部のある1点に指示点34
0をマークして指定する。
【0139】装置側では、その点の周りの線分を探索
し、指示点が内側にあるような凸図形342を生成し、
(b)のようにそれを表示する。その図形が入力したい
図形でない場合には、さらに閉図形の内側になる点に指
示点340をマークして指定すると、同様の処理によっ
て凸図形を生成し、その前に抽出された凸図形とマージ
した図形344を表示する。図のように途切れがある場
合でも、指示点340が内側になるように途切れを接続
した凸閉図形を生成する。
し、指示点が内側にあるような凸図形342を生成し、
(b)のようにそれを表示する。その図形が入力したい
図形でない場合には、さらに閉図形の内側になる点に指
示点340をマークして指定すると、同様の処理によっ
て凸図形を生成し、その前に抽出された凸図形とマージ
した図形344を表示する。図のように途切れがある場
合でも、指示点340が内側になるように途切れを接続
した凸閉図形を生成する。
【0140】このように入力したい図形が得られるまで
内側になる点を指示すると、最終的に、(d)のような
図形を入力することができる。
内側になる点を指示すると、最終的に、(d)のような
図形を入力することができる。
【0141】なお、生成した図形を順次記憶しておくこ
とによって、順次指示点の取り消しをすると、直前の図
形に戻ることができる。
とによって、順次指示点の取り消しをすると、直前の図
形に戻ることができる。
【0142】次に、図形の確認・修正等の編集方法の一
例を閉図形の場合を例に取って示す。
例を閉図形の場合を例に取って示す。
【0143】閉図形の入力の確認方法として、閉図形の
外接図形を求め、その範囲の画像を切り出す。周囲の画
像が分かるように外接図形を含むそれより任意の幅分大
きくした範囲で切り出してもよい。切り出された図形を
図29のような一覧表に表して、原図と入力した線分を
並べて表示し、誤った入力がなされている線分や、修正
が必要な線分はこの表で行なうことができるようにす
る。これにより、入力漏れを防ぐことができる。
外接図形を求め、その範囲の画像を切り出す。周囲の画
像が分かるように外接図形を含むそれより任意の幅分大
きくした範囲で切り出してもよい。切り出された図形を
図29のような一覧表に表して、原図と入力した線分を
並べて表示し、誤った入力がなされている線分や、修正
が必要な線分はこの表で行なうことができるようにす
る。これにより、入力漏れを防ぐことができる。
【0144】さらに、実際の図面上の座標はわかってい
るので、その位置に表から飛ぶこともできる。このと
き、切り出した画像および線分を原寸で表示してもよい
し、任意の大きさに拡大・縮小してから表示してもよ
い。このとき縮小率・拡大率を明示してもよい。このと
き縮小率・拡大率を明示してもよい。
るので、その位置に表から飛ぶこともできる。このと
き、切り出した画像および線分を原寸で表示してもよい
し、任意の大きさに拡大・縮小してから表示してもよ
い。このとき縮小率・拡大率を明示してもよい。このと
き縮小率・拡大率を明示してもよい。
【0145】また、図29のように線分と画像を並べて
表示するほか、画像と線分を重ねて表示してもよい。確
認済の図形とそうでない図形の色を変えてもよいし、確
認済の場合は重ねて表示し、そうでない場合は並べて表
示してもよいし、その逆でもよい。確認済の図形は画像
を表示しないように選択することもできる。このように
入力状態によって表示方法を変えることで、確認・編集
のミスを防ぐことができる。
表示するほか、画像と線分を重ねて表示してもよい。確
認済の図形とそうでない図形の色を変えてもよいし、確
認済の場合は重ねて表示し、そうでない場合は並べて表
示してもよいし、その逆でもよい。確認済の図形は画像
を表示しないように選択することもできる。このように
入力状態によって表示方法を変えることで、確認・編集
のミスを防ぐことができる。
【0146】これは、閉図形に限ったことではなく、任
意の図形に対して行なうことができる。例えば、閉じて
いない線分においては長さを基準にして同様の処理によ
って並べ変えて表示すればよい。基準にするものは長さ
に限ったことではなく、位置、形状、線種等、何を基準
にしてもよい。
意の図形に対して行なうことができる。例えば、閉じて
いない線分においては長さを基準にして同様の処理によ
って並べ変えて表示すればよい。基準にするものは長さ
に限ったことではなく、位置、形状、線種等、何を基準
にしてもよい。
【0147】それぞれの入力において探索対象にする線
分は、すべての線分を対象にすることのほか、線分がレ
イヤに分類されている場合や、すでに入力済等のフラグ
がついている場合には、そのレイヤやフラグによって探
索対象を選択してもよい。
分は、すべての線分を対象にすることのほか、線分がレ
イヤに分類されている場合や、すでに入力済等のフラグ
がついている場合には、そのレイヤやフラグによって探
索対象を選択してもよい。
【0148】また、画像がない部分に対して補完した線
分はフラグをつけたり、レイヤを自動的に変えることに
よって区別しておく。このようにしておくことによっ
て、画像のない部分の線分をその他の線分と同様に表示
したり、色を変えて表示することによって識別できるよ
うにしたり、また表示を消すことが可能となる。
分はフラグをつけたり、レイヤを自動的に変えることに
よって区別しておく。このようにしておくことによっ
て、画像のない部分の線分をその他の線分と同様に表示
したり、色を変えて表示することによって識別できるよ
うにしたり、また表示を消すことが可能となる。
【0149】次に、追加、削除、変形等の編集の対象と
する線分の選択方法についての一例を説明する。
する線分の選択方法についての一例を説明する。
【0150】例えば、図30の線を編集対象としてピッ
クしたい場合には、マウス等のポインティングデバイス
を用いて線分の近傍をピックする。図中の指示点242
がピックされた点である。このとき、線分列のある部分
の線分だけをピックしたい場合と、線分列全体をピック
したい場合がある。ピックするときに、例えば、キーボ
ードのシフトキーを押しながらピックすれば、(a)の
ように線分列241全体をピックでき、そうでない場合
には、(b)のようにポインタの指す線分243だけを
ピックできるようにする。
クしたい場合には、マウス等のポインティングデバイス
を用いて線分の近傍をピックする。図中の指示点242
がピックされた点である。このとき、線分列のある部分
の線分だけをピックしたい場合と、線分列全体をピック
したい場合がある。ピックするときに、例えば、キーボ
ードのシフトキーを押しながらピックすれば、(a)の
ように線分列241全体をピックでき、そうでない場合
には、(b)のようにポインタの指す線分243だけを
ピックできるようにする。
【0151】(b)の処理を行なう場合、線分の端点に
どの線分が接続しているのかの情報を記憶しておくこと
によって、ピックされた点に近い線分の端点から情報を
たどることにより、連続する線分を知ることができる。
どの線分が接続しているのかの情報を記憶しておくこと
によって、ピックされた点に近い線分の端点から情報を
たどることにより、連続する線分を知ることができる。
【0152】また、ピックされた線分は色または線種を
変えて表示することによって、ユーザから認識しやすく
する。
変えて表示することによって、ユーザから認識しやすく
する。
【0153】また、ピックした部分の取り消しも、シフ
トキーを押しながら取り消すと全体を一度に取り消せ、
そうでない場合には1つずつ取り消せるようにする。こ
の操作は、シフトキーを押しながらの場合とそうでない
場合の操作を逆にしてもよいし、シフトキーによる操作
に限定するものではなく、マウスのボタンや、他のキー
で行なってもよい。
トキーを押しながら取り消すと全体を一度に取り消せ、
そうでない場合には1つずつ取り消せるようにする。こ
の操作は、シフトキーを押しながらの場合とそうでない
場合の操作を逆にしてもよいし、シフトキーによる操作
に限定するものではなく、マウスのボタンや、他のキー
で行なってもよい。
【0154】なお、抽出された線分に対して、図形形状
等の認識処理を行なう装置があるが、この場合も、線分
データに属性データとして付されたカテゴリーを編集対
象とすることもできる。
等の認識処理を行なう装置があるが、この場合も、線分
データに属性データとして付されたカテゴリーを編集対
象とすることもできる。
【0155】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。
るものではなく、その技術的範囲において種々変形して
実施することができる。
【0156】
【発明の効果】本発明によれば、細線化の条件を変えて
行なった処理結果同士を論理演算(例えば排他的論理
和)することで、つぶれ部分を適宜処理することができ
る。例えば、つぶれ部分以外の細線を抽出することがで
き、あるいはつぶれ部分を離した線分を抽出することが
できる。
行なった処理結果同士を論理演算(例えば排他的論理
和)することで、つぶれ部分を適宜処理することができ
る。例えば、つぶれ部分以外の細線を抽出することがで
き、あるいはつぶれ部分を離した線分を抽出することが
できる。
【0157】本発明によれば、同一種類のプリミティブ
(例えば細線)の隣接情報、複数の種類のプリミティブ
(例えば細線と輪郭線)の対応情報といった、プリミテ
ィブ間の情報に基づいて、プリミティブを編集(例えば
マージ、途切れの接続等)するので、正確かつ効率的に
プリミティブを編集し線分を認識することができる。
(例えば細線)の隣接情報、複数の種類のプリミティブ
(例えば細線と輪郭線)の対応情報といった、プリミテ
ィブ間の情報に基づいて、プリミティブを編集(例えば
マージ、途切れの接続等)するので、正確かつ効率的に
プリミティブを編集し線分を認識することができる。
【0158】従って、画像の線がつぶれて接触していた
り、かすれて途切れている線に対しても、精度よく線分
を抽出することができ、また短時間で編集することがで
きる。
り、かすれて途切れている線に対しても、精度よく線分
を抽出することができ、また短時間で編集することがで
きる。
【0159】また、周囲のプリミティブの隣接情報を参
照することによって、途切れ部分の接続を行なうため、
低画質の画素からでも安定して線分を抽出できる。
照することによって、途切れ部分の接続を行なうため、
低画質の画素からでも安定して線分を抽出できる。
【0160】また、複数のプリミティブの対応関係を用
いているため、接触点や交差点で途切れている部分でも
他のプリミティブの接続状態から、線分をつなぐことが
でき、高精度な線分が抽出できる。
いているため、接触点や交差点で途切れている部分でも
他のプリミティブの接続状態から、線分をつなぐことが
でき、高精度な線分が抽出できる。
【0161】また、本発明によれば、ユーザが、従来の
ように厳密な指示ではなく、簡単な指示を入力すること
で、プリミティブを適宜編集(例えばマージ、途切れの
接続等)して線分を認識するので、図面を効率よく入力
することができる。
ように厳密な指示ではなく、簡単な指示を入力すること
で、プリミティブを適宜編集(例えばマージ、途切れの
接続等)して線分を認識するので、図面を効率よく入力
することができる。
【0162】また、本発明によれば、ユーザが、従来の
ように厳密な指示ではなく、簡単な指示を入力すること
で、プリミティブを所定の閉図形として認識することが
でき、閉図形を効率よく入力することができる。
ように厳密な指示ではなく、簡単な指示を入力すること
で、プリミティブを所定の閉図形として認識することが
でき、閉図形を効率よく入力することができる。
【0163】また、本発明によれば、ユーザは、図形の
編集や確認を容易に行なうことができる。
編集や確認を容易に行なうことができる。
【0164】また、本発明によれば、ユーザは、図形の
処理を対話的に行なう際に、処理対象のプリミティブの
指示を容易に行なうことができる。
処理を対話的に行なう際に、処理対象のプリミティブの
指示を容易に行なうことができる。
【図1】本発明の実施の形態に係る線図形認識装置の概
略構成を示すブロック図
略構成を示すブロック図
【図2】同実施の形態の線図形認識装置のハードウェア
構成の一例を示す図
構成の一例を示す図
【図3】線図形認識処理の流れを示すフローチャート
【図4】処理対象となる図形の一例を示す図
【図5】図4に1回細め処理を行なった結果を示す図
【図6】図4の画素にラベルをふった状態を示す図
【図7】線が接触しているときの細線化処理の一例を説
明するための図
明するための図
【図8】図7の細線の抽出結果を示す図
【図9】つぶれた画像に対する細線化処理の一例を示す
図
図
【図10】つぶれた画像に対する細線化処理の他の例を
示す図
示す図
【図11】細線と輪郭線の対応関係の評価方法の一例を
説明するための図
説明するための図
【図12】細線化のひげの影響を削除する処理の一例を
説明するための図
説明するための図
【図13】画像がつぶれている場合の輪郭線と細線の対
応関係の一例を説明するための図
応関係の一例を説明するための図
【図14】輪郭線の分岐点での分割の一例を示す図
【図15】輪郭点に対応する細線のマージの一例を示す
図
図
【図16】ぐいっちで分岐している線分のマージの一例
を示す図
を示す図
【図17】画像が切れている場合の探索ウインドウの設
定の一例を示す図
定の一例を示す図
【図18】接続判定の一例を説明するための図
【図19】隣接判定の一例を説明するための図
【図20】断線部の補完の一例を説明するための図
【図21】断線部の接続の一例を説明するための図
【図22】線分のサンプル点の設定の一例を説明するた
めの図
めの図
【図23】輪郭線から逸脱した線分の整形の一例を説明
するための図
するための図
【図24】複数線分の入力方法の一例を示す図
【図25】途切れ線分を接続せずに入力するときの一例
を示す図
を示す図
【図26】凸閉図形の入力方法の一例を示す図
【図27】凹を含む図形の入力方法の一例を示す図
【図28】凹凸のある閉図形の入力方法の一例を示す図
【図29】閉図形の確認・修正方法の一例を示す図
【図30】線分の選択方法の一例を示す図
1…入力部 2…輪郭線抽出部 3…細線化処理部 4…細線と輪郭線の対応付け処理部 5…線分探索部 6…線分接続判定部 7…線分接続処理部 8…線分整形処理部 9…認識結果出力部 10…記憶部 11…処理プロセッサ 12…イメージスキャナ 13…スキャナインタフェース 14…画像メモリコントローラ 15…画像メモリ 16…アドレスコントローラ 17…メモリ 18…システムバス 19…画像バス
Claims (4)
- 【請求項1】入力された線画を含む画像データから線分
を抽出する線図形入力装置において、 前記画像データに条件の異なる複数の細線化処理を施す
手段と、 前記複数の細線化処理の結果をもとにして所定の論理演
算を行なう手段と、 この論理演算の結果に基づいて線分を抽出する手段とを
具備することを特徴とする線図形入力装置。 - 【請求項2】入力された線画を含む画像データから線分
を抽出する線図形入力装置において、 前記画像データから少なくとも1種類のプリミティブを
抽出する手段と、 同一種類のプリミティブの隣接情報および複数の種類の
プリミティブの対応情報のうち少なくともいずれか一方
を含む情報に基づいて、抽出された前記プリミティブを
編集する手段とを具備することを特徴とする線図形入力
装置。 - 【請求項3】入力された線画を含む画像データから線分
を抽出入力する線図形入力装置において、 前記画像データから少なくとも1種類のプリミティブを
抽出する手段と、 複数のプリミティブからなる閉図形の内側の部分または
外側の部分のいずれかを指示するための手段と、 内側の部分が指示された場合、指示された部分から外側
に向けてプリミティブを探索し、外側の部分が指示され
た場合、指示された部分から内側に向けてプリミティブ
を探索する手段と、 探索されたプリミティブをマージする手段とを具備する
ことを特徴とする線図形入力装置。 - 【請求項4】入力された線画を含む画像データから線分
を抽出する線図形入力装置において、 任意の図形を探索する手段と、 探索された前記図形を整列して表示する手段と、 整列して表示された前記図形を編集するための手段とを
具備することを特徴とする線図形入力装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7234512A JPH0981740A (ja) | 1995-09-12 | 1995-09-12 | 線図形入力装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7234512A JPH0981740A (ja) | 1995-09-12 | 1995-09-12 | 線図形入力装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0981740A true JPH0981740A (ja) | 1997-03-28 |
Family
ID=16972192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7234512A Pending JPH0981740A (ja) | 1995-09-12 | 1995-09-12 | 線図形入力装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0981740A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000046691A (ja) * | 1998-07-27 | 2000-02-18 | Asahi Optical Co Ltd | 光学部材検査装置,画像処理装置,及び、コンピュータ可読媒体 |
JP2002143141A (ja) * | 2000-11-14 | 2002-05-21 | Konica Corp | 画像診断支援装置 |
JP2006350680A (ja) * | 2005-06-16 | 2006-12-28 | Fuji Xerox Co Ltd | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
JP2009151759A (ja) * | 2007-11-14 | 2009-07-09 | Canon Inc | 画像処理方法及び画像処理装置 |
JP2010157186A (ja) * | 2009-01-05 | 2010-07-15 | Canon Inc | 画像処理方法、画像処理装置及びコンピュータプログラム |
US8139818B2 (en) | 2007-06-28 | 2012-03-20 | Toshiba Tec Kabushiki Kaisha | Trajectory processing apparatus and method |
JP2013530443A (ja) * | 2010-04-29 | 2013-07-25 | シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッド | グラフィックカーブのチェーンを形成するシステムおよび方法 |
CN103309859A (zh) * | 2012-03-06 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 数据抽稀方法及装置 |
KR101691917B1 (ko) * | 2015-07-07 | 2017-01-02 | 조웅희 | 연속적으로 중복된 직선 영상의 단선화 방법 및 시스템 |
-
1995
- 1995-09-12 JP JP7234512A patent/JPH0981740A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000046691A (ja) * | 1998-07-27 | 2000-02-18 | Asahi Optical Co Ltd | 光学部材検査装置,画像処理装置,及び、コンピュータ可読媒体 |
JP2002143141A (ja) * | 2000-11-14 | 2002-05-21 | Konica Corp | 画像診断支援装置 |
JP2006350680A (ja) * | 2005-06-16 | 2006-12-28 | Fuji Xerox Co Ltd | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
US8139818B2 (en) | 2007-06-28 | 2012-03-20 | Toshiba Tec Kabushiki Kaisha | Trajectory processing apparatus and method |
JP2009151759A (ja) * | 2007-11-14 | 2009-07-09 | Canon Inc | 画像処理方法及び画像処理装置 |
JP2010157186A (ja) * | 2009-01-05 | 2010-07-15 | Canon Inc | 画像処理方法、画像処理装置及びコンピュータプログラム |
JP2013530443A (ja) * | 2010-04-29 | 2013-07-25 | シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッド | グラフィックカーブのチェーンを形成するシステムおよび方法 |
CN103309859A (zh) * | 2012-03-06 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 数据抽稀方法及装置 |
CN103309859B (zh) * | 2012-03-06 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 数据抽稀方法及装置 |
KR101691917B1 (ko) * | 2015-07-07 | 2017-01-02 | 조웅희 | 연속적으로 중복된 직선 영상의 단선화 방법 및 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2951814B2 (ja) | 画像抽出方式 | |
EP0534446B1 (en) | System with approximation means for recognizing graphical elements in a drawing | |
JPH08305796A (ja) | パターン抽出装置、パターン再認識用テーブル作成装置及びパターン認識装置 | |
US6947596B2 (en) | Character recognition method, program and recording medium | |
JPH0981740A (ja) | 線図形入力装置 | |
US20040032976A1 (en) | Method and apparatus for matching streaked pattern image | |
JP3564371B2 (ja) | 図形編集装置及び方法 | |
JP3130869B2 (ja) | 指紋画像処理装置、指紋画像処理方法、および記録媒体 | |
US6901168B1 (en) | Method for segmenting and identifying a document, in particular a technical chart | |
JPH04255080A (ja) | 画像入力装置 | |
JP3077929B2 (ja) | 文字切出し方式 | |
JPH08212292A (ja) | 枠線認識装置 | |
JP3379327B2 (ja) | 文字認識装置 | |
JPH05197771A (ja) | 図面認識装置 | |
JP4406974B2 (ja) | 画像検出装置、画像検出方法および記録媒体 | |
JP2563163B2 (ja) | 図形指示方法 | |
JP4789065B2 (ja) | 画像処理装置および画像処理プログラム | |
JP2650443B2 (ja) | 線図形ベクトル化方式 | |
JPH06139360A (ja) | 線種認識方法及び装置 | |
JPH10149436A (ja) | ラスターデータ管理方式及びラスターデータ編集装置 | |
JPH0773273A (ja) | パターン切出しおよび認識方法とそのシステム | |
JPH05189606A (ja) | 文字列領域検出方法 | |
JPH04117579A (ja) | ハッチング領域抽出方法 | |
JPH0785254A (ja) | 図面入力処理装置 | |
JPH04109369A (ja) | マーク認識装置 |