我有 2 台摄像机(摄像机 2 正在平移摄像机 1)及其投影矩阵P1和P2。他们拍摄了一张图像,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 的图像之间的匹配点。
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 页上看到的那样。223 在Hartley & Zisserman 的书上,
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是:
epoint =
614.7787
388.6410
2.4873
我记得,图像大小是 512x512,所以epoint.x在图像之外......正如你所看到的,epoint 与 point2 不同(很多不同)
point2 =
242.7049
133.9451
1.0000
我的问题是,为什么?我在哪里犯了一些错误?
谢谢