从左相机的一组点进行三角剖分

信息处理 计算机视觉
2022-01-26 10:36:52

在我的程序中有立体摄像机。摄像机是立体校准的。我有一组来自左侧图像的 2D 点(例如,它可能是来自左侧图像的一些哈里斯角)。任务是参考左相机估计这些点的 3D 位置。我首先从右相机估计图像中的对应点开始。我用过OpticalFlow比这点被投入cvTriangulatePoints()作用。但是右相机图像中的估计点不正确。我的问题是,如果我只知道左侧摄像机图像的 2D 坐标点,还有其他方法可以获取 3D 位置吗?谢谢

2个回答

您不需要估计第二张图像中的点,您需要匹配它们。

一种方法是在一张图像中的点周围获取一块像素,然后查看第二张图像中的哪些点具有最“相似”的一块。一种非常简单的方法是取左侧补丁中每个像素与右侧补丁中相应像素之间差异的平方和。

如果您只能通过一台摄像机知道 3D 位置,那么立体视觉有什么用?

您需要匹配在两个相机中找到的两个点,然后您可以使用对极几何来近似 3D 位置。

例如,您的哈里斯角在两个图像中应该具有大致相同的特征才能匹配。