OpenCV自带例程的相机标定

参考博客:
https://blog.csdn.net/little_baby2/article/details/90680689
https://blog.csdn.net/mars_xiaolei/article/details/88845836
环境
OpenCV版本:OpenCV4.2.0
VS版本:VS2017
操作系统:Windows10
标定过程
1.拍摄标定照片。选择棋盘格进行标定
在这里插入图片描述2.生成照片列表
在这里插入图片描述
新建项目添加现有项,打开opencv库在目录opencv\sources\samples\cpp中找到文件imagelist_creator.cpp,编译运行代码,在Debug文件中找到可执行文件.exe,
在这里插入图片描述
同时按WIN+R,输入cmd,打开命令行界面,进入exe所在的目录,输入以下命令,将图像文件名写入yaml文件中,系统会在exe所在的目录下自动生成imagelist.yaml文件。

biaoding.exe imagelist.yaml b_image1.jpg b_image2.jpg b_image3.jpg b_image4.jpg b_image5.jpg

执行后在该路径下生成imagelist.yaml,文件,用记事本打开补全所有图片。
在这里插入图片描述
2.开始进行相机标定。打开VIsual Studio 2017,新建项目添加现有项,在路径opencv\sources\samples\cpp中找到calibration.cpp,直接编译运行可能会报错“This function or variable may be unsafe”,按照https://jingyan.baidu.com/article/49711c616b8a1ffa441b7cdc.html解决问题,编译运行,得到可执行文件。
把imagelist.yaml和棋盘格图片跟可执行文件exe放在一起,同时按WIN+R,输入cmd,打开命令行界面,进入exe所在的目录,输入以下命令,开始检测棋盘格的交点,系统会自动生成out_camera_data.yml存储着相机标定参数。

biangding_result.exe -w=8 -h=5 -pt=chessboard -s=0.010 -o=out_camera_data.yml -op -oe imagelist.yaml

注意:w、h为角点个数,而非棋盘格个数,如下图w=8,h=5
在这里插入图片描述

out_camera_data.yml中的结果,如图,完成标定。在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值