首先关于校正的基本知识通过OpenCV官网的介绍即可简单了解:
http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html
对于摄像机我们所关心的主要参数为摄像机内参,以及几个畸变系数。
1. 使用 Matlab 进行相机标定
1.1 原理推导
相机标定原理推导可参考:一文详解相机标定算法原理 推导过程很详细
1.2 标定图资源下载
标定板
两种方法,直接从opencv官网上能下载到:方案一:
http://docs.opencv.org/2.4/_downloads/pattern.png方案啊二:
matlab生成
J = (checkerboard(300,4,5)>0.5);
figure, imshow(J);
1.3 使用matlab 工具箱camera calibrator 流程
1.打开APP 工具,选择camera calibrator
2. 导入标定图片,直接全选图片,全部导入
填写棋盘格每个格子边长的真实值
Size of checkerboard square表示棋盘格中一个格子的尺寸,默认为25mm×25mm,需要根据自己所用棋盘格图案的实际尺寸修改;
总图像14张,添加7张, 添加失败7张,添加失败的原因可能是图像较远无法清晰识别出棋盘格,单击view images可查看为被添加进去的图像;
3. 开始分析计算
径向畸变选择3个系数(即Radial Distortion下选择3 Coefficients),勾选Skew,Tangential Distortior;
然后单击Calibrate进行标定
4. 结果如下
右上角Reprojection Errors显示重投影误差,右下角可切换视图(以相机为中心或以图像为中心)
5. 导出相机参数
单击Export Camera Parameters
可将相机参数导出,可在工作空间查看导出结果
双击cameraParams
即可看到相机各项参数 (这里我双击没点开,点开了属性检查器
评论(0)
您还未登录,请登录后发表或查看评论