opencv3.4.0 + vs2015 + win10 单目相机标定[步骤详解]

(1)首先,按照这个教程进行opencv在vs2015下的配置
https://www.cnblogs.com/aiguona/p/9370433.html
(上面教程虽是opencv3.2.0,但其实是一样的流程,仅仅只需最后一步留意即可)
配置过程,其实就是‘指明文件路径的过程’


(2)配置成功后,记住我们之前opencv解压(安装)的路径。
我的解压根目录为:D:\opencv
在这里插入图片描述
红色的文件是因为我没有在命名时标注opencv版本,为了提醒自己自己创建的,可以忽略。

OpenCV sample目录下自带两个与相机标定的cpp文件即:calibration.cpp和calibration_artificial.cpp
calibration.cpp 是通过用户输入可选参数进行摄像机标定的程序。
calibration_artificial.cpp 是程序模拟模拟摄像机标定的过程,即程序创建棋盘然后自主标定。

通常我们有两种方式去标定,一个是实时的从摄像机获取拍摄到的棋盘进行标定,一个是已经获得了一些棋盘的图片来标定。

本文详细介绍第二种,即用已获得的棋盘图片的整个过程。


calibration.cpp 和 calibration_artificial.cpp 位置如图所示。
在这里插入图片描述
我们所需的标定棋盘图片在:(低版本可能在与上述cpp文件相同的目录下)
在这里插入图片描述


找到我们所需的文件和图片后,接下来就可以进行标定的工作了


一:通过opencv自带的imagelist_creator.cpp 生成一个yaml格式的图片列表

1:创建opencv340_demo项目,将模式调为 x64
在这里插入图片描述
由于是新建的项目,我们还需如最初在vs中配置opencv一样,在属性管理器中进行项目的配置,配置下3处:

1:vc++目录/包含目录
2:vc++目录/库目录
3:链接器/输入/附加依赖项

2:添加imagelist_creator.cpp文件到项目源文件中:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

右键项目,点击生成, 在项目工作目录D:\vs2015workspace\opencv340_demo\x64\Debug
中获得opencv340_demo.exe文件
在这里插入图片描述
在这里插入图片描述

在该目录下,按shit + 右键, 点击‘在此处打开PowerShell 窗口’
输入:

.\opencv340_demo 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 

在这里插入图片描述
即可生成相应的图片列表文件,图片列表的生成主要历依赖于输出的参数列表
在这里插入图片描述
在这里插入图片描述


得到yaml文件后,将28中图片拷贝到debug目录下,然后在项目中移除imagelist_creator.cpp 添加 calibration.cpp ,如图所示
在这里插入图片描述
再次点击 生成, 可能会报错

只需在代码前面上,加入

#pragma warning(disable:4996)

在这里插入图片描述
然后,在powershell中输入下面的命令,进行相机的标定

.\opencv340_demo -w=6 -h=9 .\imagelist.yaml

在这里插入图片描述
得到 out_camera_data.yml
在这里插入图片描述
在这里插入图片描述


上述方法是在命令行中输入参数,直接进行运行的,不能进行调试。
我们可以将这些参数写在程序的 main函数中,就可以在vs中点击运行和调试了。

步骤:
1:在main函数中添加

	argc = 4;
	argv[0] = "opencv_340_demo.exe";
	argv[1] = "-w=6";
	argv[2] = "-h=9";
	argv[3] = "imagelist.yaml"; 

在这里插入图片描述

2: 将28张图片和imagelist.yaml文件复制到 …/vs2015workspace/opencv340_demo/opencv340_demo中
在这里插入图片描述
3:重新生成后,点击运行,即可得到out_camera_data.yml文件
在这里插入图片描述

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值