在相机校准中,我使用calibrateCamera()从校准模式的多个视图中查找相机参数。它准确地做了两件事:
1)闭合估计初始摄像头参数,假设镜头失真为零。
2)运行全局Levenberg-Marquardt优化算法以最小化重投影误差,这是使用projectPoints()完成的
现在,我不想只计算最小化的重投影误差,而是计算导致它的拟合参数。目前还没有返回无错误参数的函数。因此,我想我应该使用projectPoints()来获得重新投影的图像点,然后使用重新投影的图像点和世界点再次校准并获得无误差的参数。问题是,这不是我确定会给我输出的东西。有人能告诉我是不是这样吗?任何帮助都将不胜感激。
发布于 2020-05-30 17:36:03
Levenberg-Marquardt将为您提供对模型和数据能力的最佳估计。除非你的输入数据是无噪声的,并且你的模型复杂性与真实模型的复杂性相匹配,否则你不能获得没有错误的参数。
例如,您的模型是:x*2+y= z,其中x>0,x是整数
输入数据z={3}
根据您的初始值,Levenberg-Marquardt将给出:(x = 1,y= 1)或(x=2,y=-1)或...哪些是无错误的
但是,在输入z相同的情况下,如果您的模型为:x*2= z,其中x>0且x为整数
你不可能得到一个没有错误的参数
https://stackoverflow.com/questions/37937966
复制相似问题