一组3D模型点与其图像投影之间的对应关系



我有一组三维点和一些带有这些点投影的图像。我还有相机的焦距和带有投影的图像的主点(由之前完成的相机校准产生)。

给定这些参数,有没有办法找到三维点和图像投影之间的自动对应关系?我查阅了一些OpenCV文档,但直到现在我都没有找到合适的东西。我正在寻找一种自动标记投影的方法,从而确定投影和三维点之间的对应关系。

这个问题不是很清楚,但我认为你的意思是说你有相机的内在校准,但没有它相对于场景的位置和姿态(校准的"外在"部分)。

如果你只有一张图像,那么这个问题对于普通的三维点云没有唯一的解决方案:只需注意,如果你沿着将三维点投影到相机中的光线将其移动到任何位置,图像都不会改变。

如果有一个或多个图像,你知道关于3D点云的一切(例如,这些点属于已知形状和大小的对象,并且位于其上的已知位置),并且你已经将它们与它们的图像进行了匹配,那么这就是一个标准的"相机切除"问题:你只需解决使3D点投影到它们的图像上的相机外部参数。

如果你有多个图像,并且你知道相机移动时场景是静态的,并且你可以在每个相机位置将"足够"的3d点与它们的图像匹配,你就可以解决相机的姿势问题。你可能想从David Nister和/或Henrik Stewenius关于校准相机的解算器的论文开始,然后研究"束调整"。

如果你真的想了解这个(广阔的)主题,齐瑟曼和哈特利的书和任何一本书一样好。有关代码,请查看libmv、vxl和ceres bundle adjuster。

最新更新