25

findHomographyポイントのリストを使用して、結果をに送信していwarpPerspectiveます。

問題は、結果が完全なゴミであり、結果の画像が奇妙な灰色の長方形で表される場合があることです。

findHomography悪い結果が送信されたときにそれを検出するにはどうすればよいですか?

4

3 に答える 3

37

出力に対して実行できる健全性テストがいくつかあります。私の頭の上に:

  1. ホモグラフィの行列式を計算し、それが快適さのためにゼロに近すぎるかどうかを確認します。
  2. さらに良いことに、そのSVDを計算し、最初から最後の特異値の比率が正気である(高すぎない)ことを確認します。どちらの結果でも、行列が特異に近いかどうかがわかります。
  3. 画像の角とその中心の画像(つまり、それらの角と中心にホモグラフィを適用したときに得られるポイント)を計算し、それらが意味をなすものであることを確認します。 )?それらは互いに十分に分離されていますか?
  4. ホモグラフィを使用して、ホモグラフィを適合させた出力(データ)ポイントと入力ポイントからの計算値をmatlab / octaveにプロットし、それらが近い(つまりエラーが低い)ことを確認します。

ガベージ結果につながる一般的な間違いは、入力ポイントと出力ポイントのリストの順序が正しくないことです。これにより、フィッティングルーチンが誤った対応を使用して機能するようになります。インデックスが正しいことを確認してください。

于 2012-06-11T13:39:39.943 に答える
4

縮退したホモグラフィのケースを理解することが重要です。たとえば、ポイントが同一線上にあるか、同一線上に近い場合、適切なホモグラフィを取得することはできません。また、巨大な灰色の四角は極端なスケーリングを示している可能性があります。どちらの場合も、最終的なホモグラフィ計算にインライアがほとんどないか、マッピングが間違っているという事実から生じる可能性があります。

これが起こらないようにするには、次の手順に従います
。1.両方の画像でポイントが十分に広がっていることを確認します。
2.少なくとも10〜30の対応があることを確認します(ノイズが小さい場合は4で十分です)。
3.ポイントが正しく一致し、変換がホモグラフィであることを確認します。

悪いホモグラフィを見つけるには、見つかったHを元のポイントに適用し、予想されるポイントからの距離を確認します。これは|x2-H*x1| < TdistTdist距離エラーのしきい値です。このしきい値を満たすポイントがわずかしかない場合は、ホモグラフィが不良である可能性があり、上記の要件の1つに違反している可能性があります。

于 2014-02-23T07:37:14.563 に答える
0

しかし、これはホモグラフィを計算するために使用する点対応に依存します...線を線に(ある平面から別の平面に)マッピングする変換を見つけようとしていると考えてください。したがって、点対応の可能な構成はありません。素敵な画像を作成するホモグラフィを提供します。ホモグラフィがいくつかの点を無限大にマッピングすることさえ可能です。

于 2013-10-25T16:45:38.407 に答える