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方便多了。