ラスタベクタ変換ライブラリでは、以下のアルゴリズムを利用しています。
- モーフォロジー演算
線図形、面図形、文字図形を分離するために、モーフォロジー演算を行っています。膨張、収縮、反転など
などのフィルタを組み合わせることで、ラスタ画像から線・面・文字を分離しています。
- 高速細線化
高速細線化フィルタによって、線画像を細線化します。同時に、線上のスパイクノイズなどもスムージング
することによって解消します。
- 高速輪郭抽出
微分フィルタを使わずに領域を囲む多角形を取得します。
- 最小自乗法による最適化
細線化したラスタと近似多角形との誤差の総計が最小になる頂点の組み合わせを高速計算します。もちろん
頂点が多いほど誤差は小さくなるので、頂点がより少なくなるような評価関数を使って、組み合わせ最適化
計算を行います。
- ネットワーク経路計算
芯線ベクタが複数交差している場合に、交点で芯線ベクタを接続するときに、交差点における角度の制約の
下に、最長経路を取得します。
- 有限要素法
交点の座標を、有限要素法を用いて最適化します。ひとつの交点の位置補正が、隣接する交点の位置補正に
影響するため、全ての交点にとって最適な位置補正をするために、有限要素法を使って座標補正を行ってい
ます。
|