私はいくつかの作業を行っています (複雑すぎて説明できません)。私が持っているタスクの 1 つは、平滑化されたポリゴンのラスター イメージをスケルトンに変換する必要があることです。だから私はこのようなことをする必要があります:
ラスター画像 (左側) があり、画像を表すポイントとエッジ (右側) で構成されるグラフが必要です。
アルゴリズムについて、特にスティーブン スキエナの本を読んだことがあります。彼は「ブラシ ファイア」アルゴリズムを使用するように指示しており、「各サイクル、エッジにあるすべてのポイントを通過し、衝突するエッジにポイントを追加する」と説明しています。スケルトンに残りのポイントを削除し、スケルトンだけが残るまで次のサイクルに進みます」しかし、このアルゴリズムでオンラインで見つけることができるすべての情報は、ロボットの経路探索アルゴリズムに関するものであり、ここでそれを適用する方法がわかりません (基本的には塗りつぶされた/空のピクセルの座標しかない場合、どうすれば「エッジ」を知ることができますか)。
私はCGALライブラリを調べましたが、それはスケルトンのデモンストレーションですが、ポリゴンに多くの頂点がある場合はうまく機能しないため、境界上の各頂点をポリゴンの頂点に変換してからアルゴリズムに渡すだけでは生成されません良い結果。
タスクは非常に基本的なように見えるため、これは一般的なアルゴリズムであるに違いないと思いますが、車輪を発明したくなく、トピックに関するものを見つけることができませんでした (おそらく正しいキーワードがわからないため)