使用一台相机并移动它以从不同的视点拍摄同一物体的两张图像,应该能够计算出与这两个场景相关的矩阵。在 OpenCV 中,这是如何实现的?
问问题
1572 次
1 回答
1
如果所述对象是像 OpenCV 使用的棋盘那样的校准模式,那么 ChrisO 提到的相机校准例程将为您提供相机内在参数(焦距、主点和镜头畸变)以及相机外在参数(它们在哪里在空间上相对)。
如果您有一般对象,那么您需要建立一组二维对应关系,您可以将其输入cvFindFundamentalMat。这找到了与这两种观点相关的基本矩阵。即,对于相机 1 中的每个点 x 和相机 2 中的对应点 x',x'Fx = 0。您可以类似地找到极点等。这使用 8 点算法,该算法需要至少 8 个点对的点对应关系。
您可以手动获取对应关系,也可以使用强大的特征提取器和匹配器沿着 MSER/Affine Harris + SIFT 的路线获取对应关系。
于 2011-03-21T13:59:16.933 回答