CV:MATLAB和OpenCV相机校准技术的区别 [英] CV: Difference between MATLAB and OpenCV camera calibration techniques

查看:506
本文介绍了CV:MATLAB和OpenCV相机校准技术的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用OpenCV和MATLAB校准了带有棋盘图案的相机。我分别在OpenCV和MATLAB中获得了 .489 187 的平均重投影错误。从外观上看,MATLAB更精确。但我的顾问感觉MATLAB和OpenCV使用相同的BOUGET的算法,并应报告相同的错误(或关闭)。是这样吗 ?有人可以解释b / w MATLAB和OpenCV相机校准方法的区别吗?

I calibrated a camera with checkerboard pattern using OpenCV and MATLAB. I got .489 and .187 for Mean Re-projection errors in OpenCV and MATLAB respectively. From the looks of it, MATLAB is more precise. But my adviser feels both MATLAB and OpenCV use the same BOUGET's algorithm and should report same error (or close). Is it so ? Can someone explain the difference b/w MATLAB and OpenCV camera calibration methods ?

谢谢!

推荐答案

您的顾问是正确的,因为MATLAB和OpenCV使用基本相同的校准算法。然而,MATLAB使用Levenberg-Marquardt非线性最小二乘法算法进行优化(参见文档),而OpenCV使用渐变下降。

Your adviser is correct in that both MATLAB and OpenCV use essentially the same calibration algorithm. However, MATLAB uses the Levenberg-Marquardt non-linear least squares algorithm for the optimization (see documentation), whereas OpenCV uses gradient descent. I would guess that this accounts for most of the difference in the reprojection errors.

此外,MATLAB和OpenCV对棋盘检测使用不同的算法。

Additionally, MATLAB and OpenCV use different algorithms for checkerboard detection.

这篇关于CV:MATLAB和OpenCV相机校准技术的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆