标定相机参数

一、标定相机参数

1、相机标定步骤:

1、打印一张棋盘格,把它贴在一个平面上,作为标定物。
2、通过调整标定物或摄像机的方向,为标定物拍摄一些不同方向的照片。
3、在图片中检测特征点(Harris特征)。
4、利用解析解估算方法计算出五个内参和六个外参。
5、根据极大似然估计策略,设计优化目标并提升参数的估计精度。

2、相机标定原理:

1、标定照相机是指计算出该照相机的内参数,即计算矩阵K。如果你的应用要求高精度,那么可以扩展该照相机模型,使其包含径向畸变和其他条件。
照相机矩阵可以分解为:

P = K[R/t]
其中R是描述照相机方向的旋转矩阵,t是描述照相机中心位置的三维平移向量,内标定矩阵K描述照相机的投影性质。

而研究照相机之间或者特征之间一般是通过多视图几何,图像的特征一般是兴趣点。如果有一个场景的两个视图以及视图中的对应图像点,那么根据照相机间的空间相对位置关系、照相机的性质以及三位场景点的位置,可以得到对这些图像点的而一些几何关系约束。
我们可以借助F来恢复出照相机参数,而F可以从对应的投影图像点计算出来。

2、畸变(distortion)是对直线投影(rectilinear projection)的一种偏移。简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。畸变简单来说就是一条直线投影到图片上不能保持为一条直线了,这是一种光学畸变(optical aberration),可能由于摄像机镜头的原因。

3、张正友实现

1、张正友的方法只考虑了径向畸变,没有考虑切向畸变。
在这里假定模板平面在世界坐标系Z=0的平面上。根据旋转矩阵的性质,每幅图象可以获得以下两个对内参数矩阵的基本约束,由于摄像机有5个未知内参数,所以当所摄取得的图象数目大于等于3时,就可以线性唯一求解出。

2、用matlab实现,参考:(http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example.html

二、实验结果

标定相机参数
标定相机参数
标定相机参数
遇到的问题是我插入了15个图片,但是只识别出5张,其他的都插不进去,所以我用了另外一个方法:
参考博客:相机标定(Camera calibration)原理、步骤
(https://blog.****.net/lql0716/article/details/71973318?locationNum=8&fps=1)
可以得到如下实验结果:
标定相机参数
标定相机参数
标定相机参数可以根据直接点击这个有点类似工具箱的界面来选择要实现的功能:
标定相机参数