開いた形状を作成する一連のポイント (頂点ではありません) がありますが、それらは配列にランダムに配置されていますが、形状を効果的に認識するために必要なことは、形状が作成された順序でポイントを配置することです。
始点と終点を判別する方法はありますか?
編集:ポイントは 2D 平面にあり、バウンディング ボックスがあります。ポイントは、画像がピクセルごとに処理されるときに、上から下にポイントを与える画像処理アルゴリズムから取得されます(形状が作成された順序ではありません)。
一連の点が与えられると、それらから形状を再構築するさまざまな方法があります。2 地点間の距離のみを考慮に入れる場合、これは基本的に古典的な巡回セールスマンの問題に帰着します。つまり、すべての地点を通るツアーを探して、そのツアーの長さを最小限に抑えます。平面内のすべてのポイントに同じ距離を持つ 1 つの死のポイントを追加できます。これにより、巡回ツアーが直線ツアーに変わります。人工的なポイントの後のポイントが開始ポイントになり、その直前のポイントが終了ポイントになります。箱から出してすぐに非循環ツアーを実行できる TSP 近似アルゴリズムが存在する可能性があります。
距離だけを考慮すると、ペイント デバイスの動きに固有の慣性が無視されます。したがって、これが可能な限り最高のモデルであるとは主張しません。しかし、ほとんどのモデルでは、すべてのポイントの順序を決定する方法を引き続き考えます。これにより、開始点と終了点が自動的に識別されます。これら 2 つを確実に識別する方法は、その間にあるすべてのポイントを並べ替える方法も考えられません。
編集:代わりに画像セグメンテーションを実装したいようです:
数学的な説明については、28 ページまでスクロールしてください。これにより、輪郭が得られます。それはあなたがなりたい場所にあなたを連れて行きますか?
あなたがやろうとしていることは実装です
外部ライブラリを使用せずに。生産目的にはお勧めしませんが、取り組むには大きな問題になると思います。
私の提案は、入力信号を提供するイメージ サーフェスを使用して単純な人工ニューラル ネットワークを構築することです。フィードフォワード、バックプロパゲーション ANN のコーディングは非常に簡単ですが、必要な結果を得るには非常に注意が必要です。
結局のところ、何度も試みたにもかかわらず、まだ完全な解決策がない問題に取り組んでいるのです。ご多幸をお祈りしております。今後も進捗状況をお知らせください。