如果 3D 坐标未知,是否可以使用 8-10 个非共面点找到相机位置?

Is it possible to find camera position using 8-10 non-coplanar points, if their 3D coordinates are unknown?

我有一组具有未知 3D 位置的非共面点(我不受点数的限制,比如说其中的 8-10 个),以及至少 3 个不同的视图(视图数量也不受限制)二维图像中的这些点。我还估计了图片上与真实点相对应的每个点集的旋转和比例,还估计了拍摄图像的每两个相机位置之间的欧氏距离。

这些数据是否足以在使用这些点拍摄另一张照片后找到相机姿势(尽可能精确地找到)?如果不是,实现此目标所需的最少额外数据是多少?

更新:在这种特定情况下,我需要函数 recoverPose() from calib3d 模块

是的,这是可能的。根据算法(以及一些预校准的可用性),您可以使用最少 5 到 8 个点来获得两个相机的相对位置。

注意点对应关系必须可用,即点必须成对已知。