Matlab相机标定

本文主要介绍,Matlab工具箱的使用,过程简单明确,超详细。

准备工作

系统:win10
Matlab版本:Matlab2013a
工具箱下载http://download.csdn.net/download/linxid/10034581
所用图片下载
项目介绍http://www.vision.caltech.edu/bouguetj/calib_doc/该版本较低的Matlab需要安装工具箱,工具箱开发的最初网站便是这个。对于之后的更高版本,相机标定已经被集成自Matlab中,并且实现图形化,很容易实现。

参考教程
http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example.html

一 工具箱实现(低版本Matlab)

1.环境配置

  • 1.从上面的链接中,下载工具箱,然后解压,得到文件夹TOOLBOX_calib;
  • 2.将文件夹放在Matlab的工具箱总文件中,我的文件路径为:C:\Program Files\MATLAB\R2013a\toolbox,放在这个目录里即可。
  • 3.将文件夹路径,也就是C:\Program Files\MATLAB\R2013a\toolbox\TOOLBOX_calib,添加进Matlab工作路径,如下图所示:
    image.png
    依次是:Set Path->Add Folder To Path。然后选择放置工具箱的路径。

2.文件配置

无非就是图像文件* calib_example*,将文件解压,放在上述工具箱的文件中。

这个没有一定要求,重点是要选择工作文件路径。 此处很多教程没有强调,会出现error。如图所示,进行修改:
image.png

3.实际操作,进行标定

1.calib_gui
命令行窗口输入calib_gui,跳出下面的窗口:
image.png
2.Standard
标准标定方式,得到下面窗口:
image.png

3.Image names
会得到刚才保存的图像,如果图像那一步出了问题,这里就会报错。点击后命令行窗口会出现:
image.png
也就是识别到了图片。窗口提示输入Basname和图片格式(比如你图片文件名是right01, right02, …, right12,basename就是right,图片格式如:jpg)。该例子就是Basename:Image;Image format:tif。输入后会进行图片读取。
image.png
4.Extract grid corners
提取角点,接下来按几次Enter即可,选择默认输入。
下面解释出现的几次输入选择:
Number(s) of image(s) to process ([] = all images) =:处理图像数目
Window size for corner finder (wintx and winty): 棋盘角点搜索窗口大小
5.提取角点
几次Enter过后,会出现第一张图片
image.png
然后按顺序(顺时针或逆时针)标出,四个内格点,如图所示:
image.png
标定后的会出现下面的窗口:
image.png
6.输入棋盘格的实际大小
这一步很重要,定义了空间尺度。不能照搬硬套,对于不同的教程使用的图片不同,方格的实际大小可能也会不同,本例所用图片大小是30mm。
image.png
随后程序会自动标注其他的角点,比较是否正确。
image.png
确定后,在命令行输入Enter。随后效果图如图所示:
image.png
7.对其余20张图片标注角点
这一步比较繁,不过很快就结束了,一次如上一步进行就好了。可以得到20张图的标注情况。这一步说起来简单,用的时间反而是比较长的。
8.Calibration
真正的相机标定来了,点击后,命令后窗口便可以得到标定数据。标定后的相机数据为:image.png
9.Show Extrinsic
可视化标定结果,可以显示标定的一些外部参数。点击右下角可以进行视角切换。
image.png

image.png
两幅图像的差别就是保持谁不变,选定的视角不同。
10.Analyse Error
误差分析

二 自带工具实现(较高版本)

可参考下列教程,集成进Matlab,整个过程很简单,上面的图片依然可以使用。
http://blog.csdn.net/heroacool/article/details/51023921
Matlab官网的介绍和视频教程如下:
https://cn.mathworks.com/videos/camera-calibration-with-matlab-81233.html

欢迎一起交流,疏漏之处还请指出,后续补充…..

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

linxid

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

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

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

打赏作者

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

抵扣说明:

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

余额充值