我有一个python脚本,它使用calibratecamera2方法从棋盘的几个视图中校准相机。经过一个成功的校准,我去所有的原始点,并做一些绘图,并再次计算重新投影误差。我感到惊讶的是,opencv和我的重投影误差有点不同。我觉得很奇怪。我用错误的方法计算它吗?
obj_points = []# 3d point in real world space.List
我目前正在使用OpenCV C++库进行相机校准,这似乎非常好。正如在openCV documentation中提到的,calibrateCamera运行LM优化,通过改进单应性将重投影误差降至最低。我理解这个理论,但是,我必须恢复在每个LM迭代中计算的数据来绘制每个迭代中重投影误差的演变,我真的看不到如何做到这一点,here is a figure显示了一个例子,我瞄准的