(57)【特許請求の範囲】
【請求項１】
コンピュータに、
画像から抽出した分断ベクトルの中から着目べクトルを選択する着目べクトル選択ステップと、
あらかじめ設定された複数のベクトル連結処理基準を順次選択する連結処理基準選択ステップと、
選択された前記ベクトル連結処理基準に基づきべクトル間の連結可能性を判定する連結可能性判定ステップと、
選択された前記ベクトル連結処理基準に基づいてべクトル間の連結を行う判定がなされた分断ベクトルの連結を行うベクトル連結ステップと、
前記ベクトル連結ステップにおいて連結処理の行われていない未処理ベクトルがなくなったとき、あらかじめ設定されたノイズ長以下のベクトルを除去するノイズ除去ステップとを動作させ、
前記ベクトル連結処理基準は、前記着目べクトルの一端点と連結処理の対象とする他のベクトルの一端点との端点間距離ＬＤ１と、前記着目べクトルあるいは前記着目べクトルの延長線から直角に測った前記他のベクトルとの距離ＬＤ２とが所定値内の基準を有し、前記ＬＤ１と前記ＬＤ２は前記ベクトル連結ステップにおいて可変であることを特徴とする分断ベクトル連結プログラム。
【請求項２】
前記着目ベクトル選択ステップは、分断ベクトルにおける未処理べクトルのうち最長のベクトルを前記着目ベクトルとして選択することを特徴とする請求項１記載の分断ベクトル連結プログラム。
【請求項３】
前記連結可能性判定ステップは、連結可能と判定するベクトルが存在しないとき、前記着目ベクトル選択ステップに移行することを特徴とする請求項１および請求項２記載の分断ベクトル連結プログラム。
【請求項４】
前記ベクトル連結処理基準において、前記着目べクトルが他のべクトルと連結されて長くなるに伴い、前記ＬＤ１と前記ＬＤ２とは必要に応じて順次増加することを特徴とする請求項１乃至請求項３のいずれかに記載の分断ベクトル連結プログラム。
【請求項５】
分断されたベクトルを連結する分断ベクトル連結方法であって、
画像から抽出した分断ベクトルの中から着目べクトルを選択する着目べクトル選択ステップと、
あらかじめ設定された複数のベクトル連結処理基準を順次選択する連結処理基準選択ステップと、
選択された前記ベクトル連結処理基準に基づきべクトル間の連結可能性を判定する連結可能性判定ステップと、
選択された前記ベクトル連結処理基準に基づいてべクトル間の連結を行う判定がなされた前記分断ベクトルの連結を行うベクトル連結ステップと、
前記ベクトル連結ステップにおいて連結処理の行われていない未処理のベクトルがなくなったときに、あらかじめ設定されたノイズ長以下のベクトルを除去するノイズ除去ステップとを有し、
前記ベクトル連結処理基準は、前記着目べクトルの一端点と連結処理の対象とする他のベクトルの一端点との端点間距離ＬＤ１と、前記着目べクトルあるいは前記着目べクトルの延長線から直角に測った前記他のベクトルとの距離ＬＤ２とが所定値内の基準を有し、前記ＬＤ１と前記ＬＤ２は前記ベクトル群連結ステップにおいて可変であることを特徴とする分断ベクトル連結方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カラー画像など濃淡が不鮮明な画像から抽出したベクトルを接続するための改良されたプログラムおよび方法に関する。
【０００２】
【従来の技術】
画像から線分などをベクトルデータとして抽出する場合、通常は画像を２値化後、細線化、チェインコード変換を経てベクトルデータ化する方法が使われている。
また、特開平２−１０５２６５号公報には、このような画像からのベクトルデータの抽出方法について１方法が提案されている。
【０００３】
すなわち、前記従来のベクトル化の方法では、２値化したデータの細線化処理、すなわち、画像のどんな太さの線でも１画素分の太さの線にする処理の後、チェインコード変換で、黒画素がどの方向に連続しているかを調べる黒画素のつながりの始点と終点から黒画素の連続部を１つのベクトルデータとするが、問題点としては、細線化処理の際、画像の小突起やノイズにより、誤ベクトルを生成しやすいということが指摘され、その改良が示されている。
【０００４】
すなわち、２値画像を縦方向に各画素毎に走査する縦走査を横方向に所定画素間隔で行うとともに、前記２値画像を横方向に各画素ごとに走査する横走査を縦方向に所定画素間隔で行う走査手段と、前記縦走査および横走査の各走査ごとに連続する黒画素の重心を抽出する黒画素重心抽出手段と、前記縦走査および横走査において前記黒画素重心抽出手段が抽出した該走査の黒画素重心と該走査に隣接する走査において抽出された黒画素重心とが所定距離内にある場合に両黒画素重心を連結するベクトルを形成する黒画素重心連結手段と、この黒画素重心連結手段が生成した複数のベクトルを一つのベクトルに結合する処理または離間した複数のベクトルを接触させる処理をするベクトル整形手段とを備えるものとしている。
【０００５】
ベクトルの整形は、短ベクトルの削除をベクトルの長さがある閾値以下であるとき、重心の抽出に誤りがあり、それによって形成された誤ベクトルであると判断して削除するようにしている。
そして、ベクトルの結合を、２つのベクトルの端点間の距離が所定距離より小であり、且つ２つのベクトルの成す角度が所定角度より小である時、前記２つのベクトルを、それらの互いに離れている端点を結ぶ１つのベクトルで代表させるようにしている。
【０００６】
さらに、ベクトルの接触処理を一方のベクトルのどちらかの端点から他方のベクトルまでの距離が、所定距離より小である時、該端点を他方のベクトルに接触するよう整形するようにしている。
これにより、従来の画像データのベクトル変換で行っていたような細線化処理は採用しないので、画像の小突起やノイズに基づく誤ベクトルが生成されにくくなったとされている。
【０００７】
【発明が解決しようとする課題】
しかしながら、前記公知例のように細線化によるベクトル抽出時のベクトルの途切れの発生が少なくなる効果を奏する方法であっても、元となる画像によっては、抽出されたベクトル群に途切れの多く、抽出後のベクトルの接続の方法に改良が必要な場合も考えられる。
【０００８】
特に、写真などのカラー画像では、二値化した段階で画像内の線分の連続性が失われやすい。これは、二値化処理が、特定画素と周辺画素との色の違いを元に処理しているためであり、カラー画像内の線分のように色が微妙に変化するようなケースでは完全に二値化することはできない。
このような画像をベクトルデータ化する場合、二値化された画像をもとに処理するので、画像内の線分は途中で分断されたベクトルデータになってしまう。ノイズと考えられる短いベクトルデータを削除しようとすると、本来なら線分と認識すべきベクトルデータまでも削除してしまう恐れがあり、ノイズ除去としては、ごく短いベクトルデータの削除にとどまっていた。
【０００９】
そこで、本発明は、カラー画像など濃淡が不鮮明な画像から抽出した分断されたベクトル群に対して、適切な連結処理とノイズの除去を行って原画像に近いベクトルデータを抽出する手段を提供することを課題とする。
【００１０】
【課題を解決するための手段】
図１には本発明の構成図を示す。図は画像等から得られて、ベクトルテーブル７に格納された分断されたベクトルに対して、連結処理基準選択ステップ２によって順次選択される連結処理基準１に基づいてベクトル群連結ステップ３を動作させて、その結果を反映させたベクトルテーブルに対して、すべての連結処理基準を設定された順序で適用し、最後にノイズ除去ステップ４を動作させることにより連結されたベクトルデータがベクトルテーブルに格納されて得られる仕組みを示している。
【００１１】
ベクトル連結処理基準（ａ〜ｘ）１には、連結処理の対象とするベクトルの最短の長さを示す最短ベクトル長と、連結する２つのベクトルの組合せを選択する最長の端点間距離を示す最長端点間距離と、第１の着目ベクトルの延長線と第２ベクトルとの連結可能性を判定する最長のベクトル間距離を示す最長ベクトル間距離と、を含み、複数のベクトル連結処理基準（ａ〜ｘ）１のそれぞれに対してこれらの値の組が設定されている。
【００１２】
特に、ベクトル群連結ステップ３は着目ベクトル選択ステップ５、連結可能性判定ステップ６、ベクトル連結ステップ８および短ベクトル除去ステップ９で構成されていることを示している。
すなわち、着目ベクトル選択ステップ５は、分断ベクトル群中の未処理で最長のベクトルを着目ベクトルとして選択し、未処理のベクトルがないときには短ベクトル除去ステップ９に移行してその連結処理基準についての終了処理に移る。
【００１３】
そして、連結可能性判定ステップ６は、着目ベクトルの端点から最長端点間距離以内に端点を持ち、かつ、最長ベクトル間距離以内のベクトルが存在すれば連結可能性ありと判定してベクトル連結ステップ８に移り、ベクトルを連結するようにし、また、存在しなければ着目ベクトル選択ステップ５に移行する。
ベクトル連結ステップ８は、連結可能性を判定されたベクトルを着目ベクトルと連結して新たな着目ベクトルとしてベクトルテーブル７に格納し、連結可能性判定ステップ６に移行して連結処理を繰り返す。
【００１４】
着目ベクトル選択ステップ５において、未処理のベクトル、すなわち、着目ベクトルと連結されたベクトルあるいは着目ベクトルとして選択されて他のベクトルとの連結可能性がなしとされたベクトル以外のベクトルがなくなったとき、動作する短ベクトル除去ステップ９は、選択された連結処理基準１に設定された最短ベクトル長未満のベクトルを除去して、選択されたベクトル連結基準１に基づいた分断ベクトル群連結処理を終了する。
【００１５】
また、このようにして順次選択される複数のベクトル連結処理基準１において、最長ベクトル間距離はベクトル連結処理基準１が選択される毎に単純増加するように設定され、同じ値の最長ベクトル間距離と組み合わせられる最長端点間距離はベクトル連結処理基準１が選択される毎に単純増加するように設定されている。
【００１６】
このようにすることにより、短いベクトルも段階的に他のベクトルと連結を繰り返し成長させながら、離れた距離にあるベクトルも連結することができるので、接続されないノイズベクトルも効率よく選択して除去できることになり、カラー画像など濃淡が不鮮明な画像から抽出した分断されたベクトル群に対しても、適切な接続処理とノイズの除去を行って原画像に近いベクトルデータを抽出することが可能となる。
【００１７】
【発明の実施の形態】
本実施の形態においては、パーソナルコンピューター、ワークステーション等の汎用的な目的で使用される計算機上で実行するコンピュータプログラムにより実現する形態を示す。
本発明の分断ベクトル連結プログラムは、処理装置、主記憶装置、入出力装置などから構成される計算機上で、コンピュータプログラムとして実行して実現される。また、コンピュータプログラムは、フロッピーディスクやＣＤ−ＲＯＭ等の可搬型媒体やネットワーク接続された他の計算機の主記憶装置や補助記憶装置等に格納されて提供される。
【００１８】
本発明のコンピュータプログラムは、可搬型媒体から直接計算機の主記憶装置にロードされ、または、補助記憶装置を備えた計算機においては可搬型媒体から一旦補助記憶装置にコピーまたはインストール後に、主記憶装置にロードされて実行する。また、ネットワーク接続された他の装置に格納されて提供された場合も、他の装置からネットワークを経由して受信後に、主記憶装置にロードされ、あるいは補助記憶装置を備える計算機においては補助記憶装置にコピー後に、主記憶装置にロードされて実行するものである。
【００１９】
図２に本発明の実施の形態の構成図を示す。本実施の形態は、写真で撮影した建物の画像からその立体構造を測定したり、壁面の模様を正確に記録して背景色を変えた図面をつくり出したりするための装置に本発明を応用した例を示すこととする。
図２において、２０は本発明の分断ベクトル連結プログラム２７を動作させるコンピュータである。２６は提供された分断ベクトル連結プログラムを格納した媒体でありコンピュータはこの媒体からプログラムを読み込み、動作可能とすることで分断ベクトル連結装置として機能することになる。
【００２０】
２２は分断されたベクトル群のデータを格納した媒体でありその対応する画像を２１に示している。この画像はカメラなどで撮影した画像であり本装置の入力となるベクトルデータは従来技術により、画像を２値化、細線化などの処理によって分断されたベクトルデータの形式とされたものである。
操作部２３はディスプレイ、キーボード、マウスなどの入出力機能を備え、利用者が本装置の各機能を制御するための操作を行うものである。操作部２３による指示により分断されたベクトル群２２のデータは読み込まれてベクトルデータ域２８に格納される。このベクトルデータ域２８に格納されたベクトルデータは、予め設定された連結処理基準２９に格納された複数の連結処理基準に基づいて分断ベクトル連結プログラム２７が連結処理して各連結処理基準に対応した処理毎にベクトルデータ域に段階的に連結されたベクトルデータで置き換えて格納することにより、設定されたすべての連結処理基準２９に基づいた処理が終了したときには連結されたベクトル群２４として媒体に出力することになり、この連結されたベクトルは表示すると２５のような連結されたベクトルになる。
【００２１】
ベクトル連結処理の詳細な説明に入る前に、ベクトル連結の過程を処理途中の画像で説明しておく。図３には本実施の形態のベクトル連結の処理対象の写真画像を示す。すなわち図２における分断されたベクトル画像２１に対応するものであり、建物の壁面部分の写真（元はカラー写真）である。この写真に見られる壁面の縞模様などをベクトルデータとして抽出することを行っていく。
【００２２】
図４は従来技術によるベクトル連結処理結果の画像を示す。図５は図３の写真画像を２値化、細線化、チェインコード化して得られた状態のベクトル連結前のベクトルデータであり図２の分断されたベクトル群２２に対応するデータを可視化したものである。
以下、図６から図１１までは本発明の特徴である段階的、繰り返し行う連結処理の中間結果を可視化したものを示す。図１２は最終的に得られた、本発明によるベクトル連結最終結果を示すものである。
【００２３】
これらの図を比較してわかるように分断されたベクトルが徐々に段階を経て接続され、最終結果を得る段階においてはある程度長さのあるノイズであるベクトルも除去できるので目的とする原画像に近いベクトルデータが得られた。
特に図４に示した従来技術によるベクトル連結処理結果と図１２の本発明によるベクトル連結最終結果とを比較するとその効果が明白である。以下にベクトル連結処理の仕組みと動作を詳細に説明する。
【００２４】
図１３にベクトルの連結処理基準を示す。図５のベクトル連結前のベクトルデータに対して７回の連結処理を行うときの連結処理基準をまとめて表形式で示している。
すなわち、基準番号１から７までの連結処理基準であり、基準番号１から４はベクトル間距離を１として、端点間距離を順次２、４、６、１０と変化させている。距離の単位はここでは相対的な大きさの変化を説明するので最小の長さを１としている。例えば、ドット、ピクセル、あるいはそのｎ倍を単位としても本発明の仕組みを説明する場合に違いは生じない。
【００２５】
ベクトル間距離は基準とするベクトル、これを着目ベクトルというが、この着目ベクトルとの隣接の度合、平行の度合を確認するための目安であり、着目ベクトルあるいはその延長線と対象のベクトルの端点との距離範囲の限界を示す。すなわち、対象のベクトルの両端点が着目ベクトルあるいはその延長線から、この限界内にある場合は連結する候補とすることができることになる。
【００２６】
そして、その候補の中で、着目ベクトルの端点と候補ベクトルの端点の距離が基準に示される端点間距離以内であるときには連結可能と判断する。ただし、端点も近く、平行した近い距離にある場合でも、着目ベクトルの延長方向に伸びるベクトルでない場合は接続できないので、接続する端点から伸びる方向を判定する必要がある。
【００２７】
このようにして、すぐ近くの分断されたベクトルと思われるものから、端点間距離が順次増加するような連結基準によって、順々により離れたベクトルを連結することになり、これにしたがい、分断されたベクトルの長さが長くなっていく。
基準番号５から７はベクトル間距離を２として、端点間距離を５、１０、１５と変化させている。ベクトルが連結されて行き長くなって行くとより遠く離れたベクトルとの接続を試みるが同じ平行度でもベクトル間距離を大きくして対象のベクトルを探すことができる。
【００２８】
ベクトル長は基準番号１から３まで、２、４、６としているがその他は０、すなわち、基準番号１から３までは端点間距離が小さいベクトルを対象に連結して行くので接続対象とするベクトルの長さも順次長いものに限定して行くようにしている。これにより明らかに処理不要のベクトルを除去して処理対象を減らして処理に必要な時間を短縮する効果が得られる。
【００２９】
しかし、基準番号４以降はこのベクトル長は０としてあり、中間的に短いベクトルの除去を行わなくしている。これは、ベクトル間距離の拡大に伴い中間的な長さのベクトルも連結対象となる可能性があるから残している。そして、基準番号７に示すように、ノイズ長が３０として連結が進んだ状態で一挙に中間の長さのベクトルをノイズとして除去するようにしている。これは、基準番号１から７まで、段階的にベクトルの連結を行ってベクトル長を成長させていく方式を採ったため可能となった効果の一つである。
【００３０】
図１４には連結処理基準の各パラメータなど用語の説明図を示す。すなわち、前記図１３の連結処理基準について図で説明するものである。
図１４（ａ）は着目ベクトルと端点間距離について図示している。ここには、ベクトルＡとして、端点ａとｂを持つベクトルを示し、端点ｃ、ｄを持つベクトルＣ、同様に、ベクトルＥを示している。ここで、ベクトルＡは着目ベクトルであり、ベクトルの長さＤ（ａｂ）が連結処理がなされていないベクトルの中で最も長いものとして選ばれる。
【００３１】
着目ベクトルの端点ｂからの連結処理基準距離範囲を示す端点間距離をＬＤ１で示し、これを半径とする円の範囲内に存在する端点をもつベクトルが連結の候補となる。ここでは、端点ｂの近傍に端点ｃ、ｅがあり、ベクトルＣ、ベクトルＥがその候補となることを示している。
図１４（ｂ）は着目ベクトルとベクトル間距離の説明図である。着目ベクトルＡおよびその延長線から直角に測った距離についての連結処理基準をベクトル間距離ＬＤ２で表している。連結可能性を判定するとき、ベクトルＣの端点ｃおよびｄは両方ともその範囲に入っていることが分かる。もう一つのベクトルＥの端点ｅの着目ベクトルＡとのベクトル間距離はＤ（ｅ）で示されＬＤ２以下であることが分かるが、端点ｆのベクトルＡとの距離はＤ（ｆ）で示されるようにＬＤ２を超えていることを示している。
【００３２】
すなわち、ベクトルＣは端点ｃがベクトルＡの端点ｂと端点間距離がＬＤ１以内で、かつ、両端点ｃ、ｄともにベクトル間距離もＬＤ２以内である。一方、ベクトルＥは端点ｅは端点間距離、ベクトル間距離も基準に入っているが端点ｆがベクトルＡの延長線からの距離が基準を超えている。
このようにして、連結可能性のあるベクトルを判定して、図１４（ｃ）着目ベクトルとベクトル連結に示すように端点ｂと端点ｃをつなぎ、着目ベクトルＡとベクトルＣとを連結する。このようにして連結されたベクトルを新しい着目ベクトルとして、前記したと同様に連結処理基準の端点間距離、ベクトル間距離によって連結処理を進めることになる。
【００３３】
なお、図１４（ｃ）に示すように着目ベクトルＡとなす角度についても連結処理を行うとき確認を行うようにしている。すなわち、連結するベクトルの長さが長いときはベクトル間距離の基準によりほぼ平行なベクトルが選択されるが、ベクトルの長さが短いとき、および、ベクトル間距離が長くなってきたときに角度の規制も行う。図でＬＡは連結処理に加えられるベクトル間角度の範囲を示している。また、この角度の確認は、端点が近く、ベクトル間距離も基準内であってもベクトルの向きが逆向き、すなわち、接続する端点で折り返すような方向のベクトルを連結しないように排除するためにも必要な処理である。
【００３４】
次に、図１５に示すベクトルテーブルに例示して格納されたベクトルデータの連結処理の動作について、図１６から図１８に示すベクトル連結のフローチャートを用いて説明する。
図１５（ａ）は連結対象ベクトルデータテーブルであり、連結処理の対象の各ベクトルをその長さの順に並べている。テーブルの構成は、ベクトルのそれぞれを区別するために付したベクトル番号をＶ１からＶｎとして示し、ベクトルの端点の座標、端点１座標、端点２座標をそれぞれ（ｘ１，ｙ１）、（ｘ２，ｙ２）で示すが、各ベクトルの座標はＶ１ｘｙ１でベクトル番号Ｖ１の第１端点の座標（ｘ，ｙ）を意味するように略記している。
【００３５】
ベクトル長さはＶ１Ｌによりベクトル番号Ｖ１のベクトルの長さを示している。このベクトル長さはふたつの端点の座標から算出した値を示す。同様に、各ベクトルの角度も端点の座標から算出することができるが表には示していない。ふたつのベクトルの角度を検証するときはそのつど算出してもよい。
また、フラグは処理済ベクトルを表すフラグとして「※」、処理中ベクトルを示すものとして「○」を用いて例示している。処理中とは、そのベクトルを着目ベクトルとして連結処理をしていることを示している。連結対象として接続されたベクトル、および、着目ベクトルとして他のベクトルとの連結を試みた結果連結する相手がないと判明したベクトルは処理済ベクトルのフラグが付けられるようにして一連の連結処理は未処理のベクトルがなくなるまで行われる。
【００３６】
図１５（ｂ）は作業用ベクトルデータテーブルを示している。図１５（ａ）は連結処理対象のベクトルデータを格納するものであり、各連結処理基準に対応する連結処理ごとに対象となるベクトルデータを示し、連結処理中にはフラグが設定されることおよび処理対象のベクトルを選択するための不図示のポインタが変化する以外は固定されているものであるが、図１５（ｂ）の連結処理作業用ベクトルデータは連結処理のために変化する途中段階のベクトルデータを格納するものである。
【００３７】
すなわち、連結ベクトル番号列はＶ１−Ｖ３のように、ベクトル番号Ｖ１とＶ３が連結されたベクトルデータを示し、端点座標、ベクトル長さは前記連結対象ベクトルデータテーブルと同様である。このテーブルのフラグは「◎」で着目ベクトルを示す。連結対象ベクトルデータテーブルのベクトル中で処理中のベクトルデータを作業用ベクトルデータテーブルにコピーして処理を進め、連結されたベクトルができると連結ベクトル番号列として表示するとともに端点座標、ベクトル長さを更新するようにしている。端点座標の表示は連結されたベクトルの端点座標を示すように先頭に「Ｌ」を付け、ベクトル番号はベクトル番号列の先頭のベクトル番号を用いている。同様にベクトル長さも表示している。
【００３８】
図１５を参照しながら、図１６ベクトル連結のフローチャート（その１）から図１８ベクトル連結のフローチャート（その３）のフローチャートに沿ってベクトル連結処理の動作を説明する。
まず、ステップＳ１６１において、写真などから採取され２値化、細線化され、チェインコード変換されて、ベクトル化されてはいるが分断された状態のベクトルデータを入力して、本来の原画像に近いベクトルとするために連結処理対象ベクトルデータテーブルに設定する。
【００３９】
ステップＳ１６２では、連結対象ベクトルデータテーブルのベクトルデータを各ベクトルの長さの順に並べ替える。これは、長いベクトルを着目ベクトルとしてそれに他のベクトルを連結して成長させていくようにするために行うものである。
ステップＳ１６３で連結処理基準の基準番号を順次進めて連結処理を行う条件を設定する。ひとつの連結処理基準により連結対象のベクトル群を連結処理し、連結が進んだベクトル群をあらためて連結対象として新しい連結処理基準を使って連結処理を繰り返すことになる。ステップＳ１６４であらかじめ用意された連結処理基準により連結処理がすべて終わったか、すなわち、図１３に示した基準番号の１から７まで７回の連結処理を繰り返し行ったことが確認されると図１８のステップＳ１８４に移行して最後の処理として、連結対象ベクトルデータテーブルの中で連結処理基準に設定されたノイズ長以下のベクトルデータを削除する。これにより分断されたベクトルの連結処理は段階を経て徐々に連結を進め、ノイズの少ない原画像に近いベクトル群として得られることになる。
【００４０】
ステップＳ１６５では新たに選択された連結処理基準による連結処理を行うために、作業用ベクトルデータテーブルを初期状態とする。
ステップＳ１６６において、連結対象ベクトルデータテーブルのベクトルデータの中で順番にフラグを調べ処理済のフラグがないベクトルを検出したらそれを処理中ベクトルとしてフラグを設定する。長さの順にソートされているので未処理のベクトルの内で最長のものが採用されることになる。
【００４１】
図１５は連結処理が進んだ状態を表しているが、ここに表示されている連結対象ベクトルデータテーブルにはベクトル番号１から大きさの順にベクトル番号Ｖｎまで設定されていて、Ｖ１、Ｖ２、Ｖ３そしてＶ６が処理済、すなわち、いずれかの他のベクトルと連結され作業用ベクトルデータテーブルに格納されたことを示している。なお、この例にはないが、連結する相手がなく単独で作業用ベクトルデータテーブルに転記されて処理済となるものもある。
【００４２】
作業用ベクトルデータテーブルを見ると、連結ベクトル番号列としてＶ１−Ｖ３、Ｖ２−Ｖ６として前記処理済フラグが付いたベクトルが連結して示されている。
ステップＳ１６７では、連結対象ベクトルデータテーブルのフラグが処理中とされたベクトルデータを作業用ベクトルデータテーブルに追加してコピーする。そして、これに着目ベクトルのフラグを設定する。図１５においては、Ｖ４およびＶ４−Ｖｐ−Ｖｑが処理中ベクトルデータ、着目ベクトルデータの例であるが、作業用ベクトルデータテーブルにコピーされた後、処理が進み、ベクトルＶｐ、Ｖｑが連結された状態を示している。
【００４３】
図１７のステップＳ１７１では、連結対象ベクトルデータテーブルのフラグが処理中、処理済以外の（未処理の）ベクトルデータがあるかを調べる。ここで、未処理のベクトルデータがないときには、処理中であった連結処理基準に基づく連結処理は終了することになるので、次の連結処理基準の選択に移る前にステップＳ１８１に移行し、この段階で作業中ベクトルデータテーブルに格納された連結されたベクトルデータをハフ変換しそれぞれ連続した１本のベクトルとする。
【００４４】
そして、ステップＳ１８２で次の段階の連結処理基準による処理を行うために、連結対象ベクトルデータテーブルをクリアして、作業中ベクトルデータテーブルのベクトルデータをコピーする。これにより次のステップのためのベクトルデータの設定ができたのでステップＳ１６２に戻るようにする。
ステップＳ１７１でまだ未処理のベクトルデータがあるときにはステップＳ１７２にステップを進める。ここでは、連結対象ベクトルデータテーブルのフラグが処理中および処理済以外のベクトルについて、着目ベクトルの端点と一方の端点との間の端点間距離が連結処理基準範囲内で、かつ、ベクトル間距離が連結基準内で、かつ、着目ベクトルとの角度が限度内のベクトルを抽出する。
【００４５】
ステップＳ１７３で、これらの条件をみたす抽出されたベクトルがなかったときには、ステップＳ１８３に移動し、処理中ベクトルデータのフラグを処理済に変える。すなわち、連結する相手のベクトルが見つからなかったときにはそこまでの連結で処理中のベクトルは連結処理を終了し、新たな連結処理を行うベクトルデータを探すためにステップＳ１６６に移行する。
【００４６】
ステップＳ１７３で抽出されたベクトルが見つかったときにはステップＳ１７４以降において、着目ベクトルとここに見つかったベクトルを連結する処理に入る。ステップＳ１７４では、もし抽出したベクトルが複数あるときは両端点の着目ベクトルとの距離の合計の小さいベクトルを選択するようにしている。
ステップＳ１７５では、連結対象ベクトルデータテーブルの選択したベクトルデータのフラグを処理済とする。
【００４７】
ステップＳ１７６では、着目ベクトルと選択したベクトルを接続して作業用ベクトルデータテーブルの着目ベクトルを更新して置き換える。これにより、着目ベクトルにひとつのベクトルが新たに連結されたことになり、次の未処理のベクトルについて現在処理中の着目ベクトルに連結するものがあるかどうかを探すところから繰り返し処理するためにステップＳ１７１に移行する。
【００４８】
以上のように、ベクトルの連結処理の動作がなされることが説明されたが、図１３に示した連結処理基準の例に基づき、図３に示した写真画像から取り出されたベクトル連結前の図５に示す分断されたベクトルが、図６から図１２にわたる７段階の連結処理で着実に連結が進み、かつ、図１１から図１２に移る最終段階でのノイズ除去が有効に働き、図４に示した従来技術によるベクトル連結処理結果と較べると、ノイズの少ない図３の写真の原画像に写されているベクトルに近いベクトルデータとなったことが分かる。
【００４９】
（付記１）  コンピュータに、
あらかじめ設定された複数のベクトル連結処理基準を順次選択する連結処理基準選択ステップと、
前記選択されたベクトル連結処理基準に基づいて分断ベクトル群の連結を行うベクトル群連結ステップと、
前記ベクトル群連結ステップが前記あらかじめ設定されたすべてのベクトル連結処理基準について実行されたとき、あらかじめ設定されたノイズ長以下のベクトルを除去するノイズ除去ステップと、
を動作させることを特徴とする分断ベクトル連結プログラム。
（付記２）  前記ベクトル連結処理基準には、連結処理の対象とするベクトルの最短の長さを示す最短ベクトル長と、連結する２つのベクトルの組合せを選択する最長の端点間距離を示す最長端点間距離と、第１の着目ベクトルの延長線と第２ベクトルとの連結可能性を判定する最長のベクトル間距離を示す最長ベクトル間距離と、を含むことを特徴とする付記１記載の分断ベクトル連結プログラム。
（付記３）  前記ベクトル群連結ステップには前記選択されたベクトル連結処理基準に基づきコンピュータに動作させる、着目ベクトル選択ステップと、連結可能性判定ステップと、ベクトル連結ステップと、短ベクトル除去ステップと、を含み、
前記着目ベクトル選択ステップは、分断ベクトル群中の未処理で最長のベクトルを着目ベクトルとして選択し、未処理のベクトルがないときには短ベクトル除去ステップに移行し、
前記連結可能性判定ステップは、前記着目ベクトルの端点から前記最長端点間距離以内に端点を持ち、かつ、前記最長ベクトル間距離以内のベクトルが存在すれば連結可能性ありと判定し、存在しなければ前記着目ベクトル選択ステップに移行し、
ベクトル連結ステップは、前記連結可能性を判定されたベクトルを前記着目ベクトルと連結して新たな着目ベクトルとして前記連結可能性判定ステップに移行し、
前記短ベクトル除去ステップは、前記最短ベクトル長未満のベクトルを除去して、前記選択されたベクトル連結基準に基づいた分断ベクトル群連結処理を終了することを特徴とする付記２記載の分断ベクトル連結プログラム。
（付記４）  前記順次選択される複数のベクトル連結処理基準において、前記最長ベクトル間距離は選択される毎に単純増加するように設定され、同じ値の前記最長ベクトル間距離と組み合わせられる前記最長端点間距離は選択される毎に単純増加するように設定されることを特徴とする付記２から付記３のいずれかに記載の分断ベクトル連結プログラム。
（付記５）  前記連結可能性判定ステップにおいて、複数のベクトルが連結可能性ありと判断されたときは、前記第２のベクトルの二つの端点と第１のベクトルとの距離の合計が小さい方のベクトルを連結の対象とすることを特徴とする付記３から付記４のいずれかに記載の分断ベクトル連結プログラム。
【００５０】
（付記６）  分断されたベクトル群を連結する分断ベクトル連結方法であって、
連結処理の対象とするベクトルの最短ベクトル長と、連結する２つのベクトルの組合せを選択する最長の端点間距離を示す最長端点間距離と、第１のベクトルの延長線と第２のベクトルとの連結可能性を判定する最長のベクトル間距離を示す最長ベクトル間距離と、を含むあらかじめ設定された複数のベクトル連結処理基準を順次選択する連結処理基準選択ステップと、
前記選択されたベクトル連結処理基準に基づいて分断ベクトル群の連結を行うベクトル群連結ステップと、
前記ベクトル群連結ステップが前記あらかじめ設定されたすべてのベクトル連結処理基準について実行されたとき、あらかじめ設定されたノイズ長以下のベクトルを除去するノイズ除去ステップと、
を有する分断ベクトル連結方法であって、
前記ベクトル群連結ステップには、着目ベクトル選択ステップと、連結可能性判定ステップと、ベクトル連結ステップと、短ベクトル除去ステップと、を含み、
前記着目ベクトル選択ステップは、分断ベクトル群中の未処理で最長のベクトルを着目ベクトルとして選択し、未処理のベクトルがないときには短ベクトル除去ステップに移行し、
前記連結可能性判定ステップは、前記着目ベクトルの端点から前記最長端点間距離以内に端点を持ち、かつ、前記最長ベクトル間距離以内のベクトルが存在すれば連結可能性ありと判定し、存在しなければ前記着目ベクトル選択ステップに移行し、
ベクトル連結ステップは、前記連結可能性を判定されたベクトルを前記着目ベクトルと連結して新たな着目ベクトルとして前記連結可能性判定ステップに移行し、
前記短ベクトル除去ステップは、前記最短ベクトル長未満のベクトルを除去して、前記選択されたベクトル連結基準に基づいた分断ベクトル群連結処理を終了することを特徴とする分断ベクトル連結方法。
（付記７）  分断されたベクトル群を連結する分断ベクトル連結装置であって、
あらかじめ分断されたベクトル群のデータを記憶する分断ベクトルデータ記憶手段と、
連結する２つのベクトルの組合せを選択する最長の端点間距離を示す最長端点間距離と、第１のベクトルの延長線と第２のベクトルとの連結可能性を判定する最長のベクトル間距離を示す最長ベクトル間距離と、連結処理の対象とするベクトルの最短ベクトル長と、を含むあらかじめ設定された複数のベクトル連結処理基準を記憶する連結処理基準記憶手段と、
前記記憶された複数のベクトル連結処理基準を順次選択する連結処理基準選択手段と、
選択された連結処理基準に基づいたベクトル連結処理が未処理のベクトルが存在するときは、該未処理のベクトルの中で最長のベクトルを着目ベクトルとして選択する着目ベクトル選択手段と、
前記選択された着目ベクトルの端点から前記最長端点間距離以内に端点を持ち、かつ、前記最長ベクトル間距離以内のベクトルが存在するとき連結可能性ありと判定する連結可能性判定手段と、
前記連結可能性がないと判定されたときには、該着目ベクトルを処理済ベクトルとして前記分断ベクトルデータ記憶手段に記憶して前記着目ベクトル選択手段を起動し、前記連結可能性がありと判定されたときには、該ベクトルを前記着目ベクトルと連結して新たな着目ベクトルとして前記分断ベクトルデータ記憶手段に記憶するベクトル連結手段と、
前記分断ベクトルデータ記憶手段に記憶されたすべてのベクトルが前記選択された連結処理基準に基づいて処理済となったとき該処理済のベクトルについて前記最短ベクトル長未満のベクトルを除去する短ベクトル除去手段と、
前記あらかじめ設定されたすべてのベクトル連結処理基準について実行されたとき、あらかじめ設定されたノイズ長以下のベクトルを除去するノイズ除去手段と、
を有することを特徴とする分断ベクトル連結装置。
【００５１】
（付記８）  コンピュータに、
あらかじめ設定された複数のベクトル連結処理基準を順次選択する連結処理基準選択ステップと、
前記選択されたベクトル連結処理基準に基づいて分断ベクトル群の連結を行うベクトル群連結ステップと、
前記ベクトル群連結ステップが前記あらかじめ設定されたすべてのベクトル連結処理基準について実行されたとき、あらかじめ設定されたノイズ長以下のベクトルを除去するノイズ除去ステップと、
を動作させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【００５２】
【発明の効果】
以上の説明から明らかなように、本発明によれば、カラー画像など濃淡が不鮮明な画像から抽出した分断されたベクトル群に対しても、従来難しかったいろいろな長さのノイズを含んでいても、有効なベクトルを連結し、適切なノイズ除去を行って原画像に近いベクトルデータを抽出することが可能となり、撮影された画像から物体の形状解析、特徴解析の正確化、立体物の形状の計測の正確化が図れるなど工業的効果がある。
【図面の簡単な説明】
【図１】  本発明の構成図
【図２】  本発明の実施の形態の構成図
【図３】  処理対象の写真画像
【図４】  従来技術によるベクトル連結処理結果
【図５】  ベクトル連結前
【図６】  １回目のベクトル連結結果
【図７】  ２回目のベクトル連結結果
【図８】  ３回目のベクトル連結結果
【図９】  ４回目のベクトル連結結果
【図１０】５回目のベクトル連結結果
【図１１】６回目のベクトル連結結果
【図１２】本発明によるベクトル連結最終結果
【図１３】連結処理基準
【図１４】連結処理基準の各パラメータなど用語の説明図
【図１５】ベクトルデータテーブル
【図１６】ベクトル連結のフローチャート（その１）
【図１７】ベクトル連結のフローチャート（その２）
【図１８】ベクトル連結のフローチャート（その３）
【符号の説明】
１  連結処理基準
２  連結処理基準選択ステップ
３  ベクトル群連結ステップ
４  ノイズ除去ステップ
５  着目ベクトル選択ステップ
６  連結可能性判定ステップ
７  ベクトルテーブル
８  ベクトル連結ステップ
９  短ベクトル除去ステップ
【図１】
0004151290.tif 000002
【図２】
0004151290.tif 000003
【図３】
0004151290.tif 000004
【図４】
0004151290.tif 000005
【図５】
0004151290.tif 000006
【図６】
0004151290.tif 000007
【図７】
0004151290.tif 000008
【図８】
0004151290.tif 000009
【図９】
0004151290.tif 000010
【図１０】
0004151290.tif 000011
【図１１】
0004151290.tif 000012
【図１２】
0004151290.tif 000013
【図１３】
0004151290.tif 000014
【図１４】
0004151290.tif 000015
【図１５】
0004151290.tif 000016
【図１６】
0004151290.tif 000017
【図１７】
0004151290.tif 000018
【図１８】
0004151290.tif 000019