OpenCV:相机标定示例程序的使用


本文本家儿要介绍OpenCV自带标定规子的利用方式 。
OpenCV包含两种标定文件:
calibration.cpp:是经由过程用户输入可选参数进行相机标定的法式;
calibration_artificial.cpp:是用法式模拟相机标定的过程, 用法式建立棋盘然后自立标定 。
【OpenCV:相机标定示例程序的使用】凡是, 由相机采集棋盘格图像后进行标定, 本文以calibration.cpp为例介绍标定方式;

OpenCV:相机标定示例程序的使用

文章插图

需要这些哦
opencv 2.4.10
方式/
1标定文件路径:
calibration.cpp 和 calibration_artificial.cpp位于opencv下sources//samples//cpp文件下;
棋盘个标定图片具有不异路径;
如图所示:

OpenCV:相机标定示例程序的使用

文章插图

OpenCV:相机标定示例程序的使用

文章插图

2生当作标定图像列表
OpenCV自带imagelist_creator.cpp文件生当作xml/yaml图像列表;
是以, 起首采用imagelist_creator.cpp将棋盘格标定图像生当作imagelist.yaml文件 。
具体

①新建项目ex, 添加文件imagelist_creator.cpp, 编译获得demo.exe可执行文件;
②找到ex.exe, 打开号令窗口, 输入号令:
输入号令:demo.exe imagelist.yaml  left01.jpg left02.jpg left03.jpg left04.jpg left05.jpg left06.jpg left07.jpg left08.jpg left09.jpg left010.jpg left11.jpg left12.jpg left13.jpg left14.jpg right01.jpg right02.jpg right03.jpg right04.jpg right05.jpg right06.jpg right07.jpg right08.jpg right09.jpg right10.jpg right11.jpg right12.jpg right13.jpg right14.jpg
③回车执行ex.exe, 生当作imagelist.yaml文件 。

OpenCV:相机标定示例程序的使用

文章插图

OpenCV:相机标定示例程序的使用

文章插图

3相机标定

①移除imagelist_creator.cpp, 添加calibration.cpp标定法式;将图片放在ex.exe当前目次下;
②打开calibration.cpp, 将mode=DETECTION改当作mode=CALIBRATED;
③编译法式获得标定可执行文件ex.exe;
④打开号令窗口, 输入号令:ex.exe -w 6 -h 9 imagelist.yaml;
⑤法式运行, 获得out_camera_data.yml 文件;

OpenCV:相机标定示例程序的使用

文章插图

OpenCV:相机标定示例程序的使用

文章插图

OpenCV:相机标定示例程序的使用

文章插图

4标定法式的另一种利用方式:
以上方式的错误谬误是:法式不克不及进行单步伐试;
另一种利用方式:法式里添加输入参数, 然后运行调试法式;
①将图片和imagelist.cpp放到目次下;
②添加代码, 点窜法式, 如下:
argc = 6;
argv[0] = "ex.exe";
argv[1] = "-w";
argv[2] = "6";
argv[3] = "-h";

推荐阅读