Matlab 相机标定

详细的原理可以看这篇 计算机视觉-相机标定,写的很赞


Step1.  准备

首先准备打印好的黑白棋盘格图片,并且保证表面的平整,例如35*35的棋盘格,贴在亚克力板上。

Step2.  拍摄

用相机拍摄棋盘格分别在取景框左上角、右上角、左下角、右下角和中间的照片(也可以多拍一些在其他位置的)。

照片没有存下来qwq之后再更新

Step3. 标定

Matlab有现成的相机标定功能:

Matlab 相机标定_第1张图片

选择Camera Calibrator,加入拍摄好的照片,界面如下:

Matlab 相机标定_第2张图片

 例如本文使用的棋盘格树35*35的,参数就要改成对应的35mm,图像畸变属于轻微程度。确认后,matlab将自动识别标定图像方格。

需要注意的是,我们要手动检查图像数据集中是否有明显标错的,或者xy轴方向和其他图像不一致的情况,并删除异常图片。

之后的步骤因为莫得图像不能进行qwq有图了更新

在Options中选择Radio Distortion: 3 coefficients(3阶切向畸变)和Compute:空

选择Calibrate,开始计算:

Matlab 相机标定_第3张图片

平均重投影误差需要在0.5以下,该图明显低于0.5,所以所有图片均可用。

完成筛选后,确定并关闭Camera Calibrator界面。

Step4. 导出

matlab代码:

format long
cameraParams.IntrinsicMatrix	
cameraParams.RadialDistortion
cameraParams.TangentialDistortion

导出相机内参和外参矩阵。 

 

你可能感兴趣的:(数码相机)