在位姿部分运行之前,前后两帧的位姿匹配已经完成,有p_match文件
estimationMotion函数:完成位姿估计任务,并返回R,t的值rt_delta
vector rt_delta = poseCompute.estimationMotion(p_matched);
estimationMotion函数,首先通过左右两帧的匹配,完成对于当前帧中匹配点的3维坐标表示
// project matches of previous image into 3d//这一段是从双目得到相机坐标系下空间点的坐标表示
for (int32_t i = 0; i<N; i++) {
double d = max(p_matched[i].u1p - p_matched[i].u2p, 0.0001f);
X[i] = (p_matched[i].u1p - param.calib.cu)*param.base / d;
Y[i] = (p_matched[i].v1p - param.calib.cv)param.base / d;
Z[i] = param.calib.fparam.base / d;
}
调用getRandomSample,完成随机取样
vector<int32_t> active = getRandomSample(N, 3);