matlab相机标定

昨天使用opencv进行相机标定出了各种各样的问题,浪费了大量的时间!!!

在老师的推荐下,初步使用了matlab进行标定,体验良好,实在太好用了!!!!不多说,开始上步骤:

1.下载安装matlab

安装包和具体步骤百度有,我这里使用的是matlab7.0

2.下载相机标定工具箱,下载网址和实例教程如下:

http://www.vision.caltech.edu/bouguetj/calib_doc/index.html

下载完成好,将下载包解压到matlab目录下的ToolBox文件夹下,我重新把文件夹重新命名为calib,

然后,在matlab中添加该目录,就可以直接调用了,过程如下:File-->Set path-->Add Folder,之后添加该目录完成了

matlab相机标定

3.开始标定

3.1打开工具箱

命令行中输入calib打开工具箱

matlab相机标定


3.2选择模块

图片数目较小时(小于20),选择Standard标准模式,否则选择第二个,点击后出现下面窗口

matlab相机标定

3.3选择图片目录

将目录改到拍摄的图片目录,如图所示。

matlab相机标定

选中后,会自动出来目录下的图片

3.4读入图片

点击标定工具箱的 Image names

matlab相机标定

首先是输入系列图片名字,不要输入其中的序号,比我的的图片是01,02这样的,直接省略不输入,直接回车

其次是输入图片格式,我的是bmp文件,输入b

然后会自动读入图片了

3.3选择角点

点击工具箱的Extraction  grid corners按钮

matlab相机标定

首先是选择要进行下一步的图片数目,如果是所有图片,直接回车

其次选择标定图标的大小,也就是一会鼠标选择角点是,鼠标指点的大小,我选择的是5X5的

再然后是窗口大小11X11

最后一个为是否选择自动选中方块数目引擎,这里使用了自动引擎,不用手动输入x,y方向的方块数目,直接回车就好

接下来选择标定板的四个角点就好,如图所示:

matlab相机标定

选择这样的四个角点,左上角作为第一个点,顺时针选择其余三个就好,接下来继续进行选择

matlab相机标定

首先是每个方框的大小,在这里使用的x X y的大小为30X30

剩余的两个选项是关于相机畸变的,目前菜鸟不太会,直接跳过了,角点识别出来如图所示:

matlab相机标定

接下来继续同样步骤设置其他图片,大同小异,部分步骤被省略

3.4开始标定

角点提取完成后,点击Calibration开始标定,标定完成后,点击save软件进行保存,相机的参数即被保存下来。


如此便使用matlab简单完成了相机标定,实在是比opencv方便多了。