JPH01180679A - 線図形近似方法 - Google Patents
線図形近似方法Info
- Publication number
- JPH01180679A JPH01180679A JP536888A JP536888A JPH01180679A JP H01180679 A JPH01180679 A JP H01180679A JP 536888 A JP536888 A JP 536888A JP 536888 A JP536888 A JP 536888A JP H01180679 A JPH01180679 A JP H01180679A
- Authority
- JP
- Japan
- Prior art keywords
- points
- distortional
- distortion
- approximation
- circular arc
- 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
- 238000000034 method Methods 0.000 title claims description 22
- 238000000605 extraction Methods 0.000 abstract description 9
- 239000000284 extract Substances 0.000 abstract description 3
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔技術分野〕
本発明は、点列として表された線図形を折れ線と円弧で
近似する線図形近似方法に関する。
近似する線図形近似方法に関する。
従来、画像の輪郭線抽出などで得られた線図形の形状近
似は、以下のような方法により行われている。
似は、以下のような方法により行われている。
まず、線図形中の連続した点列を反復端点あてはめ法(
区分的直線近似法)により折れ線で近似する。第6図は
その説明図であり、O印は点列中の各点を示す。
区分的直線近似法)により折れ線で近似する。第6図は
その説明図であり、O印は点列中の各点を示す。
(a)のように、点列(線セグメント)の両端の点を直
線L1で結び、この直線L1から最も離れた点(・)を
見つけ、その直線L1からの距離が誤差値εOより大き
ければ、この点を分割点として、(b)に示すように点
列の各端とを2本の直線L2.L3で結ぶ。直線から最
も離れた点までの距離が誤差値E0より大きければ、そ
の点を再び分割点として、(C)のように直線をさらに
分割する。最大距離がEOより大きいと、(d)のよう
にさらに直線分割を行い、最大距離がEOより小さくな
れば、折れ線近似を終了する。こぎに示す点列の場合、
(d)に示すように4本の折れ線で近似されることにな
る。
線L1で結び、この直線L1から最も離れた点(・)を
見つけ、その直線L1からの距離が誤差値εOより大き
ければ、この点を分割点として、(b)に示すように点
列の各端とを2本の直線L2.L3で結ぶ。直線から最
も離れた点までの距離が誤差値E0より大きければ、そ
の点を再び分割点として、(C)のように直線をさらに
分割する。最大距離がEOより大きいと、(d)のよう
にさらに直線分割を行い、最大距離がEOより小さくな
れば、折れ線近似を終了する。こぎに示す点列の場合、
(d)に示すように4本の折れ線で近似されることにな
る。
このようにして折れ線近似を行った後、連続した2本の
折れ線について、円弧近似が可能であるか否かの判定を
行い、可能ならば2本の折れ線の始点から終点までの範
囲の点列を円弧で近似する。
折れ線について、円弧近似が可能であるか否かの判定を
行い、可能ならば2本の折れ線の始点から終点までの範
囲の点列を円弧で近似する。
第7図はその説明図である。0印は点列中の点であり、
Ll、L2.L3は近似折れ線、PL、P2、P3.P
4は折れ線の端点である。
Ll、L2.L3は近似折れ線、PL、P2、P3.P
4は折れ線の端点である。
まず、折れ線LL、L2の垂直二等分線Vl。
v2を引き、その交点C1を求める。次に、PlからP
3までの範囲内の各点と交点C1との距離Diを計算す
る。こトで、C1とPlとの距離をDsとし、全点のD
iについて。
3までの範囲内の各点と交点C1との距離Diを計算す
る。こトで、C1とPlとの距離をDsとし、全点のD
iについて。
l D i −D s I <T h O−(1)が成
立すれば、PlからP3の範囲内の点列を円弧で近似す
る。あてはめる円弧データは、始点すなわちPlの位置
、終点すなわちP3の位置、中心すなわちC1の位置で
ある。そして、次の円弧抽出は次の2本の折れ線L3.
L4 (L4は図示せず)について行う。
立すれば、PlからP3の範囲内の点列を円弧で近似す
る。あてはめる円弧データは、始点すなわちPlの位置
、終点すなわちP3の位置、中心すなわちC1の位置で
ある。そして、次の円弧抽出は次の2本の折れ線L3.
L4 (L4は図示せず)について行う。
PlからP3の範囲で式(1)が成立しない場合、Pl
からP2の範囲を折れ線L1で近似し、次の円弧抽出を
P2からP4の範囲について行う。
からP2の範囲を折れ線L1で近似し、次の円弧抽出を
P2からP4の範囲について行う。
なお、近似精度を上げるために、最小二乗法により中心
位置の計算をしなおすこともある。
位置の計算をしなおすこともある。
しかし、このような従来方法は、連続した2本り折れ線
により一つの円弧を抽出するため、セグメント長が短く
視覚的に無駄な円弧データが増加し、弧長が長く曲率の
小さな円弧の滑らかさが損なわれるという問題があった
。また、近似データ量を減らそうとする場合、近似処理
後に円弧の統合処理を行う必要があり、処理時間が増加
するという問題があった。
により一つの円弧を抽出するため、セグメント長が短く
視覚的に無駄な円弧データが増加し、弧長が長く曲率の
小さな円弧の滑らかさが損なわれるという問題があった
。また、近似データ量を減らそうとする場合、近似処理
後に円弧の統合処理を行う必要があり、処理時間が増加
するという問題があった。
本発明は、点列として表現された線図形を折れ線と円弧
で近似する方法において、視覚的に無駄な短い円弧の抽
出を減らして近似データ量の削減を図ると\もに、折れ
線近似の特徴点が少ない場合でも円弧を高精度に抽出可
能とすることを目的とするものである。
で近似する方法において、視覚的に無駄な短い円弧の抽
出を減らして近似データ量の削減を図ると\もに、折れ
線近似の特徴点が少ない場合でも円弧を高精度に抽出可
能とすることを目的とするものである。
本発明は1点列の折れ線近似を行い、連続した3本以上
の折れ線について、各折れ線の点列に対する歪み量と歪
み方向を検出し、隣合う折れ線との歪み量の差が閾値以
下でかつ歪みの方向が同じ範囲内の点列を円弧近似する
ことを特徴とするものである。
の折れ線について、各折れ線の点列に対する歪み量と歪
み方向を検出し、隣合う折れ線との歪み量の差が閾値以
下でかつ歪みの方向が同じ範囲内の点列を円弧近似する
ことを特徴とするものである。
以下、本発明の一実施例について図面を用いて説明する
。
。
第1図は本発明を実施するためのハードウェア構成例を
示す図である。1は線図形の点列のデータ(x、y座標
データ)を格納した点列データメモリである。この点列
データは、具体的には2値画像の輪郭線抽出などで得ら
れた線図形のデータである。2は近似処理を実行する中
央処理装置、3はその処理のためのプログラムを格納し
たプログラムメモリである。このプログラムは、点列の
折れ線近似の部分と、折れ線近似の結果および点列デー
タを用いた円弧抽出の部分からなっている。
示す図である。1は線図形の点列のデータ(x、y座標
データ)を格納した点列データメモリである。この点列
データは、具体的には2値画像の輪郭線抽出などで得ら
れた線図形のデータである。2は近似処理を実行する中
央処理装置、3はその処理のためのプログラムを格納し
たプログラムメモリである。このプログラムは、点列の
折れ線近似の部分と、折れ線近似の結果および点列デー
タを用いた円弧抽出の部分からなっている。
4は処理の中間データ、処理結果データを格納するため
のデータメモリである。
のデータメモリである。
第2図は近似処理のフローチャートである。以下、この
フローチャートに沿って処理内容を説明する。
フローチャートに沿って処理内容を説明する。
ステップ21において、点列データメモリ1内の各点列
(線セグメント)について、上述の反復端点あてはめ法
により折れ線近似を行う。この折れ線近似は、近似折れ
線と点列との最大距離(歪み量)が許容誤差値εO以下
になるまで行う。折れ線近似データはデータメモリ4に
格納される。
(線セグメント)について、上述の反復端点あてはめ法
により折れ線近似を行う。この折れ線近似は、近似折れ
線と点列との最大距離(歪み量)が許容誤差値εO以下
になるまで行う。折れ線近似データはデータメモリ4に
格納される。
なお、この折れ線近似は、最小二乗法の特徴点の数を順
次増して行く方法で行ってもよい。あるいは、特徴点の
真中(小数点以下は切り捨て)の点を次の特徴点(分割
点)とする方法で行ってもよい。
次増して行く方法で行ってもよい。あるいは、特徴点の
真中(小数点以下は切り捨て)の点を次の特徴点(分割
点)とする方法で行ってもよい。
このようにして得られた折れ線近似データに基づき、ス
テップ22以降の処理により、円弧近似を行う。
テップ22以降の処理により、円弧近似を行う。
ステップ22において、連続した3本の折れ線L (i
)、L (i+1)、L (i+2)の点列に対する歪
みの量と方向を求める。なお、ステップ21において、
i = Oに初期設定されている。
)、L (i+1)、L (i+2)の点列に対する歪
みの量と方向を求める。なお、ステップ21において、
i = Oに初期設定されている。
歪み量は折れ線と点列との最大距離として検出してもよ
いし、あるいは、折れ線と点列とで作る領域の面積とし
て検出してもよい。
いし、あるいは、折れ線と点列とで作る領域の面積とし
て検出してもよい。
第3図は最大距離を歪み量として検出する場合の説明図
である。折れML (0)の点列との最大距離D(0)
が歪み量E(0)となる。他の折れ線についても同様で
ある。歪みの方向は、円弧の追跡方向に向かって、折れ
線が点列の右側にあるときにプラス(+)とし、反対側
にあるときにマイナス(−)とする。
である。折れML (0)の点列との最大距離D(0)
が歪み量E(0)となる。他の折れ線についても同様で
ある。歪みの方向は、円弧の追跡方向に向かって、折れ
線が点列の右側にあるときにプラス(+)とし、反対側
にあるときにマイナス(−)とする。
第4図は面積を歪み量として検出する場合の説明図であ
る。折れ線L (0)と、その点列との作る領域(斜線
部)の面積5(0)がその歪み量E(0)となる。この
歪み領域は、全体が折れ線L(0)の左側にあるので、
その歪みの方向はプラス(+)となる、折れ線L(1)
の場合、歪み領域は両側に生じており、その中の大きい
ほうの領域の面積がS (la)、小さいほうの領域の
面積が5(lb)である、この場合1合計面積(=S(
la)+S (lb))を歪み量とする。また、大きい
ほうの領域が折れ線の左側にあるから、歪み方向はプラ
ス(+)とする。3個以上の歪み領域が生じた場合も同
様であり、各領域の合計面積を歪み量として検出し、最
大面積の領域と折れ線との位置関係により歪み方向を決
定する。
る。折れ線L (0)と、その点列との作る領域(斜線
部)の面積5(0)がその歪み量E(0)となる。この
歪み領域は、全体が折れ線L(0)の左側にあるので、
その歪みの方向はプラス(+)となる、折れ線L(1)
の場合、歪み領域は両側に生じており、その中の大きい
ほうの領域の面積がS (la)、小さいほうの領域の
面積が5(lb)である、この場合1合計面積(=S(
la)+S (lb))を歪み量とする。また、大きい
ほうの領域が折れ線の左側にあるから、歪み方向はプラ
ス(+)とする。3個以上の歪み領域が生じた場合も同
様であり、各領域の合計面積を歪み量として検出し、最
大面積の領域と折れ線との位置関係により歪み方向を決
定する。
ステップ22においては、さらに、隣の折れ線との間の
歪み量の差ΔE (i) 、八E (i+1)を求める
。第3図または第4図の場合、AE (0) = l
E (1) −E (0) 1ΔE (1) =IE
(2) −E (1) 1が求められる。
歪み量の差ΔE (i) 、八E (i+1)を求める
。第3図または第4図の場合、AE (0) = l
E (1) −E (0) 1ΔE (1) =IE
(2) −E (1) 1が求められる。
次のステップ23において、歪み量の差ΔEが閾値Th
lより小さく、かつ歪み方向が同一であるという条件が
成立するか判定する。この条件が成立しない場合は、i
を+1してステップ22に戻る。すなわち、円弧抽出の
特徴点を一つ進めて同様の3本の折れ線についての処理
を行う。
lより小さく、かつ歪み方向が同一であるという条件が
成立するか判定する。この条件が成立しない場合は、i
を+1してステップ22に戻る。すなわち、円弧抽出の
特徴点を一つ進めて同様の3本の折れ線についての処理
を行う。
ステップ23の条件が成立した場合、ステップ24にお
いて、折れ線L (i)の始端を円弧候補の始点Csと
する。
いて、折れ線L (i)の始端を円弧候補の始点Csと
する。
次のステップ25において、円弧判定の折れ線を一つ進
めて、その歪み量と歪みの方向を検出し。
めて、その歪み量と歪みの方向を検出し。
その歪み量と一つ手前の折れ線の歪み量との差ΔEを求
める。
める。
ステップ26において、ステップ24で求めた歪み量差
ΔEが閾値Thl以下かつ歪み方向が同一という条件の
成立を調べる。この条件が成立した場合、iを+1して
ステップ25を実行する。
ΔEが閾値Thl以下かつ歪み方向が同一という条件の
成立を調べる。この条件が成立した場合、iを+1して
ステップ25を実行する。
このように、折れ線を順次増加させながら円弧判定を行
い、ステップ26の条件が不成立となると、ステップ2
7において、その時点で注目している最後の折れ線の始
端(一つ手前の折れ線の終端)を円弧候補の終点Ceと
する。すなわち、始点C5から終点Ceまでの間の点列
を円弧候補として抽出したわけである。
い、ステップ26の条件が不成立となると、ステップ2
7において、その時点で注目している最後の折れ線の始
端(一つ手前の折れ線の終端)を円弧候補の終点Ceと
する。すなわち、始点C5から終点Ceまでの間の点列
を円弧候補として抽出したわけである。
次のステップ28において1円弧候補内の点列に対して
、C5とCeを固定して、次式のEが閾値Th2以下に
なるように、最小二乗法により中心座標の算出を行い、
円弧候補を1個(初期値は1)の円弧に近似する。
、C5とCeを固定して、次式のEが閾値Th2以下に
なるように、最小二乗法により中心座標の算出を行い、
円弧候補を1個(初期値は1)の円弧に近似する。
E=Σ Xl−Xc + (Yi−Yc) 2・
・・(2) こへで、(Xc、Yc)は求める円弧の中心のX、Y座
標、(Xi、Yi)はC5からCeまでの各点のX、Y
座標である。
・・(2) こへで、(Xc、Yc)は求める円弧の中心のX、Y座
標、(Xi、Yi)はC5からCeまでの各点のX、Y
座標である。
Eが閾値Th2以下とならない場合、Xを+1し、円弧
候補内の点列をX分割し、1個の近似円弧の中心座標を
同様にして計算する。中心座標の算出には少なくとも3
個の点が必要であるため、分割位置を第5図に示すよう
な範囲で順次移動させ、移動の度に同様の中心座標の算
出を行う。
候補内の点列をX分割し、1個の近似円弧の中心座標を
同様にして計算する。中心座標の算出には少なくとも3
個の点が必要であるため、分割位置を第5図に示すよう
な範囲で順次移動させ、移動の度に同様の中心座標の算
出を行う。
Eが閾値Th2以下になればステップ29に進むが、E
が閾値Th2を越えるときは、C5からCeまで順次移
動させた際、Eが最小の部分に対して同様の処理を繰返
す。このようにして、円弧候補を1個の円弧に近似する
。
が閾値Th2を越えるときは、C5からCeまで順次移
動させた際、Eが最小の部分に対して同様の処理を繰返
す。このようにして、円弧候補を1個の円弧に近似する
。
ステップ29において、1個の円弧の始点、終点および
中心の位置データをデータメモリ4に格納する。次のス
テップ30においては処理すべき点列データが残ってい
るか調べ、残っている場合はステップ22に戻り、処理
を続ける。
中心の位置データをデータメモリ4に格納する。次のス
テップ30においては処理すべき点列データが残ってい
るか調べ、残っている場合はステップ22に戻り、処理
を続ける。
以上説明したように、本発明は3本以上の連続した折れ
線について、歪み量の差および歪みの方向を調べること
により、折れ線近似の特徴点が少ない場合でも精度よく
円弧抽出を行い、視覚的に無駄な短い円弧を排除し、滑
らかな円弧表現を行うことができると\もに近似データ
量を減らすことができる。
線について、歪み量の差および歪みの方向を調べること
により、折れ線近似の特徴点が少ない場合でも精度よく
円弧抽出を行い、視覚的に無駄な短い円弧を排除し、滑
らかな円弧表現を行うことができると\もに近似データ
量を減らすことができる。
第1図は本発明を説明するためのハードウェア構成例を
示すブロック図、第2図は本発明の一実施例における近
似処理の概略フローチャート、第3図及び第4図はそれ
ぞれ歪み量および歪み方向の検出方法の説明図、第5図
は円弧分割方法の説明図、第6図は反復端点あてはめ法
による折れ線の説明図、第7図は従来の円弧抽出の説明
図である。 1・・・点列データメモリ、 2・・・中央処理装置、
3・・・プログラムメモリ、 4・・・データメモリ
。 第 3 図 CC 第 4 図 第 5 図 →f7オ匈 第 6 図 第 7 図
示すブロック図、第2図は本発明の一実施例における近
似処理の概略フローチャート、第3図及び第4図はそれ
ぞれ歪み量および歪み方向の検出方法の説明図、第5図
は円弧分割方法の説明図、第6図は反復端点あてはめ法
による折れ線の説明図、第7図は従来の円弧抽出の説明
図である。 1・・・点列データメモリ、 2・・・中央処理装置、
3・・・プログラムメモリ、 4・・・データメモリ
。 第 3 図 CC 第 4 図 第 5 図 →f7オ匈 第 6 図 第 7 図
Claims (1)
- (1)線図形の点列を折れ線と円弧により近似する方法
において、点列の折れ線近似を行い、連続した3本以上
の折れ線について、各折れ線の点列に対する歪み量と歪
み方向を検出し、隣合う折れ線との歪み量の差が閾値以
下でかつ歪みの方向が同じ範囲内の点列を円弧近似する
ことを特徴とする線図形近似方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP536888A JPH01180679A (ja) | 1988-01-13 | 1988-01-13 | 線図形近似方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP536888A JPH01180679A (ja) | 1988-01-13 | 1988-01-13 | 線図形近似方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01180679A true JPH01180679A (ja) | 1989-07-18 |
Family
ID=11609227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP536888A Pending JPH01180679A (ja) | 1988-01-13 | 1988-01-13 | 線図形近似方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01180679A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003756A (ja) * | 2006-06-21 | 2008-01-10 | Miyachi Technos Corp | レーザマーキング方法及び装置 |
-
1988
- 1988-01-13 JP JP536888A patent/JPH01180679A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008003756A (ja) * | 2006-06-21 | 2008-01-10 | Miyachi Technos Corp | レーザマーキング方法及び装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tombre et al. | Vectorization in graphics recognition: to thin or not to thin | |
JP2823882B2 (ja) | 線画像ベクトル化方法 | |
US10970890B2 (en) | Maze solving method based on line-surface spatial relation | |
JPH01180679A (ja) | 線図形近似方法 | |
JP2000036037A (ja) | 走行路認識装置 | |
CN112949542A (zh) | 一种基于凸包检测的手腕分割线的确立方法 | |
JPH01180680A (ja) | 線図形近似方法 | |
CN110097065B (zh) | 一种基于FreeMan链码的直线检测方法及终端 | |
JPH01180678A (ja) | 線図形近似方法 | |
JPH01282684A (ja) | 線図形の近似誤差補正方法 | |
JP2576413B2 (ja) | 2値図面イメージの線分抽出方式 | |
JP2941322B2 (ja) | 図面処理装置 | |
JP2954778B2 (ja) | 画像入力装置の線図形分岐点接続方法 | |
JP2777946B2 (ja) | 文字パターンの鱗認識方式 | |
JP2656802B2 (ja) | 図面入力装置 | |
JP2863530B2 (ja) | 線画像認識装置 | |
CN115031742A (zh) | 一种车道分界线的生成方法、装置及电子设备 | |
JPH04141788A (ja) | 細線化歪形状自動修正装置及び方法 | |
KR950001849Y1 (ko) | 직선 쇼트 벡터에 의해 표시된 형상의 세그멘트 타입 판정 장치 | |
JPS59116884A (ja) | 文字ストロ−ク接続方法 | |
JPH031286A (ja) | 文字切出し装置 | |
JPH11154236A (ja) | 線図形の芯線化における接続処理方法 | |
JPS62108383A (ja) | 破線抽出方法 | |
JPH05266183A (ja) | 直線近似方式 | |
JPH0434668A (ja) | 画像処理方法および装置 |