Opencv 圆形标定板相机标定

        首先,需要拍摄一定数量的标定图,尽量从各个角度拍摄,尽可能遍布相机图像画面的所有角落,所用标定板为圆点标定板,我拍摄的图片数量是17幅,分别命名为“image1”到“image17”。

         得到标定图之后可以使用opencv自带例程中的imagelist_creator.cpp和calibration.cpp进行标定;其所在位置如下图:

第一步编译imagelist_creator.cpp;

       imagelist_creator.cpp:是通过用户输入图像名称编写图像列表的程序;

      创建一个新的工程imageListCreator,并添加imagelist_creator.cpp,配置好OpenCV环境,我的是Debug x64,在工程imageListCreator目录(...\imageListCreator\x64\Debug)下生成imageListCreator.exe文件(**.exe文件可以任意命名,我此处命名为imageListCreator.exe)。

 按win+R打开运行,输入cmd打开命令提示符;

找到...\imageListCreator\x64\Debug文件夹下;

 使用cmd命令行运行**.exe,参数格式为:**.exe  image_list.xml image1.bmp image2.bmp image3.bmp image4.bmp image5.bmp image6.bmp image7.bmp image8.bmp image9.bmp image10.bmp image11.bmp image12.bmp image13.bmp image14.bmp image15.bmp image16.bmp image17.bmp;

在...\imageListCreator\x64\Debug文件夹下,生成一个新的文件imagelist.xml 

第二步移除imagelist_creator.cpp,添加calibration.cpp得到**.exe,

 ps:一开始在找calibration.exe。但怎么都找不到,后来突然醒悟我这个工程名是imageListCreator啊,所以生成的仍然是imageListCreator.exe ,如下图所示:

 

在命令提示符中使用cmd命令运行**.exe  参数格式为:**.exe  -w=7 -h=5 -pt=circles -o=camera.yml -op -oe -su image_list.xml

      

标定的结果就在camera.yml中。

   参数解析:

-w表示横向特征点的个数    -h表示纵向特征点的个数    -pt表示类型,可以是棋盘或者圆点   -o表示输出。

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&Mr.Gong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值