我使用OpenCV和MATLAB校准了一个带棋盘图案的相机。我分别在OpenCV和MATLAB中获得了 .489 和。 187 的均值重投影错误。从它的外观来看,MATLAB更精确。但我的顾问认为MATLAB和OpenCV都使用相同的BOUGET算法,并应报告相同的错误(或关闭)。是这样吗 ?有人可以用MATLAB和OpenCV相机校准方法解释差异吗?
谢谢!
答案 0 :(得分:2)
您的顾问是正确的,因为MATLAB和OpenCV使用的校准算法基本相同。但是,MATLAB使用Levenberg-Marquardt非线性最小二乘算法进行优化(参见documentation),而OpenCV使用梯度下降。我猜这可以解释重投影错误的大部分差异。
此外,MATLAB和OpenCV使用不同的算法进行棋盘检测。