相机校准结果:为什么它与输入类似?

时间:2014-02-25 13:33:02

标签: c++ opencv image-processing camera camera-calibration

我使用opencv附带的示例代码来校准我的笔记本电脑网络摄像头。

我从棋盘创建了大约82个图像,并使用代码处理它们。

结果如下:

This is a camera calibration sample.
Usage: calibration configurationFile
Near the sample file you'll find the configuration file, which has detailed help
of how to edit it.  It may be any OpenCV supported file format XML/YAML.
Re-projection error reported by calibrateCamera: 0.424482
Calibration succeeded. avg re projection error = 0.424483

|似乎平均投影误差与之前相同。为什么会这样?

如何创建地图以将未校准的图像转换为校准图像?

1 个答案:

答案 0 :(得分:1)

校准工具应生成XML / YML文件,其中存储了相机系数K和失真系数D。您可以使用cv::FileStorage类(documentation link)加载这些系数。 This tutorial解释了如何使用此课程。

获得校准数据(矩阵K和失真系数D)后,您可以使用undistort函数(documentation link)生成镜头的理想图像失真得到纠正。

与您的第二个问题相关,控制台中显示的两个数字都是校准后重投影错误的估计值,一个是在校准过程结束时报告的,另一个是校准样本可执行文件报告的。