利用本质矩阵求对应点

2024-06-28 15:14:41 发布

您现在位置:Python中文网/ 问答频道 /正文

使用特征提取器和描述符,我计算了两个视图(图像)之间的基本矩阵E。因为我有相机的内部函数K,所以我也可以得到基本矩阵F

给定图像坐标(x,y),我可以获得第二视图中点的(x', y')坐标。如果是这样的话,如何做到这一点

通过查阅文献,我似乎可以得到极线,而不是确切的点,但我不能完全确定。如果我能得到(x,y)坐标的深度,即我能得到坐标的3D位置,我能解决这个问题吗

一个明显的解决方案是从基本矩阵中找到Rt,变换3D点并将其重新投影到新图像上。但在单目设置中,平移始终为单位长度,因此比例不明确,这可能没有帮助。因此,当停留在图像空间本身时,即单独使用EF获得解决方案的最佳方法是什么

样本:

E = np.asarray([-5.87054215e-04, -6.95705527e-01, -1.25874334e-01],
 [ 6.95659154e-01, -6.83523163e-04,  1.27646362e-02],
 [ 1.26062967e-01, -1.23362647e-02,  1.03722270e-04]])
K = np.array([[1.06682307e+03, 0.00000000e+00, 6.14908333e+02], [0.00000000e+00 ,1.06935269e+03 ,3.28409838e+02], [0.00000000e+00 ,0.00000000e+00 ,1.00000000e+00]])

pt1 = [140,400]

假设pt1的深度为6.2。 如何找到pt2,即视图2中pt1的坐标


Tags: 函数图像视图np空间单位矩阵解决方案
1条回答
网友
1楼 · 发布于 2024-06-28 15:14:41

简单回答:你不能

详细回答:您需要解决三维结构和运动,使用图像空间作为验证两者证据的地方。很明显,您处于校准场景中,因此您可能希望进行立体重建,或者,如果是在多视图场景中,则需要进行束调整

相关问题 更多 >