Opencv 束调整函数

Opencv 束调整函数,opencv,camera,bundle,adjustment,Opencv,Camera,Bundle,Adjustment,如果我有一个已知的相机姿势(旋转+位置),和内在(失真系数和相机矩阵),以及两个相机从稍微不同的角度指向同一场景 有没有一种方法可以使用束调整来优化相机姿势?最好是在一些已经存在的API或函数中,DoeSend需要太多的数学知识才能使用。您可能想在上查看SSBA,但仍然需要一些数学知识才能正确使用它。您可以在OpenCV中尝试实现。它在contrib模块中。但我还不能让它正常工作/ 您应该使用。这是一个很好的库,它是用C++编写的。此外,它还具有多核计算甚至GPU计算的特点,其加速比约为20倍

如果我有一个已知的相机姿势(旋转+位置),和内在(失真系数和相机矩阵),以及两个相机从稍微不同的角度指向同一场景


有没有一种方法可以使用束调整来优化相机姿势?最好是在一些已经存在的API或函数中,DoeSend需要太多的数学知识才能使用。

您可能想在上查看SSBA,但仍然需要一些数学知识才能正确使用它。

您可以在OpenCV中尝试实现。它在contrib模块中。但我还不能让它正常工作/ 您应该使用。这是一个很好的库,它是用C++编写的。此外,它还具有多核计算甚至GPU计算的特点,其加速比约为20倍

它结构清晰,易于使用


因此,不要使用或应该使用。

试试Ceres解算器。提供了一个示例实现。同样,您需要了解束调整的数学原理。但这是不可避免的。

事实上它已经消失了,你仍然可以从本报告的子目录中获得SSBA 3.0的代码:在撰写本文时,它仅限于全景图像,因此,如果你做一些翻译,例如,结果很糟糕。我想反对全景图像的一般概念,即仅假设摄像机旋转。仅仅因为摄影机帧投影到球体上并不意味着必须以这种方式捕捉它们。我认为当前OpenCV实现中的一个缺陷是,HomographyBaseDestinator和BundledJustErrorProj以及BundledJustErray都假设了旋转运动模型。当运动模型是仿射的时候,我希望有其他方法来解决更一般的问题。PBA优化得很好,速度也很快,但支持SSBA的功能较少(例如fx/fy)。选择哪一个取决于您正在处理的问题。