大三GRP本人任务之一便是给相机进行标定,操作简单,但还是简单记一下
本文不深入探究相机内参计算方法,只讲相关工具/包调用
标定前提与工具准备
- 下载好matlab2023a,并在APP一栏下载好
camera calibration
工具 - 使用目标相机提前拍摄10-20张标定板照片,尽量不同角度
1.进入matlab,打开工具包
2.导入图片
请注意图片尺寸及分辨率的统一,不可一张横着一张竖着,否则会报错
3.确认输入方格尺寸
- 选择标定板的种类及尺寸,比如我的就是棋盘板
4.进行标定,降低方差
- 此时可以看到下图已经标定完成,窗口右侧的条状图是标定方差
- 一般平均方差只有小于0.25最终数据才有效,此时我们需要勾选方差较大的图片,右键删除并重新标定,如下图
5.导出相机参数
- 先点击窗口上方
Export Camera Parametor
,保存名称默认 - 再回到matlab主窗口,输入
cameraParams.IntrinsicMatrix
获得相机内参 - 内参矩阵内容:[[focal_length_pixelsX, 0, cx],[0, focal_length_pixelsY, cy], [0, 0, 1]] (一个[]是一列)
6.注意事项
- 还有很多参数可以从中获得,比如:
- 内参矩阵 Intrinsic Matrix
- 焦距 Focal Length
- 主点 Principal Point
- 径向畸变 Radial Distortion
- 切向畸变 Tangential Distortion
- 旋转矩阵 Rotation Matrices
- 平移向量 Translation Vectors
- 平均重投影误差 Mean Reprojection Error
- 重投影误差 Reprojection Errors
- 重投影点 Reprojected Points
- 如果是给手机相机进行标定,请不要zoom in,使用defualt setting,并注意手机内置拍照/录像各种算法及录像时的画面裁切
- 标定板要尽可能减少反光,平整,精准,像我这样打印出来贴纸板上就是下下下下策。