
张正友标定法在Matlab中的应用详解.doc
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
本文档深入探讨了张正友标定法在Matlab软件中的具体实现方法和步骤,详细讲解了如何利用该方法进行相机参数校准,并提供了实例代码。
### Matlab张正友标定详解知识点总结
#### 1. 摄像机标定基本概念
**旋转矩阵(Rc_ext)与平移矢量(Tc_ext)**:
- **旋转矩阵(Rc_ext)**:描述物体在空间中的旋转状态,通过Rodrigues公式与旋转矢量(omc_ext)进行转换。公式表达为:[ Rc_ext = rodrigues(omc_ext)]。
- **平移矢量(Tc_ext)**:表示物体在空间中的平移信息。
**点坐标转换关系**:
- 物体在栅格坐标系(grid reference frame)中的坐标与在摄像机坐标系(camera reference frame)中的坐标之间的转换关系表达为:[ XX_c = Rc_ext cdot XX + Tc_ext],其中(XX)表示栅格坐标系中的坐标,(XX_c)表示摄像机坐标系中的坐标。
#### 2. 主点(cc)的概念
- **主点(cc)**:指的是CCD与光轴的交点,即摄像机焦点在视平面上的投影点。在图像坐标系中,主点与图像坐标的中心并不一定完全重合。Matlab中给出的主点坐标是以图像左上角为原点的坐标。
#### 3. 再投影(Reproject)与再投影误差(Reprojection Error)
- **再投影(Reproject)**:利用标定好的摄像机参数,将网格点(即物体上的特征点)重新投影到各个图像上,生成新图像的过程。
- **再投影误差(Reprojection Error)**:原图像上的特征点与再投影后对应点之间的差异。Matlab中通常通过不同的颜色区分不同的图像帧,以直观地展示再投影误差。
#### 4. 角点检测
- **重新计算特定图像的角点**:在不同的窗口尺寸下,重新检测并计算图像中的角点位置。
#### 5. 摄像机标定问题探讨
**焦距为何会有两个值?**
- 当使用Matlab进行摄像机标定时,输出的焦距有两个值,分别对应于像素在x、y两个方向的尺寸大小不一致的情况。这是因为即使物理焦距只有一个值,但由于像素尺寸在x和y方向可能不同,所以焦距在两个方向上的像素表示也会不同。
**像点位移与物点位移的关系**
- 假设已知像点位移,可以通过下面的公式推算出物点位移:[ O_x = 物距 cdot frac{像点位移 I_x}{焦距 f_{cr1}} ] 和 [ O_y = 物距 cdot frac{像点位移 I_y}{焦距 f_{cr2}} ]
其中,(O_x)和(O_y)分别为物点在x和y方向上的位移,(I_x)和(I_y)分别为像点在x和y方向上的位移,(f_{cr1}) 和 (f_{cr2}) 分别为在 x 和 y 方向上的焦距。
**像点旋转量与物点旋转量的关系**
- 如果已知像点的旋转量,可以通过下列公式推算出物点的旋转量:[ LO = (OD f) cdot LI ]
其中,(LO)为物面上的弧长,(LI)为像面上的弧长,(OD)为物距,(f)为焦距。
#### 6. 摄像机内参数(intrinsic parameters)
- **焦距(Focal Length)**:以像素为单位表示,存储在2×1的矢量(fc)中。
- **主点(Principal Point)**:主点坐标存储在2×1的矢量(cc)中。
- **倾斜系数(Skew Coefficient)**:x与y像素轴的夹角,存储在标量(alpha_c)中。
- **畸变(Distortion)**:图像畸变系数(包括径向和切向畸变),存储在5×1的矢量(kc)中。
**归一化点坐标与畸变校正**
- 给定一个在摄像机参考系坐标矢量(XX_c = [X_c; Y_c; Z_c])空间中的点(P),其归一化的针孔图像投影为(xn = [X_c Z_c, Y_c Z_c]^T = [x, y]^T)。
- 考虑透镜畸变后,新的归一化点坐标(xd)定义为:[ xd = (1 + kc(1)r^2 + kc(2)r^4 + kc(5)r^6) cdot xn + dx ]
其中,(dx)表示切向畸变矢量,且(dx = [2kc(
全部评论 (0)


