射影行列P1とP2を持つ 2 つのカメラ (カメラ 2 はカメラ 1 に対して変換しています) があります。彼らは、I1 (カメラ 1) とI2 (カメラ 2) 512x512 の画像を撮影しました。
P1 =
-510.0686 -12.9401 -259.3765 -130.4363
-7.6701 -517.0217 -257.2912 -66.5024
-0.0325 -0.0518 -1.0108 -0.4847
P2 =
-736.7330 -13.5206 -388.4970 -828.1644
-12.1721 -749.3048 -375.2760 -560.6533
-0.0291 -0.0623 -1.4690 -3.2141
基本行列 F を計算します。
F =
1.0e+003 *
0.0000 0.0033 -0.6047
-0.0033 0.0000 0.7938
0.5973 -0.8252 5.9205
次に、 RANSAC point1とpoint2を使用して、SURF で 2 つの画像間の一致点を見つけました。
point1 =
235.3386
135.3108
1.0000
point2 =
242.7049
133.9451
1.0000
私はエピポーラ線を計算しようとしましたが、それはpoint2を通過します
epLineCam2 = F * punto1;
epLineCam2 =
1.0e+004 *
-0.0158
0.0028
3.4824
そのため、 point2 は、エピポーラ ジオメトリを使用して計算された、I2 の予想される点 epointに非常に似ているはずです(SURF は多くの近似を使用するため)。
8.2ページでわかるように。Hartley & Zisserman の本の223 、
x' = Hπ * x;
ここで、 x' はepointで、 x はpoint1です。
私のHπは:
Hpi = P2 * pinv(P1);
Hpi =
1.4397 -0.1502 296.2940
-0.0008 1.3476 206.4950
-0.0001 -0.0006 2.5772
したがって、ポイントは次のとおりです。
epoint =
614.7787
388.6410
2.4873
画像サイズが 512x512 であるため、epoint.xが画像の外側にあることを覚えています...
point2 =
242.7049
133.9451
1.0000
私の質問は、なぜですか?どこで間違いを犯しましたか?
ありがとう