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,之后添加该目录完成了


3.开始标定

3.1打开工具箱

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



3.2选择模块

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


3.3选择图片目录

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


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

3.4读入图片

点击标定工具箱的 Image names


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

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

然后会自动读入图片了

3.3选择角点

点击工具箱的Extraction  grid corners按钮


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

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

再然后是窗口大小11X11

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

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


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


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

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


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

3.4开始标定

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


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

猜你喜欢

转载自blog.csdn.net/sinat_39411798/article/details/80336179
今日推荐