使用matlab进行相机标定

  1. 1. 标定前提与工具准备
  2. 2. 1.进入matlab,打开工具包
  3. 3. 2.导入图片
  4. 4. 3.确认输入方格尺寸
  5. 5. 4.进行标定,降低方差
  6. 6. 5.导出相机参数
  7. 7. 6.注意事项
  8. 8. REFERENCE:

大三GRP本人任务之一便是给相机进行标定,操作简单,但还是简单记一下

本文不深入探究相机内参计算方法,只讲相关工具/包调用

标定前提与工具准备

  • 下载好matlab2023a,并在APP一栏下载好camera calibration工具
  • 使用目标相机提前拍摄10-20张标定板照片,尽量不同角度

1.进入matlab,打开工具包

点击上方app,寻找并选择camera calibration

2.导入图片

选择上方Add images
选中图片加入
请注意图片尺寸及分辨率的统一,不可一张横着一张竖着,否则会报错

3.确认输入方格尺寸

  • 选择标定板的种类及尺寸,比如我的就是棋盘板
    这里的16是指棋盘格单个格子边长16毫米
    开始逐个读取图片
    出现这个画面,表示22张图片里有4个不完全正常,0张不可用

4.进行标定,降低方差

点击上方calibrate按钮进行标定

  • 此时可以看到下图已经标定完成,窗口右侧的条状图是标定方差
    这张图较为模糊所以方差比较大
  • 一般平均方差只有小于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,并注意手机内置拍照/录像各种算法及录像时的画面裁切
  • 标定板要尽可能减少反光,平整,精准,像我这样打印出来贴纸板上就是下下下下策。

REFERENCE: