【发布时间】:2012-05-10 07:29:16
【问题描述】:
我正在尝试计算两个图像之间几个点的坐标对应关系。
我有一组已知对应关系的点,我将它们与 OpenCV 的 findFundamentalMatrix() 一起使用以找到基本矩阵。
我为每个点验证了x^T * F * x' = (0),结果总是正确或非常接近。
问题是,现在我想使用第一张图像上的点坐标 (y) 和基本矩阵 (F) 来找到第二张图像上的点坐标(y')。我首先想到的是简单地使用上面的等式,但只给y'点的z,就可以有an infinity of solutions。
我还能如何使用基本矩阵来计算平移?
更清楚地说:知道“链接”两个投影的基本矩阵,我如何使用它将任何已知点(a, b, 1) 的坐标从第一个投影转换为第二个投影?
考虑到我们知道a、b 和F 在这个等式中:(a', b", 1)T * F * (a, b, 1) = (0)
我做了一个简单的绘图作为例子:http://i.imgur.com/drNr2.jpg。这个想法是在投影 2 中找到红点 (xq, yq) 的坐标,考虑到我们知道它在投影 1 中的坐标以及两个投影中所有其他点的坐标(以及其他一些作为找到基本矩阵的算法)实际上至少需要8分)
另一个精度:在我的示例中,已知点是共面的,但研究点不一定是共面的。
我希望这让我的问题更清楚:)
【问题讨论】:
标签: c++ opencv computer-vision linear-algebra