相机标定之OpenCV&Matlab

Camera Calibration

1.OpenCV Camera Calibration

OpenCV提供具体的标定策略和说明文档,可以直接使用,说明文档的位置"D:\opencv\sources\doc\tutorials\calib3d\camera_calibration";

例程的位置“D:\opencv\sources\samples\cpp\camera_calibration.cpp”

如何使用例程呢?首先修改配置文档xml




  
  7
  7
  
  
  50
  
  
  "CHESSBOARD"
  
  
  "./vtDirTest.xml"
  
  0
  
  
  100	
  
  
  25
  
   1 
  
  1
  
   1 
  
  
  "out_camera_vt.xml"
  
  1
  
  1
  
  1
 

大概修改上述标注的几个位置,然后运行camera_calibration.cpp即可;

工程下载地址

参考【1】 【2】

因为据说使用Matlab的工具箱进行标定会比较准确,所以计划对比测试两种标定方式;

2.Matlab Calibration

参考【3】 【4】

首先下载toolbox_calib.zip,在【3】中有下载链接;解压之后放在工作目录下,同时跟随【4】进行标定,叙述很详尽;

但因为内容较多,现简略叙述:

2.1 启动标定工具箱

运行calib.m,选择图像载入模式

相机标定之OpenCV&Matlab_第1张图片

当图像量大且多时需要使用第二种方式;此处选择标准模式为例:

相机标定之OpenCV&Matlab_第2张图片

2.2 载入图像

进入图像所在目录,然后点击Image names按钮

相机标定之OpenCV&Matlab_第3张图片

首先输入标定图像序列的名称前缀(不包含数字序号)如上方式,然后选择格式;ok;

相机标定之OpenCV&Matlab_第4张图片

2.3 提取角点

点击Extract grid corners按钮,在命令窗口如下述

相机标定之OpenCV&Matlab_第5张图片

直接回车,将选择默认模式;窗口的大小为11×11,然后在对每一幅测试图档进行手动设置最外围的四个角点

按逆时针顺序进行选择

相机标定之OpenCV&Matlab_第6张图片

此时需要设定每个小方格在现实世界中的宽高,以便随后角点的自动选择;

此处设定为30mm×30mm;只需第一次设定;

相机标定之OpenCV&Matlab_第7张图片

相机标定之OpenCV&Matlab_第8张图片

然后每一幅图像都需要设置外围的四个角点,这样会不会手酸???

若已经做过一次,可点击load选项,会自动载入Calib_Results.mat中的角点信息;

2.4 标定

在所有的图档都已经角点提取完毕之后,点击Calibration进行标定;

相机标定之OpenCV&Matlab_第9张图片

说明

A. 通过Recomp. corners按钮提高标定精确度;

B. Analyse error展示角点误差分布,用鼠标左键点击后,在命令窗口可直接显示该点信息;

相机标定之OpenCV&Matlab_第10张图片

C.Add/Suppress images 去除不需要的图档;

D. Show Extrinsic模拟每幅图像采集时的相对相机的位置角度;

相机标定之OpenCV&Matlab_第11张图片

其他的慢慢探索,文档【3】【4】相当详细;

为便于后续查找,也上传一份toobox及图档;下载地址


4.Halcon标定步骤

【5】 方法一

【6】 方法二









你可能感兴趣的:(Image,Algorithm)