2016-05-03 9 views
1

この質問の状態を正確にはわからないので、次の図を参照してください。 enter image description hereポイントを削除してポリゴンの周囲を減らす

ポリゴンは、異なる領域境界のラスタライズされたマップの輪郭を検出することによって生成されました。元の画像の文字で作成された「入口」に注目してください。私は、端点が接続されている場合、ポリゴンの周囲の長さを少なくともいくらかの値だけ減らす点のセットを特定したいと思います。私は、各ポリゴンに対して凸包を生成し、ハル頂点間のポリゴン外周と頂点間の距離との距離の差に基づいて周長節約を試みましたが、これらの頂点が「入口」の端に近いという保証はありません"

この問題の計算幾何学の用語があるように感じますが、それが何であるかはわかりません。開始点と終了点の可能な組み合わせごとに保存された距離を計算する必要がありますか、これを再帰的に行う簡単なアルゴリズムがありますか?

凸包が故障し使用した場合の例では、次の例の中心にある多角形である:私は閉鎖したいのに対し、ここで enter image description here

、凸包は多角形の角を結びますポリゴンの右側に大きな入口があり、その側面の曲率は保持されています。

+0

正しいアプローチのように凸包の音を取ります。すでにhttps://scipy.github.io/devdocs/generated/scipy.spatial.ConvexHull.htmlを見ましたか? – Dietrich

+0

あなたはおそらく、船体が入力形状にどれだけぴったり一致するかを処理するためのパラメータを制御できる凹型船体を探しています。一般的な原則と実装には多くの参考文献がありますが、多くはgisフィールド内にあります –

+0

[Ramer-Douglas Peucker](https://en.wikipedia.org/wiki/Ramer%E2%80% 93Douglas%E2%80%93Peucker_algorithm)。 OpenCVは[approxPolyDP](http://docs.opencv.org/2.4/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html#approxpolydp)で実装しています。 – Jaime

答えて

0

アルファシェイプを試すことができます。アルファ形状は、アルファを超えない夕方三角測量のエッジとして定義されます。

関連する問題