2つの画像間のいくつかの点の座標対応を計算しようとしています。 私は基本的な行列を見つけるためにOpenCVのfindFundamentalMatrix()
でそれらを使っています。 各点についてx^T * F * x' = (0)
が確認され、結果は常に正しいか非常に近いです。基本行列を使ってOpenCVを使って座標変換を計算する
ものは今は第二の画像(y'
)上の点の座標を見つけるために最初の画像(y
)と基本マトリックス(F
)上の点の座標を使用したいのですが、あります。私は最初に上記の方程式を単純に使うことを考えましたが、y'
点のz
だけを与えれば、an infinity of solutionsがあります。
他にどのように基本行列を使用して翻訳を計算できますか?
2つの投影を「リンク」する基本的な行列を知っていれば、どのようにして既知の点の座標を第1の投影から第2の投影に変換することができますか?
我々はこの式でa
、b
とF
を知っていることを考えると:(A」、B」、1)T * F *(A、B、1)=(0)
私が作りました例えば、http://i.imgur.com/drNr2.jpgのような簡単な図案です。考え方は、投射2の赤い点(xq, yq)
の座標を、投影1の座標と両方の投影の他のすべての点の座標を知っていることを考慮して調べることです基本行列を求めるアルゴリズムは実際には少なくとも8点必要です)
もう1つの精度:my例えば、既知の点は同一平面上にあるが、研究された点は必ずしも同じではない。
私はそれが私の問題がより明確になる願っています:)
あなたが使用しているポイントのグループがチェス盤のものであれば、opencvを使って簡単に内部パラメータを取得できます(これはチェスボードのポーズがいくつか必要です)。 – guinny
これは答え:) –
:-)それはあまりにも長いので、それを答えにすることを決めた。 – fireant