6

上の画像には、幾何学模様があります。モデルa距離は既知です。ポイントは厳密にはモデル距離ではありません。

したい:

  • 各ポイントの品質を計算します(ポイント間の実際の距離はそうではありませんa)より良いポイントがより良い品質係数をパターン化するのに適合します(私は距離と45度の角度をとろうとしました)
  • 間違ったポイントを削除します (赤でマークしました) - パターン品質計算に関連しています

私がこれまでに試したこと:

  1. それぞれのポイントをお互いに持っていく
  2. それらの間の距離と角度を計算する
  3. 現在のポイントに隣接するポイントのみを取得します (距離は と の間ですa - delta)a + delta
  4. 品質は realDistance/modelDistance * realAngle/modelAngle

失敗した理由:

  • 良い点の品質は、近隣の悪い点で大幅に低下しました
  • 悪い点が 1 つしか隣接しておらず、距離と角度が問題なければ、その品質は問題ありませんでした。

問題は、この場合のポイントの品質と塗りつぶしパターンを計算するための最適なアルゴリズムは何かということです。パターンは、隣接要素の位置を考慮して要素の位置を平均化することで埋められる必要があります。最良の答えは、疑似コードまたはコード、またはこの場合に役立つ既知のアルゴリズムへの参照です。

質問は、以前の質問Filling rectangle with points patternと少し関連していますが、間違った品質のポイントで塗りつぶすことができませんでした。

4

2 に答える 2

1

左から右または上から下に移動してもポイントのエラー/歪みが大きくならない場合(つまり、a隣接する適切なポイント間の平均距離が正確にわかっている場合)、次のことを試すことができます。

  • aで除算するときにx座標とy座標の余りを取り、各点P iを正方形にします(Q iを生成します)。したがって、良い点は多かれ少なかれ1つの点にマッピングされます。[0,a[ x [0,a[
  • これらの生成された点Qiの中から、最も近い点を持つ1つの点を選択します(たとえば、他の点Q j、j≠iまでのすべての距離を合計し合計が最大の点を選択しますR1/distance
  • これで、距離Q iからRに近づくことで、良い点と悪い点P iを区別できます対応するQiがRに近い点Piが良い点になります)。

点R(最も近い近傍を持つ)の座標が0またはaに近い場合(つまり、Rが正方形の境界に近い[0,a[ x [0,a[場合)、最初から始めて、前にa/2(各P iの)対応する座標に追加することをお勧めします。点Rを正方形の中心に近づけるために、余りを計算します。(または、片側に正方形を残して[0,a[ x [0,a[反対側に戻るというさまざまな可能性の最小距離を計算することができます。)

于 2012-11-07T20:26:44.210 に答える
1

グリッドに沿って良い点が並んでいるように見えます。グリッド ラインは、 RANSACを使用したライン フィッティング アルゴリズムを使用して見つけることができます。RANSAC ライン フィッティングは、確率的アルゴリズムです。ほぼ水平または垂直の線が見つかるまで、これを繰り返す必要があります。この線上/近くのポイントを取り出し、次のグリッド線に進みます。問題の特性に応じて、残っているポイントが少なすぎるか、1 つの線上または近くにあるポイントが少なすぎる場合、新しいグリッド ラインの検索を停止します。残りの点は悪い点です。見つかったグリッド線の交点を取得し、交点の近くに (元のすべての点から) 点がない場合は、ここに点を入力できます。

于 2012-11-08T09:14:26.450 に答える