OpenCV摄像头标定(Calibration) 使用源代码

来源:互联网 发布:中国软件培训 编辑:程序博客网 时间:2024/05/16 23:41

本文记录使用opencv中samples/cpp中自带的calibration.cpp程序来校准摄像头。


第一步、打印棋盘图。可以自己写程序绘制,也可以随意下载一幅。在OpenCV的wiki中也有:http://wiki.opencv.org.cn/index.php/%E6%91%84%E5%83%8F%E5%A4%B4%E6%A0%87%E5%AE%9A


第二步、新建一个OpenCV工程,配置好环境,将sources/samples/cpp下的calibration.cpp选进工程并编译,生成可执行文件。假设命名为calib.exe


第三步、将摄像头对着棋盘图从多个视角拍摄照片。拍摄15~20张即可。建立.xml文件,格式如下:

<?xml version="1.0"?>
<opencv_storage>
<images>
"D:\opencv\calib1.jpg"
"D:\opencv\calib2.jpg"

……
"T:\opencv\calib20.jpg"
</images>
</opencv_storage>

将此文件保存在calib.exe同目录下。假设命名为img.xml。


第四步、打开一个命令行,导航至calib.exe目录下,使用指令:calib.exe -w <width> -h <height> -s <squre_size> -o camera.yaml -op -oe -su img.xml

其中<height>和<width>分别是纵向和横向格数减一。<square_size>是方格尺寸。


执行之后,会进行逐图片的角点提取,最后会生成一幅无扭曲的图像。

同时校准文件也生成在同目录下,为camera.yaml。

0 0
原创粉丝点击