在计算机视觉,特别是计算立体视觉中,我们可以轻松编写一个算法来寻找两个相机图像中的对应点。该算法可以用如下伪代码表示:
重复对左图像中的每个特征点执行以下操作 { 计算右图像中的极线 如果极线只与一个特征点相交 那么匹配这些点并将它们从列表中移除}直到没有特征点可以被唯一匹配
我的问题是,如果使用三个相机而不是标准的双相机设置,如何修改这个算法?
一些好的想法或者这个伪代码的修改版本将非常棒。
谢谢。
回答:
一旦你在任意两个图像之间找到一对匹配的特征点,你就可以确定这些极线在剩余图像中的交点,并以这种方式确定最后一个特征。因此,你可以为“第一和第三”以及“第二和第三”相机对重复你的伪代码:
重复对第一张图像中的每个特征点执行以下操作 { 计算第二张图像中的极线 计算第三张图像中的极线 如果任一图像中的极线只与一个特征点相交 { 计算在另一个图像中匹配特征点的极线。 与第一张图像的极线相交得到第三个点。 从列表中移除三元组}直到没有特征点可以被唯一匹配.
然后
重复对第二张图像中的每个特征点执行以下操作 { 计算第三张图像中的极线 如果极线只与一个特征点相交 { 计算在第一张图像中匹配特征点的极线。 与第二张图像的极线相交得到第三个点。 从列表中移除三元组}直到没有特征点可以从第二张图像开始被唯一匹配。