如何使用OpenCV从已知的3D点云(在没有I的情况下构建)估计新图像I的相机姿态矩阵

How to estimate camera pose matrix of a new image I, from a known 3D point cloud (built without I) using OpenCV

本文关键字:新图像 图像 相机 何使用 构建 点云 3D OpenCV 情况下      更新时间:2023-10-16

我有以下问题:给定一个 3D 点云,它的视图集 V 具有已知姿势,视图 v ∉ V(即具有完全未知的姿势(,如何估计 v 的相机姿势矩阵避免使用 V ∪ {v} 再次运行重建?

正在尝试在 OpenCV 3.2 中解决这个问题,但是您可以提供给我的任何想法、直觉或伪代码都将非常有用。谢谢!

好吧,您显然需要使用点云在新视图和旧视图之间建立图像点对应关系,例如,通过匹配与旧图像中云点投影相关的图像描述符(SURF,ORB,...(,并将它们与新图像中提取的兴趣点进行匹配。

然后,您可以完成使用 5 点或 8 点算法删除异常值的常规过程。获得良好的对应关系后,只需使用从云点到新图像中匹配位置的 solvePnP。

请注意,这本质上是 VSLAM 算法在不需要重新定位时对所有"新"映像所做的。