MATLAB-相机标定

MATLAB-相机标定

这篇文章主要介绍如何使用Matlab进行相机,其实有很多方法可以实现相机的标定,比如使用OpenCV, ROS camera calibration 等等工具。但是我自己还是比较喜欢用MATLAB, 因为方便简单,只需要拍些照片,读取进去就直接能得到内参。

实现前提:安装了camera calibration 在Matlab

  1. 打印棋盘格 ,打印成A4 size, 可以在这里下载棋盘格,然后用标定相机,各个角度拍棋盘格,存起来待标定
    我打印的是:A4 - 25mm squares - 8x6 verticies, 9x7 squares
    25 mm 后面在导入图片时候要填的checkerboard square size

MATLAB-相机标定_第1张图片
2. 打开MATLAB Apps 下的 camera calibration 软件
MATLAB-相机标定_第2张图片

3.点击 add images
MATLAB-相机标定_第3张图片

4.填写棋盘格的大小,这个大小跟你下载的棋盘格有关
MATLAB-相机标定_第4张图片

5.选择所有图片并导入
MATLAB-相机标定_第5张图片
6. 导入成功后,点击Calibrate
MATLAB-相机标定_第6张图片
7. 拖动红色线,选择平均误差比较小(小于0.5)的图片
MATLAB-相机标定_第7张图片

8.然后点击Export Camera Parameters to workspace
MATLAB-相机标定_第8张图片
9. 回到Matlab 工作空间界面,你会看到有camera parameters, Intrinsics 里面就包括了相机的内参
MATLAB-相机标定_第9张图片
10. Intrinsics Matrix 就是内参矩阵, RadiaDistortion 就是径向畸变,TangentialDistortion 就是切向畸变
MATLAB-相机标定_第10张图片
11. 内参矩阵各个数值的含义,更多详情参考Matlab 官网
MATLAB-相机标定_第11张图片

你可能感兴趣的:(matlab,自动驾驶)