Opencv 基于内、外摄像机参数的图像匹配
目前,我有一个图像数据集(帧序列)和内置的摄像机校准矩阵。此外,对于每个图像,我都有外部参数(旋转和平移) 我想知道是否可以使用这些参数来找到每对图像之间的正确像素对应关系 我发现了平移(t)和旋转(R)与两个不同视角之间的每个对应点之间的关系 我猜使用上面的图像,只需要固定一个“x”点(齐次坐标)并求解“x”的方程组,但我不知道使用的是什么操作(符号)。如果有人知道如何使用matlab,我希望能得到一些帮助 此外,如果有其他方法可以使用相同的信息来发现匹配,我希望有人能提供帮助Opencv 基于内、外摄像机参数的图像匹配,opencv,image-processing,camera-calibration,Opencv,Image Processing,Camera Calibration,目前,我有一个图像数据集(帧序列)和内置的摄像机校准矩阵。此外,对于每个图像,我都有外部参数(旋转和平移) 我想知道是否可以使用这些参数来找到每对图像之间的正确像素对应关系 我发现了平移(t)和旋转(R)与两个不同视角之间的每个对应点之间的关系 我猜使用上面的图像,只需要固定一个“x”点(齐次坐标)并求解“x”的方程组,但我不知道使用的是什么操作(符号)。如果有人知道如何使用matlab,我希望能得到一些帮助 此外,如果有其他方法可以使用相同的信息来发现匹配,我希望有人能提供帮助 谢谢不,此信
谢谢不,此信息不足以找到帧之间的点对应关系。我将首先解释我认为你可以用给定的信息做什么,然后我们将看到为什么不可能仅从基本元素获得像素到像素的匹配
- 您可以做什么。对于点
,您可以使用基本矩阵在另一幅图像上找到m
所在的直线。假设你在问题中给出的m'
和X
分别被投影到X'
和m
,即 从你的方程开始,我们有:m'
矩阵X^{T}EX'=0 ==> m^T K^{-T} E K^{-1} m'
,我们将注意到K^{-T}E K^{-1}
,称为基本矩阵,现在图像平面中的2d点之间有一个约束:F
请注意,m^TFm'=0
和m
是用齐次坐标表示的三维矢量。这里要注意的有趣的事情是,m'
是Fm'
位于第一个图像上的线(因为上面给出的约束只不过是m
和m
之间的点积)。类似地,Fm'
是另一幅图像上的一行,m^TF
预计位于其中。因此,要找到m'
的匹配项,您可以在m
附近搜索Fm'
- 为什么无法获得像素到像素的匹配。让我们从直观的角度来看约束
意味着什么。基本上,它说的是我们期望xEx'=0
,x
和基线x'
是共面的。假设您修复了T
,并查找满足x
的点。然后,当图形中的xEx'=0
满足此约束条件时,每个点x'
(从n
重新投影)如下图所示也将是一个很好的候选点: 这表明正确的匹配取决于您对y
深度的估计,而您没有x
m^TFm'=0