Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 一组三维模型点与其图像投影之间的对应关系_Image Processing_Opencv_Computer Vision - Fatal编程技术网

Image processing 一组三维模型点与其图像投影之间的对应关系

Image processing 一组三维模型点与其图像投影之间的对应关系,image-processing,opencv,computer-vision,Image Processing,Opencv,Computer Vision,我有一组3-d点和一些带有这些点投影的图像。我还拥有相机的焦距和带有投影的图像的主要点(由之前完成的相机校准产生) 在给定这些参数的情况下,有没有办法找到三维点和图像投影之间的自动对应关系?我查阅了一些OpenCV文档,但直到现在才找到任何合适的。我正在寻找一种方法,可以自动标记投影,从而确定投影与三维点之间的对应关系。问题不是很清楚,但我想你的意思是,你有相机的内在校准,但没有相机相对于场景的位置和姿态(“外在的”)校准的一部分) 如果只有一个图像,则对于一般三维点云,此问题没有唯一的解决方案

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


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

问题不是很清楚,但我想你的意思是,你有相机的内在校准,但没有相机相对于场景的位置和姿态(“外在的”)校准的一部分)

如果只有一个图像,则对于一般三维点云,此问题没有唯一的解决方案:请注意,如果沿光线将三维点投影到摄影机中的任意位置移动三维点,则图像不会更改

如果您有一个或多个图像,您知道3D点云的所有信息(例如,这些点属于已知形状和大小的对象,并且位于其上的已知位置),并且您已将它们与它们的图像匹配,则这是标准的“相机切除”问题:您只需解决使3D点投影到其图像上的摄影机外部参数

如果有多个图像,并且知道摄影机移动时场景是静态的,并且可以将“足够多”的3d点与其在每个摄影机位置的图像相匹配,则可以按比例求解摄影机姿势。你可能想从大卫·尼斯特和/或亨里克·斯图文纽斯关于校准相机解算器的论文开始,然后研究“束调整”


如果你真的想了解这个(广泛的)主题,齐瑟曼和哈特利的是最好的。对于代码,请查看和捆绑调整器。

我同意问题根本不清楚,但我不会说这是不可能的。您可以想象一些优化方法,以便找到将3d点投影到现有2d点的正确外部对象。或者,如果给出足够接近的估计值,束调整可以为您找到解决方案。我说过,对于一般的点云,这是不可能的。我应该说“这是一个不适定问题”,因为它有无限多个解,所有解都被定义为射影(因此oo^8解)。我知道这些点在其中一个点定义的坐标系中的位置;这些点是静态的,我有几个图像是由围绕这些点移动的相机拍摄的。我将研究一下你建议的材料。非常感谢。