利用极线搜索算法在双相机图像中寻找对应点

在计算机视觉,特别是计算立体视觉中,我们可以轻松编写一个算法来寻找两个相机图像中的对应点。该算法可以用如下伪代码表示:

重复对左图像中的每个特征点执行以下操作 {   计算右图像中的极线    如果极线只与一个特征点相交    那么匹配这些点并将它们从列表中移除}直到没有特征点可以被唯一匹配

我的问题是,如果使用三个相机而不是标准的双相机设置,如何修改这个算法?

一些好的想法或者这个伪代码的修改版本将非常棒。

谢谢。


回答:

一旦你在任意两个图像之间找到一对匹配的特征点,你就可以确定这些极线在剩余图像中的交点,并以这种方式确定最后一个特征。因此,你可以为“第一和第三”以及“第二和第三”相机对重复你的伪代码:

重复对第一张图像中的每个特征点执行以下操作 {   计算第二张图像中的极线    计算第三张图像中的极线   如果任一图像中的极线只与一个特征点相交 {     计算在另一个图像中匹配特征点的极线。      与第一张图像的极线相交得到第三个点。     从列表中移除三元组}直到没有特征点可以被唯一匹配.

然后

重复对第二张图像中的每个特征点执行以下操作 {   计算第三张图像中的极线   如果极线只与一个特征点相交 {     计算在第一张图像中匹配特征点的极线。      与第二张图像的极线相交得到第三个点。     从列表中移除三元组}直到没有特征点可以从第二张图像开始被唯一匹配。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注