内参标定中,PP 中心怎么计算 ,用C++代码 ,内参矩阵K, 畸变矩阵D
时间: 2024-02-01 17:15:12 浏览: 88
opencv相机标定(可输出内参、畸变系数和外参)
PP中心是图像平面的主点,是相机光轴与图像平面的交点,通常用于相机的校准和畸变矫正。
在计算PP中心之前,需要先将图像的像素坐标系转化为归一化坐标系。假设图像中心为(Cx, Cy),像素坐标为(x, y),焦距为f,则像素坐标系到归一化坐标系的转换为:
```
X = (x - Cx) / f
Y = (y - Cy) / f
```
PP中心的计算公式为:
```
u0 = K(1, 3) / K(1, 1)
v0 = K(2, 3) / K(2, 2)
```
其中,K为内参矩阵,(u0, v0)即为PP中心的坐标。
以下是C++代码示例:
```cpp
// 像素坐标系转归一化坐标系
double u = (x - cx) / fx;
double v = (y - cy) / fy;
// 计算PP中心
double u0 = K.at<double>(0, 2) / K.at<double>(0, 0);
double v0 = K.at<double>(1, 2) / K.at<double>(1, 1);
```
其中,cx、cy、fx、fy分别为内参矩阵K中的参数。如果存在畸变,则需要先对(u, v)进行畸变矫正,再计算PP中心。
阅读全文