以下都是按照默认options设置执行的流程:
在根据几个样本点来计算时都先对数据点进行了归一化操作,引入的根号2缘由是?
1.进入BundlerApp::BundleAdjustFast(),最高层函数调用,快速之意应该是使用了sba;
2./* Compute epipolar geometry between all matching images */
void BundlerApp::ComputeEpipolarGeometry(bool removeBadMatches, int new_image_start)
ComputeEpipolarGeometry(i, j, removeBadMatches);/* Compute epipolar geometry between a given pair of images */
/* Estimate an F-matrix from a given set of point matches */
std::vector<int> EstimateFMatrix(...)
/* Use RANSAC to estimate an F-matrix */
int estimate_fmatrix_ransac_matches(...)
起始随机选择8个种子点作为计算,计算出F之后统计inlier的比率小于0.95就重新选择种子点计算
/* Use linear least-squares to estimate the fundamantal matrix */
int estimate_fmatrix_linear(...)