2017-04-05 23 views
0

私はOpenCVを使って1つの平面からホモグラフィ投影を計算しています。平面1をCenitalViewと呼ばれる別の平面に計算しましょう。平行平面のホモグラフィの計算

Plane1とCenitalViewの両方でいくつかの点を選択することによってホモグラフィ行列(H1)が計算されます。

この情報を持つだけで、平行平面をPlane1と同じCenitalViewに関連付ける第2のホモグラフィ行列(H2)を得ることは可能ですか?

再開:

プレーン1 - > H1 - > CenitalView
プレーン2(// Plane1) - > H2を? - > CenitalView

答えて

0

Plane2の元の点(0、0)とx軸とy軸を知る必要があります。あなたはそうすることはできません。これらのすべての面がPlane1の平行な面です。

あなたはPlane2の通常verctor周りplane2を回転させると仮定して、あなたはPlane3、Plane4を取得し、...明らかに、彼らはCenital Viewに関して異なるホモグラフィ行列を持っています。

+0

Plane1とPlane2の両方がz軸でのみ異なります。飛行機の間に距離dがあります。だからこそ、私はCenitalView平面に関して関連する両方の平行平面が既知の距離dであるとして – Alex

+0

であるとして、これらの2つの行列の間に関係があるかどうか尋ねていたのです。そして、カメラ組み込み関数は知られていますか? – Micka

+0

dとカメラの両方が内蔵されています。 – Alex

1

これは、plane1とplane2のホモグラフィが分かっている場合に可能です。

プレーン1 - > H1 - > CenitalView

プレーン1の場合 - > HP - >面2、その後 プレーン2 - > HP^-1 * H1 - > CenitalView

だからその面を知ります1と平面2は平行ではありません、afaik。

+0

ありがとう!それは方法かもしれない。 – Alex

+0

こんにちはミカ、私はそれらが平行であり、それらの間の実際の世界の距離とカメラの較正パラメータを知っていれば、面1と面2の間のホモグラフィを計算する方法についての手がかりを教えていただけますか?ありがとう。 – Jackypengyu

+0

@ Jackypengyu既知のパラメータから3D平面を作成することができます。次に、カメラの中心から任意のピクセルを介してeayを撮影します。この光線は、ある座標ではplane1とplane2に当たるでしょう。これを4点で行い、それらの面のホモグラフィを計算できるはずです。 – Micka