我使用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
|似乎平均投影误差与之前相同。为什么会这样?
如何创建地图以将未校准的图像转换为校准图像?
答案 0 :(得分:1)
校准工具应生成XML / YML文件,其中存储了相机系数K
和失真系数D
。您可以使用cv::FileStorage
类(documentation link)加载这些系数。 This tutorial解释了如何使用此课程。
获得校准数据(矩阵K
和失真系数D
)后,您可以使用undistort
函数(documentation link)生成镜头的理想图像失真得到纠正。
与您的第二个问题相关,控制台中显示的两个数字都是校准后重投影错误的估计值,一个是在校准过程结束时报告的,另一个是校准样本可执行文件报告的。