JPH0830782A - 画像データの芯線化処理方法 - Google Patents
画像データの芯線化処理方法Info
- Publication number
- JPH0830782A JPH0830782A JP16046794A JP16046794A JPH0830782A JP H0830782 A JPH0830782 A JP H0830782A JP 16046794 A JP16046794 A JP 16046794A JP 16046794 A JP16046794 A JP 16046794A JP H0830782 A JPH0830782 A JP H0830782A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- vectors
- contour
- core
- point
- 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)
Abstract
(57)【要約】
【目的】 連結すべき中断点を正確に選択処理できるよ
うにする。 【構成】 ステップS1で接続したい中断点Aから輪郭
ベクトルbを探索する。この探索の結果、次に輪郭ベク
トルbの前方のベクトルをステップS2で次々に探索す
る。ステップS3では輪郭ベクトルの後方のベクトルも
次々に探索する。ステップS3の探索が終了したならス
テップS4で目的の中断点を探索する。ステップS3の
後方のベクトルの探索で見つけた中断点は、目的の中断
点でないことが、多いので、このときは、ステップS5
に進んだのち、次のステップS6の条件を満たすように
する。ステップS6は、第1条件が中断点Aと同一の線
における中断点ではないこと、第2条件が中断点Aとの
距離が、図示A〜A’間の距離より短いことである。上
記のように後方から見つけて来た中断点と、前方から見
つけて来た中断点をステップS7で比較し、良い方を採
用する。
うにする。 【構成】 ステップS1で接続したい中断点Aから輪郭
ベクトルbを探索する。この探索の結果、次に輪郭ベク
トルbの前方のベクトルをステップS2で次々に探索す
る。ステップS3では輪郭ベクトルの後方のベクトルも
次々に探索する。ステップS3の探索が終了したならス
テップS4で目的の中断点を探索する。ステップS3の
後方のベクトルの探索で見つけた中断点は、目的の中断
点でないことが、多いので、このときは、ステップS5
に進んだのち、次のステップS6の条件を満たすように
する。ステップS6は、第1条件が中断点Aと同一の線
における中断点ではないこと、第2条件が中断点Aとの
距離が、図示A〜A’間の距離より短いことである。上
記のように後方から見つけて来た中断点と、前方から見
つけて来た中断点をステップS7で比較し、良い方を採
用する。
Description
【0001】
【産業上の利用分野】この発明は、画像ベクトル化処理
による画像処理方法に係わり、特に画像データの芯線化
処理方法に関する。
による画像処理方法に係わり、特に画像データの芯線化
処理方法に関する。
【0002】
【従来の技術】近年、CAD(コンピュータエイディド
デザイン)の普及に伴って、図面入力装置のニーズが高
まっている。この図面入力装置は、図面や文書などの画
像をイメージスキャナ等で読み取ってCAD等で取り扱
うに適した画像データを得るためのものであり、CAD
等で取り扱うにあたっての簡便性を確保しつつデータ圧
縮を行う点が重要となる。これらの点を満足する画像処
理技術として画像ベクタライズ処理が挙げられる。この
画像ベクタライズ処理では、イメージスキャナ等から読
み込まれた2値化画像データを処理対象とし、画像の輪
郭を抽出して輪郭ベクトルを生成すると共に、その輪郭
ベクトルを用いて芯線ベクトルを生成する。得られたベ
クトルデータは、画像を構成する基本要素(文字・線分
等)を分離してコード化する認識処理等に利用される。
デザイン)の普及に伴って、図面入力装置のニーズが高
まっている。この図面入力装置は、図面や文書などの画
像をイメージスキャナ等で読み取ってCAD等で取り扱
うに適した画像データを得るためのものであり、CAD
等で取り扱うにあたっての簡便性を確保しつつデータ圧
縮を行う点が重要となる。これらの点を満足する画像処
理技術として画像ベクタライズ処理が挙げられる。この
画像ベクタライズ処理では、イメージスキャナ等から読
み込まれた2値化画像データを処理対象とし、画像の輪
郭を抽出して輪郭ベクトルを生成すると共に、その輪郭
ベクトルを用いて芯線ベクトルを生成する。得られたベ
クトルデータは、画像を構成する基本要素(文字・線分
等)を分離してコード化する認識処理等に利用される。
【0003】ここで画像の芯線ベクタライズ処理(芯線
ベクトルの生成処理)について説明する。図20は、芯
線ベクタライズ処理手順の概要を示す。また図21は、
処理の対象となる画像の例を示し、(a)は読み取った
画像(原図)、(b)は芯線ベクトル生成時の画像、
(c)は芯線ベクトル接続後の画像を示す。この処理で
は、まず輪郭ベクトルデータを高速に検索できるように
線情報を構造化したうえで(S1)、芯線ベクトルの生
成処理を行う(S2)。すなわち、2本のペアになる輪
郭ベクトル1を探し出して輪郭ベクトル1のペアの中心
線に相当する芯線ベクトル2を生成する。この処理を輪
郭に沿って連続的に行い、輪郭ベクトルのペアが途切れ
るとその点を中断点3として記憶したうえで、新たに輪
郭ベクトルのペアの探索を開始する。芯線ベクトル2の
生成が終了すると、中断点3の情報を扱い易いように構
造化したうえで(S3)、接続点4を設定して所定の中
断点を接続する(S4)。さらに中断点接続処理の結果
に従って芯線のセクションを改編し、接続された複数の
芯線のセクションを1つに統合する(S5)。
ベクトルの生成処理)について説明する。図20は、芯
線ベクタライズ処理手順の概要を示す。また図21は、
処理の対象となる画像の例を示し、(a)は読み取った
画像(原図)、(b)は芯線ベクトル生成時の画像、
(c)は芯線ベクトル接続後の画像を示す。この処理で
は、まず輪郭ベクトルデータを高速に検索できるように
線情報を構造化したうえで(S1)、芯線ベクトルの生
成処理を行う(S2)。すなわち、2本のペアになる輪
郭ベクトル1を探し出して輪郭ベクトル1のペアの中心
線に相当する芯線ベクトル2を生成する。この処理を輪
郭に沿って連続的に行い、輪郭ベクトルのペアが途切れ
るとその点を中断点3として記憶したうえで、新たに輪
郭ベクトルのペアの探索を開始する。芯線ベクトル2の
生成が終了すると、中断点3の情報を扱い易いように構
造化したうえで(S3)、接続点4を設定して所定の中
断点を接続する(S4)。さらに中断点接続処理の結果
に従って芯線のセクションを改編し、接続された複数の
芯線のセクションを1つに統合する(S5)。
【0004】上記の芯線ベクトルの生成では、中断点接
続の処理精度が処理結果の画像の品質に大きく係わる。
従来の中断点接続処理の1例として特開平3−7478
1号公報記載の技術を挙げると、接続すべき中断点を抽
出するあたって、中断点や輪郭ベクトルの端点を所定の
基準でつなげて、分岐点部分あるいは交差点部分の大枠
に相当するループを作成し、単一のループに属する中断
点を1つに統合することとし、精度の高い中断点接続処
理を可能としている。
続の処理精度が処理結果の画像の品質に大きく係わる。
従来の中断点接続処理の1例として特開平3−7478
1号公報記載の技術を挙げると、接続すべき中断点を抽
出するあたって、中断点や輪郭ベクトルの端点を所定の
基準でつなげて、分岐点部分あるいは交差点部分の大枠
に相当するループを作成し、単一のループに属する中断
点を1つに統合することとし、精度の高い中断点接続処
理を可能としている。
【0005】この後、中断点を接続する接続点の位置を
設定するが、この設定にあたっては、分岐点や交差点に
は直線が含まれていることが多いため、平行な芯線ベク
トルを認識してそれらの芯線ベクトルが直線的に接続さ
れるように取り扱うことが要点となる。上記の従来の技
術では、図22に示すように、接続の対象となる芯線ベ
クトルをLL′,MM′,NN′、各芯線ベクトルの中
断点をそれぞれL,M,Nとすると、直線LL′,M
M′,NN′の交点A,B,Cをとり、それぞれの交差
角に基づいて各芯線ベクトルが平行か否かの判断を行っ
ていた。すなわち、交差角のいずれか、たとえば直線M
M′,NN′の交差角が180°±α(αは設定角度)
の範囲内である場合、それらの芯線MM′,NN′は平
行であるものと判断し、直線MNと直線LL′との交点
を求めて接続点Rとする(パターン1)。もし、いずれ
の交差角も180°±αの範囲から外れている場合は、
三角形ABCの重心を求めて接続点Rとするものであっ
た(パターン2)。
設定するが、この設定にあたっては、分岐点や交差点に
は直線が含まれていることが多いため、平行な芯線ベク
トルを認識してそれらの芯線ベクトルが直線的に接続さ
れるように取り扱うことが要点となる。上記の従来の技
術では、図22に示すように、接続の対象となる芯線ベ
クトルをLL′,MM′,NN′、各芯線ベクトルの中
断点をそれぞれL,M,Nとすると、直線LL′,M
M′,NN′の交点A,B,Cをとり、それぞれの交差
角に基づいて各芯線ベクトルが平行か否かの判断を行っ
ていた。すなわち、交差角のいずれか、たとえば直線M
M′,NN′の交差角が180°±α(αは設定角度)
の範囲内である場合、それらの芯線MM′,NN′は平
行であるものと判断し、直線MNと直線LL′との交点
を求めて接続点Rとする(パターン1)。もし、いずれ
の交差角も180°±αの範囲から外れている場合は、
三角形ABCの重心を求めて接続点Rとするものであっ
た(パターン2)。
【0006】図23において、中断点Aは輪郭ベクトル
a,fから生成されている。同様に中断点Bは輪郭ベク
トルb,cから、中断点Cは輪郭ベクトルd,eから生
成されている。中断点A,B,Cを1つの点に連結する
判断は以上のように行われる。まず、中断点Aの左側輪
郭ベクトルaを見る。輪郭ベクトルaの右側の中断点は
Aしかないので、(中断点BやCは輪郭ベクトルaから
生成されてしないので)輪郭ベクトルaの次の輪郭ベク
トルbに注目する。輪郭ベクトルbの右側の中断点とし
てBが見つかる。これで中断点A,Bが同一点で連結さ
れるべきものであると分かる。同様にして、中断点Bか
ら中断点Cが見つかり、中断点Cから中断点Aが見出
せ、中断点A,B,Cの3点を一点で連結することが分
かる。
a,fから生成されている。同様に中断点Bは輪郭ベク
トルb,cから、中断点Cは輪郭ベクトルd,eから生
成されている。中断点A,B,Cを1つの点に連結する
判断は以上のように行われる。まず、中断点Aの左側輪
郭ベクトルaを見る。輪郭ベクトルaの右側の中断点は
Aしかないので、(中断点BやCは輪郭ベクトルaから
生成されてしないので)輪郭ベクトルaの次の輪郭ベク
トルbに注目する。輪郭ベクトルbの右側の中断点とし
てBが見つかる。これで中断点A,Bが同一点で連結さ
れるべきものであると分かる。同様にして、中断点Bか
ら中断点Cが見つかり、中断点Cから中断点Aが見出
せ、中断点A,B,Cの3点を一点で連結することが分
かる。
【0007】ここで、芯線ベクトルを生成する方法を図
24によって述べる。図24において、まず、ある輪郭
ベクトル(以下先行ベクトルと称す)に注目する。次
に、先行ベクトルとペアになる輪郭ベクトル(以下ペア
ベクトルと称す)に注目する。その後、先行ベクトル始
点と、ペアベクトル終点の中点を、芯線ベクトルの始点
とし、先行ベクトル終点とペアベクトル始点の中点を芯
線ベクトルの終点とすることによって芯線ベクトルを生
成する。
24によって述べる。図24において、まず、ある輪郭
ベクトル(以下先行ベクトルと称す)に注目する。次
に、先行ベクトルとペアになる輪郭ベクトル(以下ペア
ベクトルと称す)に注目する。その後、先行ベクトル始
点と、ペアベクトル終点の中点を、芯線ベクトルの始点
とし、先行ベクトル終点とペアベクトル始点の中点を芯
線ベクトルの終点とすることによって芯線ベクトルを生
成する。
【0008】上記例は芯線生成の理想的な場合である
が、図25に示すように、先行ベクトルの始点とペアベ
クトルの終点が離れ過ぎているときには、ペアベクトル
から先行ベクトルに対して垂線を下ろした足を使用して
芯線ベクトルの始点を決定している。また、図26は上
述の場合とは逆で、先行ベクトルの終点とペアベクトル
の始点が離れているときには、先行ベクトルの終点から
ペアベクトルに対して垂線を下ろした足を使用して芯線
ベクトルの終点を決定している。芯線生成後、使用され
た輪郭ベクトルは登録を抹消される。図24では先行、
ペア両ベクトルが、図25ではペアベクトルが、図26
では先行ベクトルが抹消される。なお、図25の先行ベ
クトル、図26のペアベクトルが登録を抹消されないの
は、それらが他のベクトルとペアを組んで芯線ベクトル
を生成させるかもしれないからである。
が、図25に示すように、先行ベクトルの始点とペアベ
クトルの終点が離れ過ぎているときには、ペアベクトル
から先行ベクトルに対して垂線を下ろした足を使用して
芯線ベクトルの始点を決定している。また、図26は上
述の場合とは逆で、先行ベクトルの終点とペアベクトル
の始点が離れているときには、先行ベクトルの終点から
ペアベクトルに対して垂線を下ろした足を使用して芯線
ベクトルの終点を決定している。芯線生成後、使用され
た輪郭ベクトルは登録を抹消される。図24では先行、
ペア両ベクトルが、図25ではペアベクトルが、図26
では先行ベクトルが抹消される。なお、図25の先行ベ
クトル、図26のペアベクトルが登録を抹消されないの
は、それらが他のベクトルとペアを組んで芯線ベクトル
を生成させるかもしれないからである。
【0009】
【発明が解決しようとする課題】図27において、中断
点Aは輪郭ベクトルb,gから、中断点Bは輪郭ベクト
ルa,dから、中断点Cは輪郭ベクトルe,fから生成
されている。この場合、中断点Aから中断点Bを見つけ
ることはできない。ここで、中断点Aの輪郭ベクトルb
に注目する。輪郭ベクトルbの右側の中断点はない(中
断点BもCも輪郭ベクトルbから生成されていない)の
で、輪郭ベクトルbの先のベクトルb’に注目する。こ
のように輪郭ベクトルbから始まって、どんどん先の輪
郭ベクトルに注目して行くが、決して中断点Bは見つか
らない。これは、輪郭ベクトルaにたどり着かないから
である。また、中断点Aから中断点Bが見つからないだ
けではなく関係のない中断点が見つかってしまう場合が
ある。こうして期待どおりの連結すべき中断点を選択す
ることができなくなってしまう問題がある。
点Aは輪郭ベクトルb,gから、中断点Bは輪郭ベクト
ルa,dから、中断点Cは輪郭ベクトルe,fから生成
されている。この場合、中断点Aから中断点Bを見つけ
ることはできない。ここで、中断点Aの輪郭ベクトルb
に注目する。輪郭ベクトルbの右側の中断点はない(中
断点BもCも輪郭ベクトルbから生成されていない)の
で、輪郭ベクトルbの先のベクトルb’に注目する。こ
のように輪郭ベクトルbから始まって、どんどん先の輪
郭ベクトルに注目して行くが、決して中断点Bは見つか
らない。これは、輪郭ベクトルaにたどり着かないから
である。また、中断点Aから中断点Bが見つからないだ
けではなく関係のない中断点が見つかってしまう場合が
ある。こうして期待どおりの連結すべき中断点を選択す
ることができなくなってしまう問題がある。
【0010】また、図28に示すような場合もある。図
28において、輪郭ベクトルaが先行ベクトル、輪郭ベ
クトルbがペアベクトルとなったとき、図のように芯線
ベクトルαが生成される。このとき、輪郭ベクトルa,
bとも芯線生成の際、使用されなかった部分を持ってい
るので、登録を抹消されない。次に、輪郭ベクトルbが
先行ベクトルになったとき、輪郭ベクトルaがペアベク
トルとなり、さきほどと同じ芯線ベクトルβが生成され
る。
28において、輪郭ベクトルaが先行ベクトル、輪郭ベ
クトルbがペアベクトルとなったとき、図のように芯線
ベクトルαが生成される。このとき、輪郭ベクトルa,
bとも芯線生成の際、使用されなかった部分を持ってい
るので、登録を抹消されない。次に、輪郭ベクトルbが
先行ベクトルになったとき、輪郭ベクトルaがペアベク
トルとなり、さきほどと同じ芯線ベクトルβが生成され
る。
【0011】このように、同芯の芯線ベクトル、つまり
2重芯線ベクトルが生成されると、分岐点で切れている
芯線ベクトルを中断点連結処理を行うと、以下のような
不具合が生じる。
2重芯線ベクトルが生成されると、分岐点で切れている
芯線ベクトルを中断点連結処理を行うと、以下のような
不具合が生じる。
【0012】(1)図29のように分岐Sの中断点連結
処理では、芯線ベクトルαが使用され、分岐Tの中断点
連結処理では芯線ベクトルβが使用される。この結果、
分岐Sと分岐Tはつながっているとは見なされない。
処理では、芯線ベクトルαが使用され、分岐Tの中断点
連結処理では芯線ベクトルβが使用される。この結果、
分岐Sと分岐Tはつながっているとは見なされない。
【0013】(2)図30のように分岐S,Tとも芯線
ベクトルαを使用して中断点連結が行われる。このと
き、芯線ベクトルβは宙に浮いたままになって残ってし
まう。
ベクトルαを使用して中断点連結が行われる。このと
き、芯線ベクトルβは宙に浮いたままになって残ってし
まう。
【0014】上記(1)、(2)とも実際の図面を正し
く処理したとは言えない問題がある。 上記の他に図3
1のように輪郭ベクトルがあるとき、芯線生成処理を行
うと、図示点線の部分の芯線ベクトルが生成されないこ
とが少なくない。これは、この点線の芯線ベクトルを生
成させるときに使用されるはずの輪郭ベクトル(図の
a,a’とb,b’)が、平行に近くないためである。
輪郭ベクトルa,a’が平行に近いか、輪郭ベクトル
b,b’が平行に近ければ点線の芯線ベクトルは生成さ
れる。点線部分の芯線ベクトルが生成されないまま中断
点連結処理を行うと、図32に示すような交差する芯線
ベクトルが生成されてしまう。このような芯線ベクトル
は輪郭ベクトルを反映したものではなくなってしまう問
題がある。
く処理したとは言えない問題がある。 上記の他に図3
1のように輪郭ベクトルがあるとき、芯線生成処理を行
うと、図示点線の部分の芯線ベクトルが生成されないこ
とが少なくない。これは、この点線の芯線ベクトルを生
成させるときに使用されるはずの輪郭ベクトル(図の
a,a’とb,b’)が、平行に近くないためである。
輪郭ベクトルa,a’が平行に近いか、輪郭ベクトル
b,b’が平行に近ければ点線の芯線ベクトルは生成さ
れる。点線部分の芯線ベクトルが生成されないまま中断
点連結処理を行うと、図32に示すような交差する芯線
ベクトルが生成されてしまう。このような芯線ベクトル
は輪郭ベクトルを反映したものではなくなってしまう問
題がある。
【0015】さらに、図33に示すような輪郭ベクトル
があったとき、芯線生成処理が行われると、途中で芯線
ベクトルが途切れて中断点が生じてしまう。この場合、
中断点連結処理を行って2芯線ベクトルを1つに統合し
なければならない。このような場合、現在は中断点を結
合する連結点は基本的には、2芯線ベクトルの延長線の
交点としている。2芯線ベクトルのなす角が、あるしき
い値以下であれば、連結点は2つの中断点の中点とな
る。ところが、2芯線ベクトルのなす角が、しきい値よ
り少し大きいとき、図34に示すように連結点が輪郭ベ
クトルの外に大きく飛び出してしまう問題がある。
があったとき、芯線生成処理が行われると、途中で芯線
ベクトルが途切れて中断点が生じてしまう。この場合、
中断点連結処理を行って2芯線ベクトルを1つに統合し
なければならない。このような場合、現在は中断点を結
合する連結点は基本的には、2芯線ベクトルの延長線の
交点としている。2芯線ベクトルのなす角が、あるしき
い値以下であれば、連結点は2つの中断点の中点とな
る。ところが、2芯線ベクトルのなす角が、しきい値よ
り少し大きいとき、図34に示すように連結点が輪郭ベ
クトルの外に大きく飛び出してしまう問題がある。
【0016】この発明は上記の事情に鑑みてなされたも
ので、連結すべき中断点を正確に選択処理できるように
するとともに、芯線ベクトルが分断されたり、不要な芯
線ベクトルが残ってしまうような不具合を無くし、しか
も輪郭ベクトルを反映した芯線ベクトルを得るようにし
た画像データの芯線化処理方法提供することを目的とす
る。
ので、連結すべき中断点を正確に選択処理できるように
するとともに、芯線ベクトルが分断されたり、不要な芯
線ベクトルが残ってしまうような不具合を無くし、しか
も輪郭ベクトルを反映した芯線ベクトルを得るようにし
た画像データの芯線化処理方法提供することを目的とす
る。
【0017】
【課題を解決するための手段および作用】この発明は、
上記の目的を達成するために、第1発明は画像データに
基づいて画像の輪郭を抽出して輪郭ベクトルを生成し、
輪郭ベクトルの対を検出して芯線ベクトルを生成し、こ
の芯線ベクトルの中断点を近接したもの同士で接続して
芯線ベクトルを統合して画像データを芯線化する画像デ
ータ芯線化処理方法において、接続したい中断点から近
傍の第1輪郭ベクトルを探索した後、その第1輪郭ベク
トルの前方ベクトル及び後方ベクトルを次々に探索し
て、目的の中断点を探し出すことを特徴とするものであ
る。
上記の目的を達成するために、第1発明は画像データに
基づいて画像の輪郭を抽出して輪郭ベクトルを生成し、
輪郭ベクトルの対を検出して芯線ベクトルを生成し、こ
の芯線ベクトルの中断点を近接したもの同士で接続して
芯線ベクトルを統合して画像データを芯線化する画像デ
ータ芯線化処理方法において、接続したい中断点から近
傍の第1輪郭ベクトルを探索した後、その第1輪郭ベク
トルの前方ベクトル及び後方ベクトルを次々に探索し
て、目的の中断点を探し出すことを特徴とするものであ
る。
【0018】第2発明は、前記後方ベクトルの探索にお
いては、接続したい中断点と同一の線における中断点で
はないとともに、接続したい中断点との距離が、その中
断点がある芯線ベクトルの他の中断点間の距離より短い
条件を満たすことを特徴するものである。
いては、接続したい中断点と同一の線における中断点で
はないとともに、接続したい中断点との距離が、その中
断点がある芯線ベクトルの他の中断点間の距離より短い
条件を満たすことを特徴するものである。
【0019】第3発明は、前記中断点が近接位置に2つ
以上存在するとき、それら中断点から第1、第2輪郭ベ
クトルを検出し、両ベクトルが一致するかを判定し、一
致したなら芯線ベクトルが二重芯線ベクトルであるとす
ることを特徴とするものである。
以上存在するとき、それら中断点から第1、第2輪郭ベ
クトルを検出し、両ベクトルが一致するかを判定し、一
致したなら芯線ベクトルが二重芯線ベクトルであるとす
ることを特徴とするものである。
【0020】第4発明は、前記芯線ベクトル生成時に中
断したとき、その中断点を含む領域を設定した後、対と
なっている輪郭ベクトルの一方からもう一方へ輪郭ベク
トルを追ったとき、すべての輪郭ベクトルが前記領域に
包含されたら芯線ベクトル生成を再開させ、この再開の
とき、領域内に包含された輪郭ベクトル座標の中で、中
断された芯線ベクトル座標から一番遠い座標に芯線ベク
トルを発生させることを特徴とするものである。
断したとき、その中断点を含む領域を設定した後、対と
なっている輪郭ベクトルの一方からもう一方へ輪郭ベク
トルを追ったとき、すべての輪郭ベクトルが前記領域に
包含されたら芯線ベクトル生成を再開させ、この再開の
とき、領域内に包含された輪郭ベクトル座標の中で、中
断された芯線ベクトル座標から一番遠い座標に芯線ベク
トルを発生させることを特徴とするものである。
【0021】第5発明は、前記芯線を統合する際、芯線
ベクトルの連結点を計算した後、その連結点で2芯線ベ
クトルを連結したとき、芯線ベクトルと輪郭ベクトルが
交わるかどうかを調べ、交わらないなら、その点で中断
点連結処理を行い、交わるなら、2中断点の中点を連結
点としたことを特徴とするものである。
ベクトルの連結点を計算した後、その連結点で2芯線ベ
クトルを連結したとき、芯線ベクトルと輪郭ベクトルが
交わるかどうかを調べ、交わらないなら、その点で中断
点連結処理を行い、交わるなら、2中断点の中点を連結
点としたことを特徴とするものである。
【0022】第6発明は、画像データに基づいて画像の
輪郭を抽出して輪郭ベクトルを生成し、輪郭ベクトルの
対を検出して芯線ベクトルを生成し、この芯線ベクトル
の中断点を近接したもの同士で接続して芯線ベクトルを
統合して画像データを芯線化する画像データ芯線化処理
方法において、前記輪郭ベクトルの対を検出して芯線ベ
クトルを生成するに際して、4点の座標を計算した後、
4点の座標が形成する四角形の領域を設定し、その領域
内にかかっている輪郭ベクトルが存在したとき、その対
となった輪郭ベクトル同士では芯線ベクトルを生成しな
いようにしたことを特徴とするものである。
輪郭を抽出して輪郭ベクトルを生成し、輪郭ベクトルの
対を検出して芯線ベクトルを生成し、この芯線ベクトル
の中断点を近接したもの同士で接続して芯線ベクトルを
統合して画像データを芯線化する画像データ芯線化処理
方法において、前記輪郭ベクトルの対を検出して芯線ベ
クトルを生成するに際して、4点の座標を計算した後、
4点の座標が形成する四角形の領域を設定し、その領域
内にかかっている輪郭ベクトルが存在したとき、その対
となった輪郭ベクトル同士では芯線ベクトルを生成しな
いようにしたことを特徴とするものである。
【0023】第7発明は、画像データに基づいて画像の
輪郭を抽出して輪郭ベクトルを生成し、輪郭ベクトルの
対を検出して芯線ベクトルを生成し、この芯線ベクトル
の中断点を近接したもの同士で接続して芯線ベクトルを
統合して画像データを芯線化する画像データ芯線化処理
方法において、統合する芯線ベクトルの内で、平行又は
それに準じる角度を持ち、互いに隣り同士である芯線ベ
クトル2本を抽出した後、不足芯線ベクトルを生成する
ための、もう片側の輪郭ベクトルを探索し、輪郭ベクト
ルが存在する範囲を中断点によって指定して、輪郭ベク
トル特定用領域を設定した後、第1芯線ベクトルから探
索ループ方向に第n芯線ベクトルまでたどって行き、は
じめて前記領域に入った中断点の1つ前の中断点を記憶
してから、不足芯線生成処理を行って不足芯線ベクトル
を生成し、この不足芯線ベクトルを加えて探索ループを
作成し直した後、中断点連結処理を行うことを特徴とす
るものである。
輪郭を抽出して輪郭ベクトルを生成し、輪郭ベクトルの
対を検出して芯線ベクトルを生成し、この芯線ベクトル
の中断点を近接したもの同士で接続して芯線ベクトルを
統合して画像データを芯線化する画像データ芯線化処理
方法において、統合する芯線ベクトルの内で、平行又は
それに準じる角度を持ち、互いに隣り同士である芯線ベ
クトル2本を抽出した後、不足芯線ベクトルを生成する
ための、もう片側の輪郭ベクトルを探索し、輪郭ベクト
ルが存在する範囲を中断点によって指定して、輪郭ベク
トル特定用領域を設定した後、第1芯線ベクトルから探
索ループ方向に第n芯線ベクトルまでたどって行き、は
じめて前記領域に入った中断点の1つ前の中断点を記憶
してから、不足芯線生成処理を行って不足芯線ベクトル
を生成し、この不足芯線ベクトルを加えて探索ループを
作成し直した後、中断点連結処理を行うことを特徴とす
るものである。
【0024】
【実施例】以下この発明の実施例を図面に基づいて説明
する。まず、第1実施例を図1と図27により述べる。
ステップS1で接続したい中断点Aから輪郭ベクトルb
を探索する。この探索の結果、次に輪郭ベクトルbの前
方のベクトルをステップS2で次々に探索する。また、
ステップS3では輪郭ベクトルの後方のベクトルも次々
に探索する。ステップS3の探索が終了したならステッ
プS4で目的の中断点を探索する。この探索の結果、輪
郭ベクトルaから中断点Bが見つかる。ただし、ステッ
プS3の後方のベクトルの探索で見つけた中断点は、目
的の中断点でないことが、多いので、このときは、ステ
ップS5に進んだのち、次のステップS6の条件を満た
すようにする。
する。まず、第1実施例を図1と図27により述べる。
ステップS1で接続したい中断点Aから輪郭ベクトルb
を探索する。この探索の結果、次に輪郭ベクトルbの前
方のベクトルをステップS2で次々に探索する。また、
ステップS3では輪郭ベクトルの後方のベクトルも次々
に探索する。ステップS3の探索が終了したならステッ
プS4で目的の中断点を探索する。この探索の結果、輪
郭ベクトルaから中断点Bが見つかる。ただし、ステッ
プS3の後方のベクトルの探索で見つけた中断点は、目
的の中断点でないことが、多いので、このときは、ステ
ップS5に進んだのち、次のステップS6の条件を満た
すようにする。
【0025】ステップS6は、第1条件が中断点Aと同
一の線における中断点ではないこと、第2条件が中断点
Aとの距離が、図示A〜A’間の距離より短いことであ
る。このステップS6での第1条件により、図2におい
て、中断点Aから中断点Bが見つかることはない。ま
た、第2条件により、図3において、中断点Aから中断
点Bが見つかることはない。上記のように後方から見つ
けて来て、なお、かつ上記条件を満たす中断点と前方か
ら見つけて来た中断点をステップS7で比較し、良い方
を採用する。
一の線における中断点ではないこと、第2条件が中断点
Aとの距離が、図示A〜A’間の距離より短いことであ
る。このステップS6での第1条件により、図2におい
て、中断点Aから中断点Bが見つかることはない。ま
た、第2条件により、図3において、中断点Aから中断
点Bが見つかることはない。上記のように後方から見つ
けて来て、なお、かつ上記条件を満たす中断点と前方か
ら見つけて来た中断点をステップS7で比較し、良い方
を採用する。
【0026】上記第1実施例のように処理すれば、図2
7のような品質の悪い輪郭ベクトルデータから生成され
た芯線ベクトルデータを連結する場合でも、連結すべき
中断点を正確に選択処理できる。また、一カ所の処理の
失敗により他の箇所まで及んでいた処理の失敗をなくす
ことができる。処理の失敗例を図4に、この実施例によ
る改善結果を図5に示す。
7のような品質の悪い輪郭ベクトルデータから生成され
た芯線ベクトルデータを連結する場合でも、連結すべき
中断点を正確に選択処理できる。また、一カ所の処理の
失敗により他の箇所まで及んでいた処理の失敗をなくす
ことができる。処理の失敗例を図4に、この実施例によ
る改善結果を図5に示す。
【0027】図6は第2実施例を示すもので、この第2
実施例は二重芯線ベクトルであるかどうかの判定方法の
実施例である。この第2実施例を図7を参照して述べる
に、芯線ベクトルの両端を中断点A1、A2、B1、B
2と称する。図6において、ステップS21では芯線
α、βの左側の中断点A1、B1を検出する。この検出
結果からステップS22で輪郭ベクトルa,bを検出す
る。この検出結果はステップS23にて輪郭ベクトル
a,bが一致するか、否かが判定される。例えば、中断
点A1を生成した輪郭ベクトルはベクトルa,bであ
り、中断点B1を生成した輪郭ベクトルはベクトルa,
bである。つまりベクトルが一致していると判定される
と、二重線の可能性があると判定される。ステップS2
4においても同様に中断点A2を生成した輪郭ベクトル
はベクトルa’,b’であり、中断点B2を生成した輪
郭ベクトルはベクトルa’,b’である。つまりベクト
ルが一致していると判定される。以上により左右の中断
点とも、それを生成した輪郭ベクトルが一致しているこ
とにより、この2芯線は二重芯線ベクトルであると判定
される。
実施例は二重芯線ベクトルであるかどうかの判定方法の
実施例である。この第2実施例を図7を参照して述べる
に、芯線ベクトルの両端を中断点A1、A2、B1、B
2と称する。図6において、ステップS21では芯線
α、βの左側の中断点A1、B1を検出する。この検出
結果からステップS22で輪郭ベクトルa,bを検出す
る。この検出結果はステップS23にて輪郭ベクトル
a,bが一致するか、否かが判定される。例えば、中断
点A1を生成した輪郭ベクトルはベクトルa,bであ
り、中断点B1を生成した輪郭ベクトルはベクトルa,
bである。つまりベクトルが一致していると判定される
と、二重線の可能性があると判定される。ステップS2
4においても同様に中断点A2を生成した輪郭ベクトル
はベクトルa’,b’であり、中断点B2を生成した輪
郭ベクトルはベクトルa’,b’である。つまりベクト
ルが一致していると判定される。以上により左右の中断
点とも、それを生成した輪郭ベクトルが一致しているこ
とにより、この2芯線は二重芯線ベクトルであると判定
される。
【0028】第2実施例のように構成することにより、
中断点連結処理後に、芯線ベクトルが分断されたかのよ
うなデータを生成するようなことがなくなる。また、不
要な芯線ベクトルが残ってしまうようなこともなくなる
利点がある。なお、第2実施例は、二重芯線のみなら
ず、3重、4重などの多重芯線に関しても同様な効果を
発揮する。
中断点連結処理後に、芯線ベクトルが分断されたかのよ
うなデータを生成するようなことがなくなる。また、不
要な芯線ベクトルが残ってしまうようなこともなくなる
利点がある。なお、第2実施例は、二重芯線のみなら
ず、3重、4重などの多重芯線に関しても同様な効果を
発揮する。
【0029】図8、図9は第3実施例を示すもので、図
8において、芯線ベクトル生成のときに中断点条件に当
てはまってしまうと、同図のように端の部分に芯線ベク
トルが生成できなくなってしまうため、このようなと
き、図示破線で示す処理領域を設定する。次にペアとな
っている輪郭ベクトルの一方からもう一方へベクトルを
追ったとき、全てのベクトルがその領域に包含されたら
芯線ベクトル生成を再開させる。このとき、領域内に包
含されたベクトル座標の中で中断された芯線ベクトル座
標から一番遠い座標に芯線ベクトル(図9に示す)を発
生させる。この第3実施例の構成することにより、端の
部分に芯線ベクトルを生成することができる。
8において、芯線ベクトル生成のときに中断点条件に当
てはまってしまうと、同図のように端の部分に芯線ベク
トルが生成できなくなってしまうため、このようなと
き、図示破線で示す処理領域を設定する。次にペアとな
っている輪郭ベクトルの一方からもう一方へベクトルを
追ったとき、全てのベクトルがその領域に包含されたら
芯線ベクトル生成を再開させる。このとき、領域内に包
含されたベクトル座標の中で中断された芯線ベクトル座
標から一番遠い座標に芯線ベクトル(図9に示す)を発
生させる。この第3実施例の構成することにより、端の
部分に芯線ベクトルを生成することができる。
【0030】図10は第4実施例を示すもので、まず、
ステップS41で芯線ベクトルの連結点を計算した後、
ステップS42で2芯線を連結させる。このとき、芯線
ベクトルと輪郭ベクトルとが交わるか、どうかをステッ
プS43で判断する。交わらないなら、ステップS44
で中断点連結処理を行い、交わるなら、ステップS45
で2中断点の中点を連結点とする処理を行う。この第4
実施例の処理結果を図11に示す。図11Aは第4実施
例の処理を行わないときのもので、図11Bはこの第4
実施例の処理結果のものである。この図11A,Bから
原図により忠実な芯線ベクトルを生成することができ
る。
ステップS41で芯線ベクトルの連結点を計算した後、
ステップS42で2芯線を連結させる。このとき、芯線
ベクトルと輪郭ベクトルとが交わるか、どうかをステッ
プS43で判断する。交わらないなら、ステップS44
で中断点連結処理を行い、交わるなら、ステップS45
で2中断点の中点を連結点とする処理を行う。この第4
実施例の処理結果を図11に示す。図11Aは第4実施
例の処理を行わないときのもので、図11Bはこの第4
実施例の処理結果のものである。この図11A,Bから
原図により忠実な芯線ベクトルを生成することができ
る。
【0031】図12は第5実施例を示すもので、まず、
この実施例では、ステップS51でペアとなった輪郭ベ
クトルから芯線ベクトルを生成するのに必要な4点の座
標を計算する。その後、ステップS52で4点の座標が
形成する四角形(図13のように)の領域を設定する。
ステップS53ではその領域にかかっている輪郭ベクト
ルが存在するかを判定し、存在するときにはステップS
54でペアとなった輪郭ベクトル同士では芯線ベクトル
を形成しない。以後処理対象となる輪郭ベクトルがなく
なるまで、上記処理を繰り返す。図14A,Bは第5実
施例による改良処理を行わなかった場合と改良処理を行
った場合の比較を示したものである。図14Aの図示矢
印の部分が改良処理前のものである。この第5実施例を
用いれば、輪郭ベクトルを横切って芯線ベクトルを生成
していたことが防止できる。
この実施例では、ステップS51でペアとなった輪郭ベ
クトルから芯線ベクトルを生成するのに必要な4点の座
標を計算する。その後、ステップS52で4点の座標が
形成する四角形(図13のように)の領域を設定する。
ステップS53ではその領域にかかっている輪郭ベクト
ルが存在するかを判定し、存在するときにはステップS
54でペアとなった輪郭ベクトル同士では芯線ベクトル
を形成しない。以後処理対象となる輪郭ベクトルがなく
なるまで、上記処理を繰り返す。図14A,Bは第5実
施例による改良処理を行わなかった場合と改良処理を行
った場合の比較を示したものである。図14Aの図示矢
印の部分が改良処理前のものである。この第5実施例を
用いれば、輪郭ベクトルを横切って芯線ベクトルを生成
していたことが防止できる。
【0032】図15は第6実施例を示すものであるが、
まず、この第6実施例を述べる前に、図16の中断点連
結前の処理について述べる。図16において、中断点0
〜5を従来通り、そのまま連結すると、輪郭ベクトルと
は異なった形になるので、中断点連結処理の際、分岐付
近の芯線ベクトルを見て、不足芯線ベクトル(以下不足
芯線と称する)がないかを調べ、あるならば、点線で示
した不足芯線21、22を生成させ、「不足芯線21は
輪郭ベクトルaとbから作られた」、「不足芯線22は
輪郭ベクトルaとcから作られた」という登録を行う。
次に図15により中断点連結処理の手順を述べる。
まず、この第6実施例を述べる前に、図16の中断点連
結前の処理について述べる。図16において、中断点0
〜5を従来通り、そのまま連結すると、輪郭ベクトルと
は異なった形になるので、中断点連結処理の際、分岐付
近の芯線ベクトルを見て、不足芯線ベクトル(以下不足
芯線と称する)がないかを調べ、あるならば、点線で示
した不足芯線21、22を生成させ、「不足芯線21は
輪郭ベクトルaとbから作られた」、「不足芯線22は
輪郭ベクトルaとcから作られた」という登録を行う。
次に図15により中断点連結処理の手順を述べる。
【0033】図15において、ステップS61で連結に
参加する芯線ベクトルのうちで、平行又はそれに準じる
角度を持ち、互いに隣り同士である芯線ベクトル2本に
注目する。ただし、ここで言う平行又はそれに準じる角
度の芯線ベクトルとは、0と1や4と5の関係にあるも
のを言い、0と5などは一直線であるとして明確に区別
する。ここで、0と1に注目する。この芯線ベクトルの
間には、不足芯線が存在すると確定する。不足芯線を作
る輪郭ベクトルの片側が、輪郭ベクトルaであることも
確定する。
参加する芯線ベクトルのうちで、平行又はそれに準じる
角度を持ち、互いに隣り同士である芯線ベクトル2本に
注目する。ただし、ここで言う平行又はそれに準じる角
度の芯線ベクトルとは、0と1や4と5の関係にあるも
のを言い、0と5などは一直線であるとして明確に区別
する。ここで、0と1に注目する。この芯線ベクトルの
間には、不足芯線が存在すると確定する。不足芯線を作
る輪郭ベクトルの片側が、輪郭ベクトルaであることも
確定する。
【0034】ステップS62で不足芯線を作るためのも
う片側の輪郭ベクトルを探索する。そのために、その輪
郭ベクトルが存在する範囲を、中断点によってステップ
S63で指定する。上記ステップS62、63を図16
により述べると、まず、0か1と直線をなす芯線ベクト
ルを探す。例えば、中断点5が0と直線である。よっ
て、中断点5を記憶しておき、中断点1には直線をなす
芯線ベクトルが存在しないので、図17において、斜線
で示した輪郭特定用領域に注目する。
う片側の輪郭ベクトルを探索する。そのために、その輪
郭ベクトルが存在する範囲を、中断点によってステップ
S63で指定する。上記ステップS62、63を図16
により述べると、まず、0か1と直線をなす芯線ベクト
ルを探す。例えば、中断点5が0と直線である。よっ
て、中断点5を記憶しておき、中断点1には直線をなす
芯線ベクトルが存在しないので、図17において、斜線
で示した輪郭特定用領域に注目する。
【0035】上記領域をステップS64で中断点1から
探索ループ方向にたどっていき、はじめて領域に入った
中断点4の1つ前の中断点3が、中断点1から見て記憶
しておくべき番号である。このようにして、中断点3と
5が求まり、不足芯線を作る。輪郭ベクトルが中断点3
から5の間にあると分かる。これにより図16の輪郭ベ
クトルb,cが不足芯線生成処理に使用される。もし中
断点0を有する芯線ベクトルと直線をなす芯線がなかっ
たら図17の領域を使用して探索ループを逆方向にたど
って注目すべき中断点の番号を調べることになる。この
ようにしてステップS64の処理が終了したならステッ
プS65の不足芯線生成処理を行う。これには、輪郭ベ
クトルaとbから不足芯線21を、輪郭ベクトルaとc
から不足芯線22を生成させる。
探索ループ方向にたどっていき、はじめて領域に入った
中断点4の1つ前の中断点3が、中断点1から見て記憶
しておくべき番号である。このようにして、中断点3と
5が求まり、不足芯線を作る。輪郭ベクトルが中断点3
から5の間にあると分かる。これにより図16の輪郭ベ
クトルb,cが不足芯線生成処理に使用される。もし中
断点0を有する芯線ベクトルと直線をなす芯線がなかっ
たら図17の領域を使用して探索ループを逆方向にたど
って注目すべき中断点の番号を調べることになる。この
ようにしてステップS64の処理が終了したならステッ
プS65の不足芯線生成処理を行う。これには、輪郭ベ
クトルaとbから不足芯線21を、輪郭ベクトルaとc
から不足芯線22を生成させる。
【0036】なお、平行に準じる芯線ベクトル(中断点
3と4)や平行な芯線ベクトル(中断点4と5)にも適
用する。中断点3と4からは不足芯線23が生成され
る。しかし、中断点4と5に関してはすでに生成が終了
しているので、新たにには芯線ベクトルは生成されな
い。
3と4)や平行な芯線ベクトル(中断点4と5)にも適
用する。中断点3と4からは不足芯線23が生成され
る。しかし、中断点4と5に関してはすでに生成が終了
しているので、新たにには芯線ベクトルは生成されな
い。
【0037】ステップS66は新たに作られた芯線ベク
トルを加えて探索ループを作り直すステップである。図
18は再編された探索ループの結果を示すものである。
ステップS66の処理が終了したなら前記探索ループの
結果から中断点連結を行って図19のように芯線化処理
を終了する。この第6実施例のように構成すると、分岐
付近における芯線ベクトルが、その生成不足により輪郭
ベクトルを反映していないものになることを防止でき
る。
トルを加えて探索ループを作り直すステップである。図
18は再編された探索ループの結果を示すものである。
ステップS66の処理が終了したなら前記探索ループの
結果から中断点連結を行って図19のように芯線化処理
を終了する。この第6実施例のように構成すると、分岐
付近における芯線ベクトルが、その生成不足により輪郭
ベクトルを反映していないものになることを防止でき
る。
【0038】
【発明の効果】以上述べたように、この発明によれば、
第1、第2発明では、品質の悪い輪郭ベクトルデータか
ら生成された芯線ベクトルデータを連結する場合でも正
確に選択処理でき、1ケ所の処理の失敗により他の箇所
まで及んでいた処理の失敗を生じないようにすることが
でき、第3発明では、中断点連結処理後に、芯線ベクト
ルが分断されたかのようなデータを生成することがなく
なり、しかも不要な芯線ベクトルが残ってしまうことが
なくなり、第4発明では、芯線ベクトル生成に中断条件
に当てはまったときでも、芯線ベクトル座標の一番遠い
座標にも芯線ベクトルを生成できるようなり、第5発明
では、原図により忠実な芯線ベクトルを生成することが
できるようになり、第6発明では、輪郭ベクトルを横切
る芯線ベクトルの発生を防止でき、第7発明では、分岐
付近における芯線ベクトルがその生成不足により輪郭ベ
クトルを反映していないものになることを防止できるな
どの効果が得られる。
第1、第2発明では、品質の悪い輪郭ベクトルデータか
ら生成された芯線ベクトルデータを連結する場合でも正
確に選択処理でき、1ケ所の処理の失敗により他の箇所
まで及んでいた処理の失敗を生じないようにすることが
でき、第3発明では、中断点連結処理後に、芯線ベクト
ルが分断されたかのようなデータを生成することがなく
なり、しかも不要な芯線ベクトルが残ってしまうことが
なくなり、第4発明では、芯線ベクトル生成に中断条件
に当てはまったときでも、芯線ベクトル座標の一番遠い
座標にも芯線ベクトルを生成できるようなり、第5発明
では、原図により忠実な芯線ベクトルを生成することが
できるようになり、第6発明では、輪郭ベクトルを横切
る芯線ベクトルの発生を防止でき、第7発明では、分岐
付近における芯線ベクトルがその生成不足により輪郭ベ
クトルを反映していないものになることを防止できるな
どの効果が得られる。
【図1】この発明の第1実施例を示すフローチャート。
【図2】第1実施例の動作を述べるための説明図。
【図3】第1実施例の動作を述べるための説明図。
【図4】第1実施例を使用しなかったときの失敗例を示
す説明図。
す説明図。
【図5】第1実施例を使用したときの改善結果を示す説
明図。
明図。
【図6】この発明の第2実施例を示すフローチャート。
【図7】第2実施例の動作を述べるための説明図。
【図8】この発明の第3実施例を述べるための説明図。
【図9】第3実施例を使用したときの結果を示す説明
図。
図。
【図10】この発明の第4実施例を示すフローチャー
ト。
ト。
【図11】Aは第4実施例を使用しなかったときの処理
結果説明図、Bは第4実施例を使用したときの処理結果
説明図。
結果説明図、Bは第4実施例を使用したときの処理結果
説明図。
【図12】この発明の第5実施例を示すフローチャー
ト。
ト。
【図13】第5実施例の動作を述べるための説明図。
【図14】Aは第5実施例を使用しなかったときの処理
結果説明図、Bは第5実施例を使用したときの処理結果
説明図。
結果説明図、Bは第5実施例を使用したときの処理結果
説明図。
【図15】この発明の第6実施例を示すフローチャー
ト。
ト。
【図16】第6実施例の動作を述べるための中断点連結
前の説明図。
前の説明図。
【図17】第6実施例の動作を述べるための輪郭特定用
領域説明図。
領域説明図。
【図18】第6実施例の動作を述べるための再編された
探索ループ説明図。
探索ループ説明図。
【図19】第6実施例の動作を述べるための芯線化終了
時の説明図。
時の説明図。
【図20】従来の芯線ベクタライズ処理手順を示すフロ
ーチャート。
ーチャート。
【図21】従来の画像データおよびその芯線化データ説
明図。
明図。
【図22】従来の接続点設定説明図。
【図23】従来の中断点説明図。
【図24】従来の芯線ベクトル生成の基本説明図。
【図25】従来の芯線ベクトル生成の例外説明図。
【図26】従来の芯線ベクトル生成の例外説明図。
【図27】従来の中断点説明図。
【図28】従来の2重芯線ベクトル生成例の説明図。
【図29】従来の中断点連結後の芯線ベクトル生成の説
明図。
明図。
【図30】従来の中断点連結後の芯線ベクトル生成の説
明図。
明図。
【図31】従来の分岐付近のベクトル説明図。
【図32】従来の芯線化処理終了後の説明図。
【図33】従来の芯線ベクトル生成処理後の説明図。
【図34】従来の中断点連結処理後の説明図。
A,B、0〜5…中断点 a,a’,b,b’,c,c’…輪郭ベクトル 21、22、23…不足芯線ベクトル α、β…芯線ベクトル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐々木 健二 東京都品川区大崎2丁目1番17号 株式会 社明電舎内
Claims (7)
- 【請求項1】 画像データに基づいて画像の輪郭を抽出
して輪郭ベクトルを生成し、輪郭ベクトルの対を検出し
て芯線ベクトルを生成し、この芯線ベクトルの中断点を
近接したもの同士で接続して芯線ベクトルを統合して画
像データを芯線化する画像データ芯線化処理方法におい
て、 接続したい中断点から近傍の第1輪郭ベクトルを探索し
た後、その第1輪郭ベクトルの前方ベクトル及び後方ベ
クトルを次々に探索して、目的の中断点を探し出すこと
を特徴とする画像データの芯線化処理方法。 - 【請求項2】 前記後方ベクトルの探索においては、接
続したい中断点と同一の線における中断点ではないとと
もに、接続したい中断点との距離が、その中断点がある
芯線ベクトルの他の中断点間の距離より短い条件を満た
すことを特徴する請求項1記載の画像データの芯線化処
理方法。 - 【請求項3】 前記中断点が近接位置に2つ以上存在す
るとき、それら中断点から第1、第2輪郭ベクトルを検
出し、両ベクトルが一致するかを判定し、一致したなら
芯線ベクトルが二重芯線ベクトルであるとすることを特
徴とする請求項1記載の画像データの芯線化処理方法。 - 【請求項4】 前記芯線ベクトル生成時に中断したと
き、その中断点を含む領域を設定した後、対となってい
る輪郭ベクトルの一方からもう一方へ輪郭ベクトルを追
ったとき、すべての輪郭ベクトルが前記領域に包含され
たら芯線ベクトル生成を再開させ、この再開のとき、領
域内に包含された輪郭ベクトル座標の中で、中断された
芯線ベクトル座標から一番遠い座標に芯線ベクトルを発
生させることを特徴とする請求項1記載の画像データの
芯線化処理方法。 - 【請求項5】 前記芯線ベクトルを統合する際、芯線ベ
クトルの連結点を計算した後、その連結点で2芯線ベク
トルを連結したとき、芯線ベクトルと輪郭ベクトルが交
わるかどうかを調べ、交わらないなら、その点で中断点
連結処理を行い、交わるなら、2中断点の中点を連結点
としたことを特徴とする請求項1記載の画像データの芯
線化処理方法。 - 【請求項6】 画像データに基づいて画像の輪郭を抽出
して輪郭ベクトルを生成し、輪郭ベクトルの対を検出し
て芯線ベクトルを生成し、この芯線ベクトルの中断点を
近接したもの同士で接続して芯線ベクトルを統合して画
像データを芯線化する画像データ芯線化処理方法におい
て、 前記輪郭ベクトルの対を検出して芯線ベクトルを生成す
るに際して、4点の座標を計算した後、4点の座標が形
成する四角形の領域を設定し、その領域内にかかってい
る輪郭ベクトルが存在したとき、その対となった輪郭ベ
クトル同士では芯線ベクトルを生成しないようにしたこ
とを特徴とする画像データの芯線化処理方法。 - 【請求項7】 画像データに基づいて画像の輪郭を抽出
して輪郭ベクトルを生成し、輪郭ベクトルの対を検出し
て芯線ベクトルを生成し、この芯線ベクトルの中断点を
近接したもの同士で接続して芯線ベクトルを統合して画
像データを芯線化する画像データ芯線化処理方法におい
て、 統合する芯線ベクトルの内で、平行又はそれに準じる角
度を持ち、互いに隣り同士である芯線ベクトル2本を抽
出した後、不足芯線ベクトルを生成するための、もう片
側の輪郭ベクトルを探索し、輪郭ベクトルが存在する範
囲を中断点によって指定して、輪郭ベクトル特定用領域
を設定した後、第1芯線ベクトルから探索ループ方向に
第n芯線ベクトルまでたどって行き、はじめて前記領域
に入った中断点の1つ前の中断点を記憶してから、不足
芯線生成処理を行って不足芯線ベクトルを生成し、この
不足芯線ベクトルを加えて探索ループを作成し直した
後、中断点連結処理を行うことを特徴とする画像データ
の芯線化処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16046794A JPH0830782A (ja) | 1994-07-13 | 1994-07-13 | 画像データの芯線化処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16046794A JPH0830782A (ja) | 1994-07-13 | 1994-07-13 | 画像データの芯線化処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0830782A true JPH0830782A (ja) | 1996-02-02 |
Family
ID=15715583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16046794A Pending JPH0830782A (ja) | 1994-07-13 | 1994-07-13 | 画像データの芯線化処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0830782A (ja) |
-
1994
- 1994-07-13 JP JP16046794A patent/JPH0830782A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3199765B2 (ja) | 複合イメ−ジエディタ | |
US6879872B2 (en) | Method for generating three-dimensional sheet-metal model and a computer program | |
WO2018185972A1 (ja) | マップデータ生成装置および方法 | |
US7295688B2 (en) | Method and apparatus for matching streaked pattern image | |
JP4046370B2 (ja) | 3次元形状の作図方法 | |
US5179645A (en) | Method of recognizing overlapped graphics in each degree of overlapping thereof | |
US6018352A (en) | Line symmetrical graphic arrangement device | |
JP3564371B2 (ja) | 図形編集装置及び方法 | |
JPH0830782A (ja) | 画像データの芯線化処理方法 | |
JPH0981740A (ja) | 線図形入力装置 | |
US20070146359A1 (en) | CAD apparatus, CAD method and recording medium storing CAD program thereof | |
JP2800544B2 (ja) | 画像データの芯線化処理方法 | |
JP5136477B2 (ja) | 表示プログラム、表示装置、および表示方法 | |
JP2734107B2 (ja) | 画像データの芯線化処理方法 | |
JP2988024B2 (ja) | 線画像照合装置 | |
JP2867650B2 (ja) | シンボル候補領域の検出方法 | |
JPH02146681A (ja) | 等高線抽出方式 | |
JPH07287750A (ja) | 地図を表す線分データから道路領域を認識する方法 | |
JPH10269267A (ja) | マスクレイアウトパラメータ抽出方法 | |
JPH06195456A (ja) | 画像処理装置 | |
JPH06139360A (ja) | 線種認識方法及び装置 | |
JPH04311285A (ja) | ストローク抽出法 | |
JPH10187778A (ja) | レイアウト図形検証方法及びレイアウト図形検証装置 | |
JPS62226389A (ja) | 物体認識装置 | |
JPH07287751A (ja) | 地図線分データから家屋図形を認識する方法 |